Requete sql generé dans une boucle do/while SOUCI

Résolu
jp1871 Messages postés 12 Date d'inscription lundi 16 janvier 2006 Statut Membre Dernière intervention 14 avril 2008 - 31 mars 2008 à 16:10
jp1871 Messages postés 12 Date d'inscription lundi 16 janvier 2006 Statut Membre Dernière intervention 14 avril 2008 - 31 mars 2008 à 19:24
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

maelob Messages postés 943 Date d'inscription mardi 14 novembre 2006 Statut Membre Dernière intervention 7 août 2009 3
31 mars 2008 à 16:24
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>
";
}


3
jp1871 Messages postés 12 Date d'inscription lundi 16 janvier 2006 Statut Membre Dernière intervention 14 avril 2008
31 mars 2008 à 16:47
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
";
    }
0
maelob Messages postés 943 Date d'inscription mardi 14 novembre 2006 Statut Membre Dernière intervention 7 août 2009 3
31 mars 2008 à 17:00
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.


0
jp1871 Messages postés 12 Date d'inscription lundi 16 janvier 2006 Statut Membre Dernière intervention 14 avril 2008
31 mars 2008 à 19:24
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
0
Rejoignez-nous