Requete sql generé dans une boucle do/while SOUCI [Résolu]

Signaler
Messages postés
12
Date d'inscription
lundi 16 janvier 2006
Statut
Membre
Dernière intervention
14 avril 2008
-
Messages postés
12
Date d'inscription
lundi 16 janvier 2006
Statut
Membre
Dernière intervention
14 avril 2008
-
Bonjour je desir generer un xml avec php mais j ai un souci car il y a deux tables et plusieurs noeuds j aimerai avoir une premiere serie de noeuds qui se genere a partir de la table seri
    exemple: <seri id=1 nom="">
            </seri>
            <seri id=2 nom="">
            </seri>
            Jusqu ici pas de souci voici mon code:
           
            //connection base de donnée
    require('common-top.php');
    //requete SQl
    $sqlA = "SELECT * FROM seri";
    $resultA = mysql_query($sqlA) or die(__LINE__.mysql_error().$sqlA);
    $userA = mysql_fetch_array($resultA);
    //affichage du resultat
do{
echo(<'serieAchive id="'.$userA['id_serie'].' " mois="'.$userA['mois'].' " annee="'.$userA['annee'].' />"
');
    echo"</seriArchive>
";
    }while ($userA = mysql_fetch_array($resultA));
   
    Puis integrer dans seri un autre noeud qui vien de la table news pour avoir ceci exemple:
    <seri id=1 nom="">
        <news id="1" id_serie=1/>
        <news id="2" id_seri=1/>
    </seri>
    <seri id=2 nom="">
        <news id="1" id_serie=2/>
        <news id="2" id_seri=2/>
    </seri>
    les souci commence ici prour moi car lorsque je rentre la requete avec la boucle do while entre mon "<seri></seri>" il me fait une boucle infini donc si quelqu un pissede la solution ce serai sympa de m aider Merci d avance 
vis comme en mourant tu voudrais avoir vécu

4 réponses

Messages postés
943
Date d'inscription
mardi 14 novembre 2006
Statut
Membre
Dernière intervention
7 août 2009
3
Bonjour,

Pourquoi ne pas faire directement un while?

while ($userA = mysql_fetch_array($resultA)) {
    echo(<'serieAchive id="'.$userA['id_serie'].' " mois="'.$userA['mois'].' " annee="'.$userA['annee'].' />"
');
    echo"</seriArchive>
";
}


Messages postés
12
Date d'inscription
lundi 16 janvier 2006
Statut
Membre
Dernière intervention
14 avril 2008

Je te remerci effectivement dans se sens tout fonctionne
vis comme en mourant tu voudrais avoir vécu ce ki me donne cela
    $sqlA = "SELECT * FROM seri";
    $resultA = mysql_query($sqlA) or die(__LINE__.mysql_error().$sqlA);
    $i=0;
while ($userA = mysql_fetch_array($resultA)){
$i++;
echo('serieAchive id="'.$userA['id'].' " mois="'.$userA['mois'].' " annee="'.$userA['annee'].'"
');$sqlB "SELECT * FROM news WHERE id".$i."";
    $resultB = mysql_query($sqlB) or die(__LINE__.mysql_error().$sqlB);
    while ($userB = mysql_fetch_array($resultB)){
echo('news'.$i.' id="'.$userB['id'].' " photo="'.$userB['photo'].' " titre="'.$userB['titre'].'" jour="'.$userB['jour'].'"
');
    }
    echo"/seriArchive
";
    }
Messages postés
943
Date d'inscription
mardi 14 novembre 2006
Statut
Membre
Dernière intervention
7 août 2009
3
De rien,

juste pour te préciser qu'un while va tester la condition et si la condition est vrai elle execute, alors que le do while on execute la boucle et on teste après la condition.


Messages postés
12
Date d'inscription
lundi 16 janvier 2006
Statut
Membre
Dernière intervention
14 avril 2008

quand je le vois je m en  rapel et evident au point que je me sente tres con ;)  mais dison que le lundi matin c est tendu surtout lorsque le matin commence a midi
quoi qu il en soi merci beaucoup de m avoir ouvert les yeux sur mon erreure
vis comme en mourant tu voudrais avoir vécu