différence d'écriture

Eléphanteau du PHP | 31 Messages

25 sept. 2008, 14:09

Bonjour,

J'aimerais savoir en quoi ce script
$req = mysql_query($sql) or die("erreur de connexion a la base de donnees");
while($val = mysql_fetch_array($req))
{ 
$nom = $val['nom_test'];

echo  '<table><tr><td>' . $nom . '</td></tr></table>'; 
  }
?>   
Est différent de :
$req = mysql_query($sql) or die("erreur de connexion a la base de donnees");
while($val = mysql_fetch_array($req))
{ 
$nom = $val['nom_test'];
?>
<table><tr><td>
<? echo  . $nom . ; ?>
</td></tr></table> 
</body></html>
<?php
  }
?>   
   
Et au passage, pourquoi la 2eme solution est fausse

ce_l

Eléphant du PHP | 254 Messages

25 sept. 2008, 14:11

mmm enlève les points dans ton echo peut etre

ViPHP
ViPHP | 2287 Messages

25 sept. 2008, 14:14

Bonjour,

Il y a plusieurs points qui relèvent de l'erreur ou de l'amélioration possible :
- Le deuxième script utilise
echo  . $nom .
ce qui est invalide. Il ne faut pas mettre de points (on dirait un résidu d'édition d'un code précédent)
- Le deuxième script utilise les short open tags de php ( <? ) ce qui n'est pas terrible (il vaut mieux utiliser <?php à la place )
- Le deuxième script envoie un </body></html> au sein de la boucle ce qui est une erreur si la boucle renvoie moins ou plus d'un élément :-) Cela ne semble pas être le cas de cette boucle mais c'est quand même sale et à éviter.
if(!@work()){ Nespresso(); } else { what(); }
______________________________

Eléphanteau du PHP | 31 Messages

25 sept. 2008, 14:14

J'ai déjà essayé ca ne marche pas non plus

Eléphant du PHP | 254 Messages

25 sept. 2008, 14:25

Alors donne nous peut être l'erreur qui t'es renvoyée, car comme cela c'est pas évident :)

Eléphanteau du PHP | 31 Messages

25 sept. 2008, 14:29

Ah oui d'accord c'est <? et <PHP qui fait la différence. J'aurais pas cru que c'était si bête comme erreur.
Merci encore je comprends mieux maintenant.

J'ai quand même un autre soucis avec ce script, le résultat m'affiche toutes la série d'entrées de la base à la suite. Si je veux afficher les résultats à diverses endroits d'un tableau par exemple, comment je dois procéder pour les lister indépendemment ?

Merci

ce_l

ViPHP
ViPHP | 2287 Messages

25 sept. 2008, 14:38

Tu peux te référer pour cela à cet excellent tutorial.
if(!@work()){ Nespresso(); } else { what(); }
______________________________

Eléphanteau du PHP | 31 Messages

25 sept. 2008, 14:49

Je ne l'avais pas vu merci beaucoup pour ton lien, je vais potasser

ce_l