Aide - Recherche - Membres - Calendrier
Version complète : Boucle
La Communauté TitaXium > Service Communication > Espace Developpement
Nokilling
Bonjour tous le monde smile.gif
Voila, je suis en train de faire un ptit module pour un CMS, mon code marche bien, sauf que ma boucle ne veut pas s'éxécuter, elle ne fait qu'une seule entrer :pinch:
Voiçi le code :
Code
function index()
{
global $bgcolor2, $bgcolor3, $theme, $nuked, $user;

opentable();

echo"    <br />";
echo"    <table width=\"100%\" cellspacing=\"0\" cellpadding=\"1\" border=\"0\">
 <tr>
 <td bgcolor=\"$bgcolor3\" colspan=\"3\" align=\"center\"><big><b>"._TITRE."</b></big></td></tr>
 <td colspan=\"3\" align=\"center\"><br />";
    
   
    $sql=mysql_query("SELECT prenom, avatar, pseudo, email, rang FROM ".USER_TABLE." WHERE niveau > 1 ");
    $nb_members = mysql_num_rows($sql);
    if($nb_members > 0){
    while (list($prenom, $photo, $pseudo, $mail, $rang) = mysql_fetch_array($sql)){

    if ($photo!= ""){
    echo"    <tr>
 <td><img src=\"$photo\" border=\"1\" width=\"100\" height=\"100\"></td>";
    }else{
    echo"    <tr>
 <td><img src=\"modules/Members/images/pas_image.jpg\" border=\"1\" width=\"100\" height=\"100\"></td>";}

echo"    <td>&nbsp;</td>
 <td width=\"100%\" valign=\"top\" bgcolor=\"$bgcolor2\">
 &nbsp;"._PSEUDO." : <a href=\"index.php?file=Team&op=detail&autor=$pseudo\" title=\""._SEEDETAILOF."\"><b>$pseudo</a></b><br />";
 
    if ($prenom!= ""){    
    echo"    &nbsp;"._LASTNAME." : <b>$prenom</b><br />
    &nbsp;Fonction : ";
    $sql2=mysql_query("SELECT titre  FROM ".TEAM_RANK_TABLE." WHERE id='$rang'");
    list($fonction) = mysql_fetch_array($sql2);
    if(empty($fonction)){
$fonction = "N/A";}
    echo"<b>$fonction</b><br /> ";

$sql = mysql_query("SELECT COUNT(*) AS news FROM ".NEWS_TABLE." WHERE auteur_id='$id'");
$news = mysql_fetch_array($sql);
$news = $news['news'];
echo"&nbsp;Nombre de news : <b>$news</b> <br />";

$sql = mysql_query("SELECT COUNT(*) AS messages FROM ".FORUM_MESSAGES_TABLE." WHERE auteur_id='$id'");
$posts = mysql_fetch_array($sql);
$messages = $posts['messages'];
echo"&nbsp;Nombre de posts : <b>$messages</b> <br />";


echo" &nbsp;"._MAIL." :";
if (empty($mail)){
$mail ="Indisponible";}
else{
$mail ="<a href=\"mailto:$mail\">";
}
    echo"<b>$mail</b></a><br />";
    }else{
    echo"    <br />
     &nbsp;"._NOPREF."";}
    
echo"    </td>
 <tr><td colspan=\"3\"><hr /></tr>";

}
    }else{
 
echo"    <tr><td align=center colspan=\"3\">"._NOMEMBERS."</td></tr>";}

echo"    </table><br /><br />";

echo"    <div style=\"text-align:center\"><a href=index.php?file=Staff><b>"._HAUTPAGE."</b></a></div><br />";

CloseTable();
}


Si quelqu'un voyait l'erreur, car là je ne vois pas du tous ou elle est crying.gif

Merci d'avance smile.gif

EDIT : Voila, j'ai un truc bizarre, quand je met ce code :
Code
function index()
{
global $bgcolor2, $bgcolor3, $theme, $nuked, $user;

opentable();

echo"    <br />";
echo"    <table width=\"100%\" cellspacing=\"0\" cellpadding=\"1\" border=\"0\">
 <tr>
 <td bgcolor=\"$bgcolor3\" colspan=\"3\" align=\"center\"><big><b>"._TITRE."</b></big></td></tr>
 <td colspan=\"3\" align=\"center\"><br />";
    
   
    $sql=mysql_query("SELECT prenom, avatar, pseudo, email, rang FROM ".USER_TABLE." WHERE niveau > 1 ");
    $nb_members = mysql_num_rows($sql);
    if($nb_members > 0){
    while (list($id) = mysql_fetch_array($sql)){
    $sql1=mysql_query("SELECT prenom, avatar, pseudo, email, rang FROM ".USER_TABLE." WHERE id='$id'");
    list($prenom, $photo, $pseudo, $mail, $rang) = mysql_fetch_array($sql1);

    if ($photo!= ""){
    echo"    <tr>
 <td><img src=\"$photo\" border=\"1\" width=\"100\" height=\"100\"></td>";
    }else{
    echo"    <tr>
 <td><img src=\"modules/Members/images/pas_image.jpg\" border=\"1\" width=\"100\" height=\"100\"></td>";}

echo"    <td>&nbsp;</td>
 <td width=\"100%\" valign=\"top\" bgcolor=\"$bgcolor2\">
 &nbsp;"._PSEUDO." : <a href=\"index.php?file=Team&op=detail&autor=$pseudo\" title=\""._SEEDETAILOF."\"><b>$pseudo</a></b><br />";
 
    if ($prenom!= ""){    
    echo"    &nbsp;"._LASTNAME." : <b>$prenom</b><br />
    &nbsp;Fonction : ";
    $sql2=mysql_query("SELECT titre  FROM ".TEAM_RANK_TABLE." WHERE id='$rang'");
    list($fonction) = mysql_fetch_array($sql2);
    if(empty($fonction)){
$fonction = "N/A";}
    echo"<b>$fonction</b><br /> ";
// Nombre de News
$sql = mysql_query("SELECT COUNT(*) AS news FROM ".NEWS_TABLE." WHERE auteur_id='$id'");
$news = mysql_fetch_array($sql);
$news = $news['news'];
echo"&nbsp;Nombre de news : <b>$news</b> <br />";
// Nombre de Posts
$sql = mysql_query("SELECT COUNT(*) AS messages FROM ".FORUM_MESSAGES_TABLE." WHERE auteur_id='$id'");
$posts = mysql_fetch_array($sql);
$messages = $posts['messages'];
echo"&nbsp;Nombre de posts : <b>$messages</b> <br />";
// Ajouter la proffession, et faire une condition pour afficher la ligne uniquement si le champs est rempli

echo" &nbsp;"._MAIL." :";
if (empty($mail)){
$mail ="Indisponible";}
else{
$mail ="<a href=\"mailto:$mail\">";
}
    echo"<b>$mail</b></a><br />";
    }else{
    echo"    <br />
     &nbsp;"._NOPREF."";}
    
echo"    </td>
 <tr><td colspan=\"3\"><hr /></tr>";

}
    }else{
 
echo"    <tr><td align=center colspan=\"3\">"._NOMEMBERS."</td></tr>";}

echo"    </table><br /><br />";

echo"    <div style=\"text-align:center\"><a href=index.php?file=Staff><b>"._HAUTPAGE."</b></a></div><br />";

CloseTable();
}

La boucle marche,mais ensuite il ne veux plus afficher les informations, mais quand je veux juste prendre l'id, alors sa ne marche plus crying.gif
ED
Si tu veux réussir à comprendre, eclairci un peu le code wink.gif

Vire tous les "echo" et ne fait tourner que les elements importants du code.
Nokilling
Ok, je vais faire ça smile.gif

EDIT : BOn, j'arrive pas à m'en sortir avec la boucle, donc j'ai décidé de faire une do while smile.gif

Et là, sa marche à 30% on va dire whistling.gif
Car j'arrive à afficher les stats pour le premier id prit dans la base de donnée, mais pour les autres, il ne veut pas me les prendres :pinch: :mum:

Voiçi mon code :
Code
function index()
{
global $bgcolor2, $bgcolor3, $theme, $nuked, $user;

opentable();

echo" <br />";
echo" <table width=\"100%\" cellspacing=\"0\" cellpadding=\"1\" border=\"0\">
<tr>
<td bgcolor=\"$bgcolor3\" colspan=\"3\" align=\"center\"><big><b>"._TITRE."</b></big></td></tr>
<td colspan=\"3\" align=\"center\"><br />";

 
$sql=mysql_query("SELECT id, prenom, avatar, pseudo, email, rang FROM ".USER_TABLE." WHERE niveau > 1 ");
$admin = mysql_num_rows($sql);
if($admin > 0){
do{
list($id, $prenom, $photo, $pseudo, $mail, $rang) = mysql_fetch_array($sql);


if ($photo!= ""){
echo" <tr>
<td><img src=\"$photo\" border=\"1\" width=\"100\" height=\"100\"></td>";
}else{
echo" <tr>
<td><img src=\"modules/Members/images/pas_image.jpg\" border=\"1\" width=\"100\" height=\"100\"></td>";}

echo" <td>&nbsp;</td>
<td width=\"100%\" valign=\"top\" bgcolor=\"$bgcolor2\">
&nbsp;"._PSEUDO." : <a href=\"index.php?file=Team&op=detail&autor=$pseudo\" title=\""._SEEDETAILOF."\"><b>$pseudo</a></b><br />";

if ($prenom!= ""){
echo" &nbsp;"._LASTNAME." : <b>$prenom</b><br />
&nbsp;Fonction : ";
$sql2=mysql_query("SELECT titre  FROM ".TEAM_RANK_TABLE." WHERE id='$rang'");
list($fonction) = mysql_fetch_array($sql2);
if(empty($fonction)){
$fonction = "N/A";}
echo"<b>$fonction</b><br /> ";
// Nombre de News
$sql = mysql_query("SELECT COUNT(*) AS news FROM ".NEWS_TABLE." WHERE auteur_id='$id'");
$news = mysql_fetch_array($sql);
$news = $news['news'];
echo"&nbsp;Nombre de news : <b>$news</b> <br />";
// Nombre de Posts
$sql = mysql_query("SELECT COUNT(*) AS messages FROM ".FORUM_MESSAGES_TABLE." WHERE auteur_id='$id'");
$posts = mysql_fetch_array($sql);
$messages = $posts['messages'];
echo"&nbsp;Nombre de posts : <b>$messages</b> <br />";
// Ajouter la proffession, et faire une condition pour afficher la ligne uniquement si le champs est rempli

echo" &nbsp;"._MAIL." :";
if (empty($mail)){
$mail ="Indisponible";}
else{
$mail ="<a href=\"mailto:$mail\">";
}
echo"<b>$mail</b></a><br />";
}else{
echo" <br />
 &nbsp;"._NOPREF."";}

echo" </td>
<tr><td colspan=\"3\"><hr /></tr>";
$nb++;
}
while($nb<$admin);
}else{

echo" <tr><td align=center colspan=\"3\">"._NOMEMBERS."</td></tr>";}

echo" </table><br /><br />";

echo" <div style=\"text-align:center\"><a href=index.php?file=Staff><b>"._HAUTPAGE."</b></a></div><br />";

CloseTable();
}


Donc si quelqu'un voyait pourquoi il ne veut me prendre que le premier id et pas les autres smartass.gif

EDIT 2 : Je crois avoir trouver mon erreur, j'édit et posterais mon code si sa marche smile.gif

EDIT 3 : Voila, j'ai jamais bien réussi à faire les boucles en while, alors je me suis décider d'en utiliser une qui me parait plus simple, donc j'ai fait une boucle for, et sa marche :woot:
Sa m'affiche bien les 3 admins qui sont en test, mais hélas, sa ne m'affiche toujours pas leur stats :/

Voiçi mon code :
Code
function index()
{
global $bgcolor2, $bgcolor3, $theme, $nuked, $user;

opentable();

echo" <br />";
echo" <table width=\"100%\" cellspacing=\"0\" cellpadding=\"1\" border=\"0\">
<tr>
<td bgcolor=\"$bgcolor3\" colspan=\"3\" align=\"center\"><big><b>"._TITRE."</b></big></td></tr>
<td colspan=\"3\" align=\"center\"><br />";

 
$sql=mysql_query("SELECT pseudo FROM ".USER_TABLE." WHERE niveau > 1 ");
$admin = mysql_num_rows($sql);
if($admin > 0){
for($nb=0; $nb<$admin; $nb++){
$sql2=mysql_query("SELECT id, prenom, avatar, pseudo, email, rang FROM ".USER_TABLE." WHERE niveau > 1 ORDER BY id DESC LIMIT $nb, 1 ");
list($id, $prenom, $photo, $pseudo, $mail, $rang) = mysql_fetch_array($sql2);


if ($photo!= ""){
echo" <tr>
<td><img src=\"$photo\" border=\"1\" width=\"100\" height=\"100\"></td>";
}else{
echo" <tr>
<td><img src=\"modules/Members/images/pas_image.jpg\" border=\"1\" width=\"100\" height=\"100\"></td>";}

echo" <td>&nbsp;</td>
<td width=\"100%\" valign=\"top\" bgcolor=\"$bgcolor2\">
&nbsp;"._PSEUDO." : <a href=\"index.php?file=Team&op=detail&autor=$pseudo\" title=\""._SEEDETAILOF."\"><b>$pseudo</a></b><br />";

if ($prenom!= ""){
echo" &nbsp;"._LASTNAME." : <b>$prenom</b><br />
&nbsp;Fonction : ";
$sql2=mysql_query("SELECT titre  FROM ".TEAM_RANK_TABLE." WHERE id='$rang'");
list($fonction) = mysql_fetch_array($sql2);
if(empty($fonction)){
$fonction = "N/A";}
echo"<b>$fonction</b><br /> ";
// Nombre de News
$sql = mysql_query("SELECT COUNT(*) AS news FROM ".NEWS_TABLE." WHERE auteur_id='$id'");
$news = mysql_fetch_array($sql);
$news = $news['news'];
echo"&nbsp;Nombre de news : <b>$news</b> <br />";
// Nombre de Posts
$sql = mysql_query("SELECT COUNT(*) AS messages FROM ".FORUM_MESSAGES_TABLE." WHERE auteur_id='$id'");
$posts = mysql_fetch_array($sql);
$messages = $posts['messages'];
echo"&nbsp;Nombre de posts : <b>$messages</b> <br />";
// Ajouter la proffession, et faire une condition pour afficher la ligne uniquement si le champs est rempli

echo" &nbsp;"._MAIL." :";
if (empty($mail)){
$mail ="Indisponible";}
else{
$mail ="<a href=\"mailto:$mail\">";
}
echo"<b>$mail</b></a><br />";
}else{
echo" <br />
 &nbsp;"._NOPREF."";}

echo" </td>
<tr><td colspan=\"3\"><hr /></tr>";

}
}else{

echo" <tr><td align=center colspan=\"3\">"._NOMEMBERS."</td></tr>";}

echo" </table><br /><br />";

echo" <div style=\"text-align:center\"><a href=index.php?file=Staff><b>"._HAUTPAGE."</b></a></div><br />";

CloseTable();
}


Le truc ne m'affiche que leur pseudo, et pas le reste :/
Voiçi un exemple ==> www.animesoul.info/psp/site/index.php?file=Staff

EDIT 4 : Sa yeah, j'ai trouvé d'ou venait l'erreur :pinch:
Elle venait la condition du prenom de la personne :mum:
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2010 Invision Power Services, Inc.