Mais ou est l'erreur ?

Eléphant du PHP | 424 Messages

12 mai 2007, 22:48

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
Youpi Youpi Yo !

ViPHP
ViPHP | 2291 Messages

12 mai 2007, 22:51

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 :?:
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

Mammouth du PHP | 991 Messages

12 mai 2007, 22:53

    $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 ?
DevOps, Symfony4, Hoa

lem
Eléphant du PHP | 108 Messages

14 mai 2007, 09:06

Les variables ne sont pas interprétées quand elles sont entre quotes simples.
Lem.

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

14 mai 2007, 09:44

    $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.
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

ViPHP
ViPHP | 2144 Messages

14 mai 2007, 10:10

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.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

14 mai 2007, 10:15

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.. :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

lem
Eléphant du PHP | 108 Messages

14 mai 2007, 10:20

Mais qu'est ce qu'ils ont tous à mettre les ";" à cet endroit là ??
Lem.

ViPHP
ViPHP | 2144 Messages

14 mai 2007, 10:25

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
Modifié en dernier par iclo le 14 mai 2007, 10:33, modifié 1 fois.

lem
Eléphant du PHP | 108 Messages

14 mai 2007, 10:31

:langue:
Lem.

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

14 mai 2007, 10:34

Hé oui c'est toujours la faute aux profs :axe:
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

ViPHP
ViPHP | 2144 Messages

14 mai 2007, 10:35

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

Eléphant du PHP | 424 Messages

15 mai 2007, 20:08

LOOOOOOOOOL

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


MERCI :D
Youpi Youpi Yo !