Votre question

mysql_fetch_array() pas bon avec ORDER BY id DESC LIMIT 0, 5' ?

Tags :
  • MySQL
  • Programmation
Dernière réponse : dans Programmation
21 Juin 2006 17:35:55

Bonjour,
Voila je vien de faire un script de news et , je voudrai que les news s'afficher de la plus recente a la plus ancienne , alors j'ais fait ce code :
  1. <?
  2. $db = mysql_connect($dbhost, $dblogin, $dbpassword);
  3. mysql_select_db($dbname);
  4.  
  5. $sql = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT 0, 5');
  6. while ( $val = mysql_fetch_array($sql))
  7. {
  8. ?>
  9. //tout le code de la news
  10. <?
  11. }
  12. ?>

et sa me met cette erreur :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/tsog/public_html/index.php on line 202

Avant sa marchai avec se code mais c'était de la plus ancienne news a la plus récente :
  1. <?
  2. $db = mysql_connect($dbhost, $dblogin, $dbpassword);
  3. mysql_select_db($dbname);
  4.  
  5. $sql= "SELECT * FROM `news` WHERE 1";
  6. $result = mysql_query($sql);
  7.  
  8. while ($val = mysql_fetch_array($result)) { ?>
  9.  
  10. //tout le code du tableau de la news
  11. <?
  12. }
  13. ?>

Et voila le code tout entier au cas ou :
  1. <?
  2. $db = mysql_connect($dbhost, $dblogin, $dbpassword);
  3. mysql_select_db($dbname);
  4.  
  5. $sql = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT 0, 5');
  6. while ( $val = mysql_fetch_array($sql))
  7. {
  8. ?>
  9. <? echo "<table border='0' cellspacing='0' cellpadding='0'>
  10. <tr><td colspan='3'><img src='haut_texte.png' /></td></tr>;
  11. <tr><td colspan='3' background='titre.png' width='596' height='30' valign='middle'>;
  12. <font face='Trebuchet MS' size='2' color='#E9A013'><b> ";
  13. echo $val["titre"];
  14. echo "</font></b></td></tr>
  15. <tr><td colspan='3'><img src='bas_titre.png' /></td></tr>
  16. <tr><td background='fond_gauche_texte.png' width='56'></td>
  17. <td background='fond_texte.png' width='501'>
  18. <img src='insecte.png' align='right' />
  19. <font face='Trebuchet MS' size='2'>";
  20. echo "<font size='3' color='#5E2107'>
  21.  
  22. ";
  23. echo $val["text"];
  24. echo "</b></font>
  25. </td>
  26. <td background='fond_droit_texte.png' width='39'></td>
  27. </tr>
  28. <tr><td colspan='3'><img src='bas_texte.png' /></td></tr>
  29. </table>"; ?>
  30.  
  31. <?
  32. }
  33. ?>


Voila , merci de m'aider asser rapidement svp

Autres pages sur : mysql fetch array bon order desc limit

a c 145 L Programmation
21 Juin 2006 17:42:03

ta requète est bonne, mais ton champ s'appelle-t-il bien "id"?
21 Juin 2006 17:51:35

Ma table s'appelle news , et j'ai 2 champs: titre et text
21 Juin 2006 17:54:26

  1. $sql = mysql_query('SELECT * FROM `news` ORDER BY `id` DESC LIMIT 0, 5');


manquait les ` `

edit : si tu n'as pas de champs "id" ca marchera pas.

21 Juin 2006 17:58:41

Voila , c'est bon merci je vien de règler mon probleme
Comme tu me l'a fait remarquer il me manquai un champ id :
id int(11) not null auto_increment primary key
:laugh:
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS