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

Messages postés
27
Date d'inscription
mardi 9 juin 2009
Statut
Membre
Dernière intervention
17 mai 2011
- - Dernière réponse : 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.
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
128
Date d'inscription
lundi 21 avril 2008
Statut
Membre
Dernière intervention
6 mai 2011
2
3
Merci
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++;
      }
}

?>

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 201 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_ludwig59
Messages postés
128
Date d'inscription
lundi 21 avril 2008
Statut
Membre
Dernière intervention
6 mai 2011
2
3
Merci
Oups !!

Il y a une erreur

if($b == 5)
{
    $b = 1; /* avec un seul '=' et non deux :) */
    $a++;
}

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 201 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_ludwig59
Messages postés
27
Date d'inscription
mardi 9 juin 2009
Statut
Membre
Dernière intervention
17 mai 2011
0
Merci
Oh génial ça fonctionne Merci !! Tu m'as sauvé sérieusement merci beaucoup !!

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

anis.. mac
Commenter la réponse de mactnis44