Insérer des valeurs de ma base de donnée dans un tableau à 2 dimenssions

Résolu
Varkan Messages postés 27 Date d'inscription mardi 9 juin 2009 Statut Membre Dernière intervention 17 mai 2011 - 5 mai 2011 à 10:45
mactnis44 Messages postés 1 Date d'inscription lundi 18 août 2008 Statut Membre Dernière intervention 5 mai 2011 - 5 mai 2011 à 19:32
Bonjour,

En ce moment je fais un projet très important et celui-ci consiste à faire un memory avec différentes images en PhpMysql.

J'ai une base de donnée avec une table "images" qui contient 2 colonnes "IDImages" et "LienImages".

Dans mon bout de code de ma page partie.php ci-dessous, je commence par initialiser mon tableau. J'ai ensuite une variable "$idinc" qui me permet d'incrémenter l'ID de l'image qui se trouve dans la BDD à l'aide d'une requête SELECT.

Je fais ensuite 2 boucles while pour remplir mon tableau a 2 dimensions et qui s'incrémente comme suite :

1.1, 1.2, 1.3, 1.4
2.1, 2.2, 2.3, 2.4
3.1, 3.2, 3.3, 3.4
4.1, 4.2, 4.3, 4.4

Pour une meilleure compréhension, voici mon bout de code :

$_SESSION["tblimg"] = array();

$idinc = 1; // Variable qui permet d'incrémenter l'id de l'image et passé à la suivante avec l'aide de la boucle while

$query ="SELECT * FROM images where IDImages = $idinc";
$result = mysql_query ($query) or die ("La requête à échoué");

while($ligne = mysql_fetch_row($result))
{
    $idinc = 1;
    $a = 1;
    while($a <= 4)
    {
        $b = 1;
        while($b <= 4)
        {
            $_SESSION["tblimg"][$a][$b] = $ligne["1"];
            $b++;
            $idinc++;
        }
        $a++;
    }
}


Et voici le résultat en image :



Le problème vient de ma variable "$idinc" initialisé au début... Mais je n'arrive pas à trouver une solution pour résoudre ce problème, j'ai essayé avec des "isset" des "if", enfin plusieurs méthode mais le problème est que cette variable doit être suivie par la requête sinon il y a une erreur.

Donc je suis complètement perdu et je ne sais vraiment pas comment faire...

Merci pour vos futurs réponses.

4 réponses

cs_ludwig59 Messages postés 128 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 6 mai 2011 2
5 mai 2011 à 10:55
Bonjour

Essai ceci

<?php

$_SESSION["tblimg"] = array();

/* on récupère toutes les images */
$query ="SELECT * FROM images";
$result = mysql_query ($query) or die ("La requête à échoué");

$a = 1;
$b = 1;

while($ligne = mysql_fetch_row($result))
{
$_SESSION["tblimg"][$a][$b] = $ligne["1"];
     $b++;
     if($b == 5)
     {
     	$b == 1; 
$a++;
      }
}

?>
3
cs_ludwig59 Messages postés 128 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 6 mai 2011 2
5 mai 2011 à 10:57
Oups !!

Il y a une erreur

if($b == 5)
{
    $b = 1; /* avec un seul '=' et non deux :) */
    $a++;
}
3
Varkan Messages postés 27 Date d'inscription mardi 9 juin 2009 Statut Membre Dernière intervention 17 mai 2011
5 mai 2011 à 11:18
Oh génial ça fonctionne Merci !! Tu m'as sauvé sérieusement merci beaucoup !!

Ma boucle n'était vraiment pas génial en fait...
0
mactnis44 Messages postés 1 Date d'inscription lundi 18 août 2008 Statut Membre Dernière intervention 5 mai 2011
5 mai 2011 à 19:32
J'espere que le problème est réglé
PhpLover

anis.. mac
0
Rejoignez-nous