Pauldb
Messages postés5Date d'inscriptionjeudi 11 août 2005StatutMembreDernière intervention10 février 2006
-
4 sept. 2005 à 19:34
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDerniè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 '
';
echo 'bo. pl. = ' . $donnees['bonne_place'] .' et '
.$donnees['mauvaise_place'] . ' a la mv place les nombres sont
: ' ;
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 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.
cs_maximev
Messages postés67Date d'inscriptionlundi 20 décembre 2004StatutMembreDernière intervention27 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
Pauldb
Messages postés5Date d'inscriptionjeudi 11 août 2005StatutMembreDernière intervention10 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 '
';
$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
: ' ;