Probleme en php pour faire une pagination

Fermé
heaveng Messages postés 139 Date d'inscription dimanche 28 décembre 2008 Statut Membre Dernière intervention 29 juin 2009 - 17 mars 2009 à 23:06
heaveng Messages postés 139 Date d'inscription dimanche 28 décembre 2008 Statut Membre Dernière intervention 29 juin 2009 - 18 mars 2009 à 05:48
Bonjour,
je suis pas tres doué en php j'ai reussis a prendre des morceau de code trouvé avec des explications afin d'afficher mon tableau

maintenant je voudrais qu'il n'affiche qu'un certain nombree de resultats par page et qu'il y ai un systeme de pagination ( 10 resultats par page par exemple) Ici j'ai mis 1 car j'avai que 2 trucs ds ma table lol je voulais tester avant de m'attaquer a ma page reel.

voila mon code pas trop long mais ce qui est bizar c'est que si on retire les 4 derniere lignes exepté mysql_close();
alors mon tableau s'affiche correctement
donc ce sont les 4 derniere lignes qui foutent la BIP lol et je sais pas pourquoi mdr

<?php
// D'abord, on se connecte à MySQL
        mysql_connect("truc", "truc", "truc");
        mysql_select_db("aquaref_poissonsetplantes");
		
 if(isset($_GET['page']) && is_numeric($_GET['page']))
            $page = $_GET['page'];
       else
            $page = 1;
       $nb_par_page = 1;
       $debut = ($page-1)*$nb_par_page;
	    $sql = "SELECT SQL_CALC_FOUND_ROWS id, nom_sc, nom_com, photo, lien FROM Poissons ORDER BY nom_com LIMIT $debut, $nb_par_page";
       $req = mysql_query($sql) or die(mysql_error());
	   $nb_results = mysql_result(mysql_query("SELECT FOUND_ROWS()"), 0);
       $nb_pages = ceil($nb_results/$nb_par_page);
	   if(mysql_num_rows($req)) {
$tableau = '<table  class="table1">';
$tableau.='<tr><th>Photo</th><th>Nom commun</th><th>Nom scientifique</th><th>lien</th></tr>'; //titres des colonnes
           while($row = mysql_fetch_assoc($req))
               $tableau.='<tr><td class="poisson"><img src="'.$row['photo'].'" width="50"  height="50" /></td><td class="poisson">'.$row['nom_com'].'</td><td class="poisson">'.$row['nom_sc'].'</td><td class="poisson"><a href="'.$row['lien'].'">afficher</a></td></tr>'; 
}
$tableau.='</table  class="table1">';

       
	   echo $tableau; 
	   
	   if($_GET['page'] != 1)
 echo '<a href="page.php?page='.$_GET['page']-1.'">Page précédente</a>';
    if($page*$nombre_resultats < $num_rows)
 echo '<a href="page.php?page='.$_GET['page']+1.'">Page suivante</a>';
  mysql_close();
 ?>


AH j'allai oublier voila l'erreur qu'il me sort

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in /home/aquaref/www/eau douce/maladies/test.php on line 36


la ligne 36 etant la 4 eme ligne en partant de la fin

merci d'avance a ceux qui vondront bien essayer de m'aider
bonne soirée a vous
A voir également:

8 réponses

sebshiva Messages postés 194 Date d'inscription lundi 16 mars 2009 Statut Membre Dernière intervention 17 juin 2010 10
17 mars 2009 à 23:19
Salut!

essaie if(($page*$nombre_resultats) < $num_rows)
0
heaveng Messages postés 139 Date d'inscription dimanche 28 décembre 2008 Statut Membre Dernière intervention 29 juin 2009
17 mars 2009 à 23:22
j'ai essayer ca ne change rien apparement c la ligne en dessous qui deconne
ps avec ce nouveau code le message d'erreur reste le meme
0
hani_ Messages postés 333 Date d'inscription lundi 22 septembre 2008 Statut Membre Dernière intervention 18 novembre 2009 20
17 mars 2009 à 23:24
'<a href="page.php?page='.$_GET['page']-1.'">Page précédente</a>'

problème de guillemet/cote

ici on ne prend que les simples '
'<a href="page.php?page=' ici c'est ouvert/fermé donc ok
'page' pareil donc ok
'">Page précédente</a>' pareil donc ok aussi

maintenant passons aux doubles "
"page.php?page='.$_GET['page']-1.'"
ici tu ouvres une simple ' juste avant de refermer la double "

mode zoom :
-1.'"

inverse les pour voir...

mode zoom après inversion
-1."'


si c'est ça alors ils te dira exactement la même chose pour la ligne 38
0
heaveng Messages postés 139 Date d'inscription dimanche 28 décembre 2008 Statut Membre Dernière intervention 29 juin 2009
17 mars 2009 à 23:28
apres changement
un nouveau code d'erreur apparait

Parse error: syntax error, unexpected '"', expecting ',' or ';' in /home/aquaref/www/eau douce/maladies/test.php on line 36

merci de m'aider en tout cas
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
hani_ Messages postés 333 Date d'inscription lundi 22 septembre 2008 Statut Membre Dernière intervention 18 novembre 2009 20
17 mars 2009 à 23:35
Bon je ne vois pas le problème mais une chose est sur :
T_CONSTANT_ENCAPSED_STRING

il vient d'une constante.
La seule que tu ai ici c'est
$_GET['page']

donc il faut chercher par là!!!
0
heaveng Messages postés 139 Date d'inscription dimanche 28 décembre 2008 Statut Membre Dernière intervention 29 juin 2009
17 mars 2009 à 23:40
euh ma question va peut etre parraitre stupide mais est ce que vous voyez quelque part vous dans le script definir la constante $_GET['page'] car o debut on fais un test pour savoir si elle existe ou non mais si elle existe pas null par on la defini si je me trompe pas

je me tromps???
0
hani_ Messages postés 333 Date d'inscription lundi 22 septembre 2008 Statut Membre Dernière intervention 18 novembre 2009 20
18 mars 2009 à 00:06
en fait c'est dans le 'page' qu'il doit y avoir un problème
$_GET est définie par défaut en php.
en fait $_GET permet de récupérer des valeurs passées dans l'URL.
0
heaveng Messages postés 139 Date d'inscription dimanche 28 décembre 2008 Statut Membre Dernière intervention 29 juin 2009
18 mars 2009 à 05:48
moi ce que je comprend pas c'est que le test
if($_GET['page'] != 1)
echo '<a href="page.php?page='.$_GET['page']-1.'">Page précédente</a>';

or page=1 alors la fameuse ligne 36 ne devrai meme pas s'exprimer !!!!
0