Pagination en php URGENT

hoodlum Messages postés 57 Date d'inscription lundi 16 mai 2005 Statut Membre Dernière intervention 24 septembre 2010 - 19 mai 2005 à 17:35
hoodlum Messages postés 57 Date d'inscription lundi 16 mai 2005 Statut Membre Dernière intervention 24 septembre 2010 - 20 mai 2005 à 13:17
Tout d'abord je suis debutant en php et J'ai un petit pb,jarrive pas a trouver l'erreur dans mon script de pagination pour une requete SQL qui retourn bcp de resultat sur different page.AIDEz MOI SVP!!
<?
include("connect.inc.php"); //parametre de connection
include("heads.inc.php");

$request= $_SERVER['REQUEST_METHOD'];

($request=="POST")?$choix=$_POST['choix']:$choix=$_GET['choix'];
($request=="POST")? $debut=0 : $debut=$_GET['debut'];
($request=="POST")? $fin=5: $fin=$_GET['fin'];

if($choix==NULL)
echo"<center> VOUS AVEZ FAIT AUCUN CHOIX. </center>";
else{
$query ="SELECT id_style FROM style WHERE (style.style)= '$choix'";
$resultat=mysql_query($query);
while($tableau=mysql_fetch_array($resultat)){
$id_style=$tableau["id_style"];
}
$queryno="SELECT no FROM possede WHERE (possede.id_style)='$id_style' ";
$resultatno=mysql_query($queryno);
$nbno=mysql_num_rows($resultatno);
//($nbno==o)?echo"<center> Il n'y a pas encore de script pour la rubrique $choix. </center>":CONTINUE;
$queryno ="SELECT no FROM possede WHERE (possede.id_style)='$id_style' LIMIT $debut,$fin";
$resultatno=mysql_query($queryno);
while($tableauno=mysql_fetch_array($resultatno)){
$no=$tableauno["no"];

$queryid="SELECT id,script FROM script WHERE (script.no)='$no' LIMIT $debut,$fin";
$resultatid=mysql_query($queryid);
while($tableauid=mysql_fetch_array($resultatid)){
$id=$tableauid["id"];
$script=$tableauid["script"];

$queryren="SELECT rendu FROM rendu WHERE (rendu.id)='$id' LIMIT $debut,$fin";
$resultatren=mysql_query($queryren);
while($tableauren=mysql_fetch_array($resultatren)){

$rendu=$tableauren["rendu"];

echo"<center>$rendu</center>";
echo"<center>$script</center>";
echo"<center>#################################################################</center>";
echo"<center>#################################################################</center>";
}
}
}
}
$nbrp=ceil($nbno/$fin);
echo"<center>";
if($nbrp>=2)
{
if(isset($_GET['page']))
{
if($_GET['page']==1){echo"PRECEDENT";}
else{
$deb=$debut-$fin;
echo"PRECEDENT";
}
}
else{echo"PRECEDENT";}
}
for($i=0;$i<$nbrp;$i++)
{
$deb=$debut+$fin;
echo"PAGE".($i+1)."-";
}
if($nbrp>=2)
{
if(isset($_GET['page']))
{
if($_GET['page']==$nbrp){echo"SUIVANT";}
else{
$deb=$debut+$fin;
echo"SUIVANT";
}
}
else{echo"SUIVANT";}
echo"</center>";

echo"<hr width=80% align="middle" />
<center>RETOUR A LA PAGE D'ACCEUIL</center>";
}
include("foot.inc.php");
?>

5 réponses

cs_garfield90 Messages postés 388 Date d'inscription lundi 7 juillet 2003 Statut Webmaster Dernière intervention 10 février 2009
19 mai 2005 à 19:29
Salut,



dis nous ce que fait le script, perso, j'ai pas trop le temps de
chercher a comprendre ce que fais ton code, ou du moins commente le
assez pour que l'on puisse le comprendre facilement.



De plus, indiques nous l'erreur que tu as ainsi que la ligne, et si
possible surligne la, pour que l'on ai pas non plus a la chercher dans
ton source.



A plus avec un POST un peu plus compréhensible

"They are 10 sorts of persons whose understand binary and whose not"
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
19 mai 2005 à 20:44
($request=="POST")?$choix=$_POST['choix']:$choix=$_GET['choix'];

est à remplacer par :



$choix=($request=='POST')?$_POST['choix']:$_GET['choix'];


je ne fais pas de mysql mais je vois quand même ces petites imperfections


In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
0
hoodlum Messages postés 57 Date d'inscription lundi 16 mai 2005 Statut Membre Dernière intervention 24 septembre 2010
20 mai 2005 à 00:40
Salut GARFIELD90

BEN en fait le pb c ke apres ke ca nous ai affiché les 5 premier resultats sur la page 2 par exple il me mais le mm resultat ke la page 1
0
cs_garfield90 Messages postés 388 Date d'inscription lundi 7 juillet 2003 Statut Webmaster Dernière intervention 10 février 2009
20 mai 2005 à 08:55
Salut,



tu fais tout le temps la meme requete, car tu initialises $debut à 0
dans tous les cas: (pb au niveau de ton formulaire probablement, ke ne
peux pas voir, il est pas présent )

remplace cette ligne

($request=="POST")? $debut=0 : $debut=$_GET['debut'];
par

$debut = ($request=='POST') ? intval($_POST['debut']) : intval($_GET['debut']) ;



le intval permet d'avoir 0 dans les cas où tu as des mauvaise valeurs dans $_GET ou $_POST ['debut'].



Cependant fais un affichage de ta requete, ca te permettra de voir si j'ai raison ou non




"They are 10 sorts of persons whose understand binary and whose not"
0

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

Posez votre question
hoodlum Messages postés 57 Date d'inscription lundi 16 mai 2005 Statut Membre Dernière intervention 24 septembre 2010
20 mai 2005 à 13:17
Salut GARFIELD90
enfait ta rectification est bonne mais sa marche toujours pas.
mais maintenant sur les pages suivantes la requete n'est pas executée.
As tu la soluce a ce pb stp?
0
Rejoignez-nous