La boucle ne s'arrète pas [Résolu]

bruno3591 155 Messages postés dimanche 28 septembre 2008Date d'inscription 28 mars 2010 Dernière intervention - 30 nov. 2008 à 13:40 - Dernière réponse : malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention
- 30 nov. 2008 à 15:12
Bonjour,

Je n'arrive pas à stopper la boucle après l'affiche du dernier enregistrement. La boucle continue à afficher les mêmes enregistrements les un derrière les autres. Si j'ai par exemple 2 enregistrements avec le même idchariot, j'aimerais les afficher, mais une seule fois.

CREATE TABLE `anomalie` (
`idano` int(11) NOT NULL auto_increment,
`idchariot` int(10) NOT NULL,
`signalement` varchar(255) NOT NULL,
`date` date NOT NULL,
PRIMARY KEY (`idano`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;


<?php
$requete3 'SELECT anomalie.signalement, anomalie.idchariot FROM anomalie INNER JOIN chariot ON anomalie.idchariot '.$idchariot.'';

$execution_requete3 = mysql_query($requete3);
$total3 = mysql_num_rows($execution_requete3);


if($total3) {

echo ''.\"\n\";
echo '----
';
echo 'Anomalies en cours, ';
echo ''.\"\n\";

while($row = mysql_fetch_array($execution_requete3)) {

echo '----
';
echo ''.$row['signalement'].', ';
echo ''.\"\n\";
}
echo '
'."\n";

}
else echo 'Pas d\'enregistrements dans la base...';

mysql_free_result($execution_requete3);
?>
Afficher la suite 

Votre réponse

10 réponses

Meilleure réponse
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 30 nov. 2008 à 13:56
3
Merci
Hello,

la boucle ne s'arrête pas...du tout ? Ou plutôt, affiches-tu plus d'enregistrements que prévus ?
Parce que ta requête est foireuse :
$requete3 = 'SELECT anomalie.signalement, anomalie.idchariot FROM
anomalie
INNER JOIN chariot ON anomalie.idchariot =chariot.idchariot
WHERE anomalie.idchariot= '.$idchariot.'';

Merci malalam 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes ce mois-ci

Commenter la réponse de malalam
bruno3591 155 Messages postés dimanche 28 septembre 2008Date d'inscription 28 mars 2010 Dernière intervention - 30 nov. 2008 à 14:50
0
Merci
lol elle est foireuse

affiches-tu plus d'enregistrements que prévus ?

oui bien trop, en fait j'affiche les bons enregistrements mais en boucle. Ex: s'il y a 2 enregistrements à afficher, ils s'affichent jusqu'en bas de la page.
Commenter la réponse de bruno3591
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 30 nov. 2008 à 14:52
0
Merci
Elle donne quoi dans phpmyadmin, ta requête ?
Commenter la réponse de malalam
bruno3591 155 Messages postés dimanche 28 septembre 2008Date d'inscription 28 mars 2010 Dernière intervention - 30 nov. 2008 à 14:58
0
Merci
Ca ne ramène aucun enregistrement compte tenu que phpmyadmin ne connait pas la valeur de $idchariot
Commenter la réponse de bruno3591
bruno3591 155 Messages postés dimanche 28 septembre 2008Date d'inscription 28 mars 2010 Dernière intervention - 30 nov. 2008 à 15:01
0
Merci
j'ai remplacé $idchariot par sa valeur dans la table est ça me donne ça :

Affichage des enregistrements 0 - 13 (14 total, Traitement en 0.0011 sec.)

Mais pourquoi 14 enregistrements alors que je n'en ai que 2 dans la table ?
Commenter la réponse de bruno3591
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 30 nov. 2008 à 15:02
0
Merci
...en remplaçant $idchariot par une valeur qui POURRAIT être valide dans ton script...?
Et tu obtiens la même chose avec ma requête ?
Parce que cela m'étonne bcp : ta boucle n'est pas une boucle infinie. En l'état, ton code ne peut pas boucler infiniment. Alors à moins que tu ne montres pas tout le code...je ne vois pas vraiment.
Commenter la réponse de malalam
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 30 nov. 2008 à 15:05
0
Merci
A cause de ta mauvaise utilisation de la jointure.
Et avec ma requête ?
Commenter la réponse de malalam
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 30 nov. 2008 à 15:05
0
Merci
Oh et puis, tant qu'on y est : fais voir ton autre table, "chariot" ?
Commenter la réponse de malalam
bruno3591 155 Messages postés dimanche 28 septembre 2008Date d'inscription 28 mars 2010 Dernière intervention - 30 nov. 2008 à 15:09
0
Merci
Mille excuses, j'ai fais l'essai dans phpmyadmin avec ma requête foireuse, avec la tienne tout fonctionne bien en mettant la bonne valeur à idchariot.

Mais pourquoi est-on obligé d'ajouter un where après un ON ?

Merci beaucoup pour ton aide.
Commenter la réponse de bruno3591
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 30 nov. 2008 à 15:12
0
Merci
le ON de la jointure définit...la jointure! La condition sur laquelle tu vas lier tes 2 tables.
Le WHERE est la condition globale de ta requête.
Commenter la réponse de malalam

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.