13-11-2010, 10:05 PM
Bonsoir,
je savait pas quoi mettre dans le titre :heuuu:
C'est pas si dur que ca je pense, sauf que bon, on va dire que c'est le soir, c'est bientôt l'heure de dormir, le cerveau n'est pas a fond quoi iffle:
Non sérieux, ca fait deux trois jour que j'y suis dessus, et pourtant sa parait simple.
Bon entrons dans le vif du sujet !
J'ai une table Liste_batiments ou comme son nom l'indique, je fait la liste des batiments, voici la structure de la table :
id | nom | description
bon je ne pense pas que j'ai beaucoup besoin de détailler, la description est la description du bâtiment..
Une autre table, Batiments_acquis, ou je liste les bâtiments que chaque membres a acheter, les bâtiment acquis (débloquer) donc. Cette table se présente ainsi :
id | id_batiments | id_membres | niveaux
id_batiments = id de la table Liste_batiments
id_membres = id d'une table Membres
niveaux = niveau du bâtiments
Lorsque sur une page je veut afficher la liste des bâtiments, avec en fonction si le membre possède le bâtiment ou pas 'Entrer' ou 'Construire', il y a deux fois afficher la même chos, et ceci juste pour un bâtiment pas tous >.<
J'arrive pas à trouver le problème, je vous montre mon code (php) :
quand je fait un var_dump($donnees_acquis['id_batiments']); à la fin du premier while, j'obtiens (int)1 et (int)2 jusque la niquel.
mais quand je fait un var_dump($donnees_bloquer['id']); a la fin du second while, j'obtiens (int)1 (int)3.
la ce n'est pas bon, il ne devrait pas m'afficher encore une fois le 1.
Peut être une erreur dans mes requêtes ? :heuuu:
Mais en tout cas je ne voit pas du tout ou. Si quelqu'un pourrez m'aider à corriger ce problème s'il vous plait..
Merci d'avance, bonne soirée à tous
je savait pas quoi mettre dans le titre :heuuu:
C'est pas si dur que ca je pense, sauf que bon, on va dire que c'est le soir, c'est bientôt l'heure de dormir, le cerveau n'est pas a fond quoi iffle:
Non sérieux, ca fait deux trois jour que j'y suis dessus, et pourtant sa parait simple.
Bon entrons dans le vif du sujet !
J'ai une table Liste_batiments ou comme son nom l'indique, je fait la liste des batiments, voici la structure de la table :
id | nom | description
bon je ne pense pas que j'ai beaucoup besoin de détailler, la description est la description du bâtiment..
Une autre table, Batiments_acquis, ou je liste les bâtiments que chaque membres a acheter, les bâtiment acquis (débloquer) donc. Cette table se présente ainsi :
id | id_batiments | id_membres | niveaux
id_batiments = id de la table Liste_batiments
id_membres = id d'une table Membres
niveaux = niveau du bâtiments
Lorsque sur une page je veut afficher la liste des bâtiments, avec en fonction si le membre possède le bâtiment ou pas 'Entrer' ou 'Construire', il y a deux fois afficher la même chos, et ceci juste pour un bâtiment pas tous >.<
J'arrive pas à trouver le problème, je vous montre mon code (php) :
$batiments_acquis = $bdd->prepare("SELECT BA.niveaux, BA.id_batiments, LB.nom, LB.description FROM Batiments_acquis BA, Liste_batiments LB WHERE BA.id_membres = :id_user AND BA.id_batiments = LB.id");
$batiments_acquis->bindValue(':id_user', $_SESSION['id'], PDO:ARAM_INT);
$batiments_acquis->execute();
while($donnees_acquis = $batiments_acquis->fetch()) {
echo $donnees_acquis['nom'].'<br />Niveau : '.$donnees_acquis['niveaux'].'<br />'
.'<em>'.$donnees_acquis['description'].'</em><br />'
.'<a href="./batiments/'.lcfirst(supprimer_accents($donnees_acquis['nom'])).'.php">Entrer</a><br />';
$batiment_bloquer = $bdd->prepare("SELECT * FROM Liste_batiments WHERE id != :id_debloquer");
$batiment_bloquer->bindValue(':id_debloquer', $donnees_acquis['id_batiments'], PDO:ARAM_INT);
$batiment_bloquer->execute();
}
while($donnees_bloquer = $batiment_bloquer->fetch()) {
echo $donnees_bloquer['nom'].'<br />'
.'<em>'.$donnees_bloquer['description'].'</em><br />'
.'<a href="./batiments/construire_batiment.php?batiment='.$donnees_bloquer['id'].'">Construire</a><br />';
}
quand je fait un var_dump($donnees_acquis['id_batiments']); à la fin du premier while, j'obtiens (int)1 et (int)2 jusque la niquel.
mais quand je fait un var_dump($donnees_bloquer['id']); a la fin du second while, j'obtiens (int)1 (int)3.
la ce n'est pas bon, il ne devrait pas m'afficher encore une fois le 1.
Peut être une erreur dans mes requêtes ? :heuuu:
Mais en tout cas je ne voit pas du tout ou. Si quelqu'un pourrez m'aider à corriger ce problème s'il vous plait..
Merci d'avance, bonne soirée à tous