Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1227 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Probleme avec mon systeme de pages

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme avec mon systeme de pages

n°1176767
Multinickn​ame
Ah bon...
Posté le 15-08-2005 à 23:46:12  profilanswer
 

Salut,
 
J'essaye de faire un systeme de pages mais j'ai cette erreur lorsque j'execute le script ci-dessous :
 

Citation :


Warning: Division by zero in /var/www/free.fr/1/f/trichkreu/livredor.php on line 131
Page : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' . 0 . ', ' .' at line 1


 

Code :
  1. $nbmpp = 3;
  2. $nb_post = mysql_query("SELECT COUNT(*) AS nb_entrees FROM r_comments" );
  3. $nombre = mysql_fetch_array($nb_post);
  4. $nbm = $nombre['nb_entrees'];
  5. echo 'Il y a <b>' . $nbm . '</b> post(s) sur le Livre d\'Or.&nbsp;<a href="all.php" target="blank">Afficher tous les posts</a><br /><br />';
  6. $nbp = ceil($nbm / $nbmpp);
  7. echo 'Page : ';
  8. for ($i = 1 ; $i <= $nbp ; $i++)
  9. {
  10.    echo '<a href="livredor.php?page=' . $i . '">' . $i . '</a><br /><br /> ';
  11. }
  12. if (isset($_GET['page']))
  13. {
  14.    $page = intval($_GET['page']);
  15. }
  16. else
  17. {
  18.    $page = 1;
  19. }
  20. $pma = ($page - 1) * $nbmpp;
  21. if ($nbm != NULL)
  22. {
  23. $recup = mysql_query("SELECT * FROM r_comments ORDER BY id DESC LIMIT ' . $pma . ', ' . $nbmpp" ) or die(mysql_error());
  24. while ($affposts = mysql_fetch_array($recup))
  25. {
  26. ?>
  27. /* Affichage du post */
  28. <?php
  29. }
  30. }
  31. ?>


 
 
je pense que le chiffre trouvé donne zéro et que ca fait tout planter mais je ne suis pas sur...
 
Merci d'avance :jap:


---------------
Feaks Forum
mood
Publicité
Posté le 15-08-2005 à 23:46:12  profilanswer
 

n°1176770
naceroth
Posté le 15-08-2005 à 23:55:39  profilanswer
 

La deuxième, c'est surtout que la requête veut rien dire (tips : colle ta requête dans une variable et affiche la variable en question dans le die quand tu débug). Là, ça donne : SELECT * FROM r_comments ORDER BY id DESC LIMIT '.0.','.3. A part les points et ', c'est syntaxiquement correct :D

n°1176812
Multinickn​ame
Ah bon...
Posté le 16-08-2005 à 03:10:51  profilanswer
 

Merci de la réponse :hello:
 
Mais euh... j'suis surement tordu, mais j'ai pas compris comment t'arrives à une requete du type SELECT * FROM r_comments ORDER BY id DESC LIMIT '.0.','.3 ?
 
J'ai tenté d'afficher ma requete dans le die, mais ca me laisse du vide... (ca n'est pas signe que ca fonctionne puisque si je remet le mysql_error() l'erreur réapparaît :d)
 
En fin de compte ça ne marche toujours pas http://bigoizo.free.fr/style_emoticons/default/allergik.gif
 
Tu pourrais approfondir stp? :)


Message édité par Multinickname le 16-08-2005 à 03:34:11

---------------
Feaks Forum
n°1176821
esox_ch
Posté le 16-08-2005 à 07:21:38  profilanswer
 

Reflechi pas, virre les ' et les . qui servent a rien


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1177047
Multinickn​ame
Ah bon...
Posté le 16-08-2005 à 12:59:41  profilanswer
 

C'est bien ce que j'ai essayé de faire mais ca me plante la même erreur mais avec les variables cette fois :  
 

Citation :


Warning: Division by zero in /var/www/free.fr/1/f/trichkreu/livredor.php on line 131
Page : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '$pma, $nbmpp' at line 1


 
:spamafote:


---------------
Feaks Forum
n°1177069
esox_ch
Posté le 16-08-2005 à 13:41:23  profilanswer
 

Et la ligne 131 c'est quoi?


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1177075
Multinickn​ame
Ah bon...
Posté le 16-08-2005 à 13:48:43  profilanswer
 

Code :
  1. $nbp = ceil($nbm / $nbmpp);


 
Apparement il me dit que $nbmpp vaut 0? :heink: Non?


---------------
Feaks Forum
n°1177083
Profil sup​primé
Posté le 16-08-2005 à 14:02:16  answer
 

Multinickname a écrit :

Code :
  1. $nbp = ceil($nbm / $nbmpp);


 
Apparement il me dit que $nbmpp vaut 0? :heink: Non?


oui, mais apprends à debugger tu trouveras ton erreur tout seul : mets des echo de tes variables de compte de pages aux bons endroits pour déterminer leur valeur
 
 
de plus  
- s'amuser à verifier $_GET['page'] dans un for{} c'est pas bien propre
- $nbm ne peut etre égal à NULL : c'est soit 0, soit > 0
 
 

n°1177104
Multinickn​ame
Ah bon...
Posté le 16-08-2005 à 14:29:52  profilanswer
 

Bah non lorsque je met un echo dans mon die, ca me provoque une erreur, c'est ça que je comprends pas :/
J'dois mal comprendre...
 
Pour le reste, c'est corrigé :jap:


---------------
Feaks Forum
n°1177113
Multinickn​ame
Ah bon...
Posté le 16-08-2005 à 14:48:37  profilanswer
 

J'ai finalement trouvé, ma variable $nbmpp était mal placée  
 
et les variables dans la requete devaient etre entourées de {}
 
Merci pour l'aide quand même :hello:


---------------
Feaks Forum
mood
Publicité
Posté le 16-08-2005 à 14:48:37  profilanswer
 

n°1177168
naceroth
Posté le 16-08-2005 à 16:01:36  profilanswer
 

Multinickname a écrit :

Merci de la réponse :hello:
 
Mais euh... j'suis surement tordu, mais j'ai pas compris comment t'arrives à une requete du type SELECT * FROM r_comments ORDER BY id DESC LIMIT '.0.','.3 ?
 
J'ai tenté d'afficher ma requete dans le die, mais ca me laisse du vide... (ca n'est pas signe que ca fonctionne puisque si je remet le mysql_error() l'erreur réapparaît :d)
 
En fin de compte ça ne marche toujours pas http://bigoizo.free.fr/style_emoti [...] lergik.gif
 
Tu pourrais approfondir stp? :)


 
je vais approfondir parce que le reste de la conversation (y compris le "j'ai finalement trouvé" ) montrent que la solution tient plus du bidonage que d'une compréhension quelconque :D
 
1. En php, tu sais probablement qu'une chaine se met entre " (à l'intérieur desquels une variable est interpretée) ou à l'intérieur de ' (ou rien n'est interpreté). L'un ou l'autre. Mais une chaine que tu débutes avec " doit se finir avec " (et la même chose pour '). Pas question donc d'écrire "bonjour j'essaye de créer une chaine en php'.
 
2. Le point est un symbole de concaténation entre chaines. Des chaines complètes, avec le " ou ' à chaque extrémité. Si tu le case à l'intérieur d'une chaine, c'est un symbole de ponctuation on ne peut plus classique.
 
Conclusion, les variables de ta requête ne devaient pas être entourée de {} (elles ne sont mêmes utilisées que dans des cas très particuliers) mais par une simple correction de la manière dont tu avais écrit ta requête (c'est les bases en plus).

n°1178289
Multinickn​ame
Ah bon...
Posté le 17-08-2005 à 20:42:30  profilanswer
 

En effet ouais c'était une erreur con, avec du recul :d
 
Merci pour l'explication :jap:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Probleme avec mon systeme de pages

 

Sujets relatifs
probleme avec sort [resolu]Probleme avec script : XML to PHP
Problème de hauteur de divisionproblème de requête
[perl] récupéré le code source de plusieurs pagesProbleme pour protéger une video avec un .htaccess
Problème avec BBCloneProblème de caractères accentués via PHP
[résolu]Probleme PHP/Mysql bizzarreprobleme de Boucle avec une macro!!!!
Plus de sujets relatifs à : Probleme avec mon systeme de pages


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR