While il ecrit plusieur fois les reponse

Résolu
Pauldb Messages postés 5 Date d'inscription jeudi 11 août 2005 Statut Membre Dernière intervention 10 février 2006 - 4 sept. 2005 à 19:34
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 5 sept. 2005 à 12:20
bonjour voila j'ai un script qui fonctionne
(presque) tres bien sauf que lorsqu'il doit écrire les données ca ecrit
une fois la phrase la premiere fois , la 2 eme fois il ecrit 2 fois la
premiere phrase et la 2eme , la troisieme fois ca ecrit 3 fois les 3
phrase ...

je ne comprend pourquoi voici le code

PHP code :



<?php

mysql_connect("localhost", "root", "");

mysql_select_db ('mastermind') ;



$reponse = mysql_query("SELECT * FROM nombre, reponse ");

while ($donnees = mysql_fetch_array($reponse))

{

echo '
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';

echo 'bo. pl. = ' . $donnees['bonne_place'] .' et '
.$donnees['mauvaise_place'] . ' a la mv place les nombres sont
:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' ;

echo '&nbsp;';echo $donnees['rep1'];

echo '&nbsp;&nbsp;';

echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';echo $donnees['rep2'];

echo '&nbsp;&nbsp;';

echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';echo $donnees['rep3'];

echo '&nbsp;&nbsp;';

echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';echo $donnees['rep4'];

echo '&nbsp;&nbsp;';

echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';echo $donnees['rep5'];

echo '
';

}

mysql_close();

?>

voila merci pour les reponse,

si je n'ai pas été assez clair merci de me le faire svoir

4 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
5 sept. 2005 à 12:20
Hello,



je pourrais savoir pourquoi tu vas chercher nombre ...?

Ton problème vient de là.

SELECT * FROM nombre, reponse (outre qu'il ne faut pas utiliser *...tu
dois nommer les champs que tu veux aller chercher, dans un soucis
d'économie des ressources) va multiplier les retour : nombre * reponse
(en gros). En fait il croise.

Je ne sais pas ce que contient nombre (le nombre de réponses je suppose...), mais il manque une jointure a ta requete, ici.

Donne la structure de tes 2 tables, nombre et reponse.

Mais un truc du genre SELECT ... FROM reponse LEFT JOIN nombre devrait fonctionner. Enfin, c'est par là que tu dois creuser.
3
ashboody Messages postés 91 Date d'inscription samedi 30 mars 2002 Statut Membre Dernière intervention 11 octobre 2005
4 sept. 2005 à 21:52
non tu n'es pas assez clair, peux tu mettre ce que tu obtient a l'affichage?
0
cs_maximev Messages postés 67 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 27 décembre 2010
5 sept. 2005 à 00:53
C'est assez logique si je te comprends bien.

Tu vas chercher à comparer nombre avec les réponses => premier essai => 1 réponse => 1 phrase (vu le while) => deuxième essai => 2 réponses => 2 phrases (vu le while) =>....

Essaye plutôt avec ceci: mysql_query("SELECT * FROM nombre, reponse LIMIT 0,1");

Le petite ajout dans ta requête fait qu'il se limite au premier des résultats qu'il trouve.

Soit plus précis dans ta demande et je suis sûr que nous pourrons t'apporter une solution impeccable
0
Pauldb Messages postés 5 Date d'inscription jeudi 11 août 2005 Statut Membre Dernière intervention 10 février 2006
5 sept. 2005 à 11:31
quand il n'y a que une donnée dans la base, il ecrit:

les donnée 1


la ca va ,

quand il y a 2 donnée dans la base, il écrit:

les données 1

les données 1

les données 2

les données 2


la ca va plus

quand il y a 3 données dans la base il ecrit :

les données 1


les données 1


les données 1

les données 2


les données 2

les données 2

les données 3

les données 3

les données 3

...



en faite voila c que j'ai éssayer de faire mais qui ne marche pas :

<?php

mysql_connect("localhost", "root", "");

mysql_select_db ('mastermind') ;



$reponse = mysql_query("SELECT * FROM nombre");

while ($donnees = mysql_fetch_array($reponse))

{

echo '
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';

$reponse = mysql_query("SELECT * FROM reponse");

while ($donnees = mysql_fetch_array($reponse))

{

echo 'bo. pl. = ' . $donnees['bonne_place'] .' et '
.$donnees['mauvaise_place'] . ' a la mv place les nombres sont
:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' ;

}

mysql_close();

echo '&nbsp;';echo $donnees['rep1'];

echo '&nbsp;&nbsp;';

echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';echo $donnees['rep2'];

echo '&nbsp;&nbsp;';

echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';echo $donnees['rep3'];

echo '&nbsp;&nbsp;';

echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';echo $donnees['rep4'];

echo '&nbsp;&nbsp;';

echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';echo $donnees['rep5'];

echo '
';

}

mysql_close();

?>
0
Rejoignez-nous