Page 1 sur 1

Mais ou est l'erreur ?

Posté : 12 mai 2007, 22:48
par Dom!
Bonjour,

POurriez vous me dire si vous voyez une erreur dans mon bout de code ci-dessous :
<table width="99%" border="1" align="center" cellpadding="1" cellspacing="0" bordercolor="#0000CC" style="cursor:pointer;" onmouseover="changeto('#FFFF66')" onmouseout="changeback('#FF9900')">
  <tr>
    <td width="9%" bordercolor="#0000CC" bgcolor="#FFFFFF" class="rgt" cellspacing="1"><div align="center" >N&deg; </div></td>
    <td width="18%" bordercolor="#0000CC" bgcolor="#FFFFFF" class="rgt" cellspacing="1"><div align="center" >Date</div></td>
    <td width="50%" bordercolor="#0000CC" bgcolor="#FFFFFF" class="rgt" cellspacing="1"><div align="center" >Titre</div></td>
    <td width="23%" bordercolor="#0000CC" bgcolor="#FFFFFF" class="rgt" cellspacing="1"><div align="center" >Auteur</div></td>
  </tr>
  <?php	
  $criteres = "1" ;
	$sqldipes = "select * from tb_articles where id = '$criteres'";
   // $nbsql += 1;
	if ($resselectdip = mysql_query($sqldip)) {
    while ($selectdip = mysql_fetch_array($resselectdip)); 
	    {
	if ($selectdip["archive"] == "0") 
	$color = 'class = "Style4"';
	else
	$color = 'class = "Style5"';

    print '<tr bgcolor="#CCCCCC" '.$color.'> 
    <td><a href="#">'.$selectdip["id"].'</a></td>
    <td>'.$selectdip["date"].'</td>
    <td>'.$selectdip["titre"].'</td>
	   <td><input name="id" type="hidden" value="'.$selectdip["id"].'"><div align="center"><a href="sup_membre_action.php?id='.$selectdip["id"].'"><img src="http://www.absimmo06.com/images/supprimer.gif" width="16" height="16" border="0"/></a></div></td></tr>';
    }
    }
    ?>
</table>
Mon tableau est vide et ne comporte aucune ligne alors qu'il y'a des enregistrements dans ma base de données.

merci pour votre aide

Re: Mais ou est l'erreur ?

Posté : 12 mai 2007, 22:51
par dunbar
Bonjour,

POurriez vous me dire si vous voyez une erreur dans mon bout de code ci-dessous :
<table width="99%" border="1" align="center" cellpadding="1" cellspacing="0" bordercolor="#0000CC" style="cursor:pointer;" onmouseover="changeto('#FFFF66')" onmouseout="changeback('#FF9900')">
  <tr>
    <td width="9%" bordercolor="#0000CC" bgcolor="#FFFFFF" class="rgt" cellspacing="1"><div align="center" >N&deg; </div></td>
    <td width="18%" bordercolor="#0000CC" bgcolor="#FFFFFF" class="rgt" cellspacing="1"><div align="center" >Date</div></td>
    <td width="50%" bordercolor="#0000CC" bgcolor="#FFFFFF" class="rgt" cellspacing="1"><div align="center" >Titre</div></td>
    <td width="23%" bordercolor="#0000CC" bgcolor="#FFFFFF" class="rgt" cellspacing="1"><div align="center" >Auteur</div></td>
  </tr>
  <?php	
  $criteres = "1" ;
	$sqldipes = "select * from tb_articles where id = '$criteres'";
   // $nbsql += 1;
	if ($resselectdip = mysql_query($sqldip)) {
    while ($selectdip = mysql_fetch_array($resselectdip)); 
	    {
	if ($selectdip["archive"] == "0") 
	$color = 'class = "Style4"';
	else
	$color = 'class = "Style5"';

    print '<tr bgcolor="#CCCCCC" '.$color.'> 
    <td><a href="#">'.$selectdip["id"].'</a></td>
    <td>'.$selectdip["date"].'</td>
    <td>'.$selectdip["titre"].'</td>
	   <td><input name="id" type="hidden" value="'.$selectdip["id"].'"><div align="center"><a href="sup_membre_action.php?id='.$selectdip["id"].'"><img src="http://www.absimmo06.com/images/supprimer.gif" width="16" height="16" border="0"/></a></div></td></tr>';
    }
    }
    ?>
</table>
Mon tableau est vide et ne comporte aucune ligne alors qu'il y'a des enregistrements dans ma base de données.

merci pour votre aide
Avec des echo peut-être :?:

Posté : 12 mai 2007, 22:53
par thehawk
    $sqldipes = "select * from tb_articles where id = '$criteres'";
   // $nbsql += 1;
    if ($resselectdip = mysql_query($sqldip)) {
    while ($selectdip = mysql_fetch_array($resselectdip));  
Ne voi tu pas une erreur ?

Posté : 14 mai 2007, 09:06
par lem
Les variables ne sont pas interprétées quand elles sont entre quotes simples.

Posté : 14 mai 2007, 09:44
par sadeq
    $sqldipes = "select * from tb_articles where id = '$criteres'";
   // $nbsql += 1;
    if ($resselectdip = mysql_query($sqldip)) {
    while ($selectdip = mysql_fetch_array($resselectdip));  
Ne voi tu pas une erreur ?
L'erreur se situe dans le nom de la variable SQL: tu assigne sql à $sqldipes alors que tu utilises $sqldip dans mysql_query()

Pourquoi tant d'énigmes, dans les réponses!
Souvent il faut un oeil externe pour voir ce genre d'erreur.

Posté : 14 mai 2007, 10:10
par iclo
L'usage des or die() après un appel à la base de donnée, permet de savoir si l'appel s'est correctement déroulé et donc de cerné les erreurs éventuelles, première étape à la recherche d'un bug.

Posté : 14 mai 2007, 10:15
par Ryle
Il y a aussi le point-virgule à la fin de l'instruction while qui n'a rien à faire là... même avec le bon nom de variable, il va boucler en s'arrêtant au point-virgule et n'exécutera le code entre accolade que sur le dernier résultat du while.. :)

Posté : 14 mai 2007, 10:20
par lem
Mais qu'est ce qu'ils ont tous à mettre les ";" à cet endroit là ??

Posté : 14 mai 2007, 10:25
par iclo
Mais qu'est ce qu'ils ont tous à mettre les ";" à cet endroit là ??
c'est un réflexe pour ceux qui débutent.
Souvenir d'un prof d'info en études secondaires qui proclamait: "chaque ligne doit être terminée par un point-virgule", jusqu'au jour où on lui a rendu un code avec des lignes kilométriques :D

Posté : 14 mai 2007, 10:31
par lem
:langue:

Posté : 14 mai 2007, 10:34
par sadeq
Hé oui c'est toujours la faute aux profs :axe:

Posté : 14 mai 2007, 10:35
par iclo
Oui, mais bon, j'ai eu des profs bien meilleurs après ça heureusement :D
Mais on dévie du sujet initial à tout berzingue là :P

Posté : 15 mai 2007, 20:08
par Dom!
LOOOOOOOOOL

Merci en tout cas pour toutes vos réponses !
Ca fonctionne parfaitement !


MERCI :D