Affichage page par Page

Résolu
milkasoprano Messages postés 239 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 1 juillet 2007 - 17 nov. 2005 à 10:43
milkasoprano Messages postés 239 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 1 juillet 2007 - 18 nov. 2005 à 15:30
Bonjour tous le monde,
Je vous écris car j'ai un tous petit probleme au niveau de mon script qui affiche les resultat dune requete par page...

Le script en lui meme c 'est a dire le codage a été pris sur une source ( dans un site ) et il n'est donc pas a moi... jai essayé du mieux que je peux pour lincorporé dans mon script.

J'ai créé un systeme de blog pour ma communiquer ( Familial ) afin de nous permettre d'échanger nos photos sur le net comme la distante de nos demeure est assez éloigné etc.. etc... et ce qu'il ce passe c'est que pour acceder à la page dun blog il faut faire comme ceci :

1 http://Site.com/portal/index.php?id=1 id A lidentifiant du membre c a dire 1 moi par exemple (jusque la aucun probleme)

Le resultat attendu dans laffichage est de selectionner les 5 enregistrements par page ( tous marche c cool )
Mais au moment ou j'appuie sur la page deux ! il maffiche en effet la page 2 mais il ne maffiche pas la suite des 5 autres enregistrements, il maffiche juste les 5 premiers enregistrements...

Lol meme si j'enregistre dans la base 50 enregistrements ou 6 ou 1000 il maffiche que la premiere page a chaque fois... ce qui est embetant ...

bon maintenant si il y a que 2 enregistrements ! pas de probleme laffichage ce fait puisque il n'y a pas de seconde page. en effet la limite par page ce fait a 5 enregistrement par page : ( je souhaite bien lexpliquer afin quil ny ai pas d'ambiguiter dans mon probleme)

ci dessous vous trouverez la source de mon script...
franchement je lavoue je ne comprend pk il ne maffiche pas la page deux ou +
juste la page 1 a chaque fois...

J'espere que vous arriverez a m'aider dans ce probleme un peu genant car depuis 2 jours je ny arrive pas du tous... alors je poste ce message pour trouver de laide ...

------
Vous apercevrez en fin de page quil y a du javascript... peut etre cela le probleme !
je lai enlever le resultat est le meme !
avant de lincorporé dans mon design etc... javai fai un test sur une page vierge en php.. et ca marcher tres bien..
---

Voici donc la partie de la page ou on affiche le resultat de la requette mysql par page
Je repete tous saffiche correctement c'est au moment ou je souhaite passer a la seconde page, il maffiche en effet la seconde page mais avec les memes resultats que la premieres (les 5 enregistrements de la premieres pages )

<?

$track=mysql_connect($BD_serveur, $BD_utilisateur, $BD_motDePasse) or die(''.mysql_error());
// ON CHOISI LA BASE
mysql_select_db($BD_base,$track) or die(''.mysql_error());


//----------------------------------------------------------------


// Déclaration des variables
// ICI TU CHANGES LES VALEURS SI TU VEUX, LA PREMIERE VARIABLE N'A PAS CHANGE PAR RAPPORT AU 1ER SCRIPT, LA DEUXIEME C POUR PARAMETRER LE NOMBRE DE LIEN VERS LES PAGES QUE TU VEUX AFFICHER EN MEME TEMPS...

$nb_rep_pages =5; // Nombre de réponses par pages
$nb_liens_pages= 2; // Nombre de liens vers les pages en bas de page


// Initialisation des variables
if(empty($page)) $page = 1;
if(empty($fin)){
$sql = "SELECT COUNT(*)img_id FROM blog_article WHERE id_membre='".$enreg["pseudo"]."'";
$p = mysql_query($sql,$track);
$fin = mysql_result($p,"0","img_id");
}


// Déclaration de la variable début
$debut = ($page - 1) * $nb_rep_pages;


//la requète de selection des messages
$req = mysql_query("SELECT img_id,titre,article,date from blog_article WHERE id_membre='".$enreg["pseudo"]."' Order by img_id Asc LIMIT $debut,$nb_rep_pages") or die ("erreur requete");


// Ici on calcul le nombre de page
$nbpages = ceil($fin / $nb_rep_pages); // Ici on arrondi
////////
if (mysql_num_rows($req)>0){
while ($contenu=mysql_fetch_array($req)){

echo'
'.$contenu['titre'].'



'.$contenu['article'].'

Posté le : &nbsp;'.$contenu['date'].'
';
?>


[javascript:na_open_window('win', '../../diz_contact/laisser.php?idmbr =<?echo $contenu[ &id_membre= <?echo $enreg["pseudo"];?>', 0, 0, 700, 250, 0, 0, 0, 0, 0)" target="_self">Laisser un Commentaire.
][javascript:na_open_window('win', '../../diz_contact/lire_coms.php?idmbr=<?echo $contenu[ ', 0, 0, 700, 600, 0, 0, 0, 0, 0)" target="_self">Lire les commentaires.]


<?



echo '
';
}
}
else { echo' Pas d\'article dans ce blog';}
//on ressort le contenu en boucle, et on stock dans un tableau avec mysql_fetch_array


///
// Affichage par page :)
if(empty($pointeur)) $pointeur = 1;


if ($pointeur - $nb_liens_pages >= 1){ //Test s'il reste des pages a afficher avant, auquel cas on affiche le << pour 'precedent'
$c = $pointeur - $nb_liens_pages;
echo " << ";
}


for($i = 1 ;$i <= $nb_liens_pages ;$i++){ //Boucle pour les 'nb_liens_pages' liens a afficher
$j=($pointeur+$i)-1;
if ($j <= $nbpages){
echo "$j";
echo " ";


}
}


if ($pointeur + $nb_liens_pages <= $nbpages){ //Test s'il reste des pages a afficher apres, auquel cas on affiche le >> pour 'suivantes'
$b = $pointeur + $nb_liens_pages;
echo " >> ";
}


//on referme la connexion
mysql_close();


?>

Merci a tous pour vos reponses :)
si quelquun trouve je lui en serai fortement reconnaissant
Encore merci !

7 réponses

FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
17 nov. 2005 à 13:54
La meme question avait été posé sur le forum a propos d'un envoi de mail massif.

J'avais fait un code qui devait marcher à la va-vite, si tu le retrouves y'a juste à modifier 2 - 3 trucs je pense !
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
18 nov. 2005 à 08:14
Malamam merci pour la reponse, tu crois que c ca qui affecte mon probleme au niveau de ma requete



=> c'est Malalam ;-) J'ai parlé de requête, moi? Ah...



Bon courage...mais relis moi plus attentivement... ;-)
3
milkasoprano Messages postés 239 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 1 juillet 2007
18 nov. 2005 à 11:32
Lool nan tu na pas parlé de requete mais quand tu changes de pages jai lhabitude de dire que mysql fait aussi une requete... pour afficher le reste des enregistrements dou le fait que il y a un probleme au niveau dune variable c'est a dire :
Et que $page = $page si $page est vide...

voila ;)
je regarde merci encore et je te dis quoi..
3
milkasoprano Messages postés 239 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 1 juillet 2007
18 nov. 2005 à 15:30
Voila ca marche merci bcp !!
3

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

Posez votre question
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
17 nov. 2005 à 11:47
Tu as le choix :
1) Tu fais une grosse requetes pour récupérer tous tes enregistrements. Tu coupes tout en morceaux et tu gardes ca en session.
2) Tu fais des petites requetes sur chaque page en utilisant la clause LIMIT que tu incrémentera en fonction de ta valeur de $_GET['id'].
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
17 nov. 2005 à 13:45
Et pour ce code, regarde, quand tu cliques sur tes liens, comment bougent les valeurs de page, de fin, et de pointeur, dans la barre d'adresse...


Sachant que le LIMIT par de $debut.


Et que $debut = ($page - 1) * $nb_rep_pages.

Et que $nb_rep_pages = 5

Et que $page = $page si $page est vide...


Ce dernier point me faisant beaucoup rire... ;-)
Pourquoi ?
Hmm, devinette : comment passes tu la valeur de $page de page en page...?
2ème devinette, comment récupère t on dans une page un paramètre passé à la page par l'url ?

Si avec ça, tu ne corriges pas en vitesse...
0
milkasoprano Messages postés 239 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 1 juillet 2007
17 nov. 2005 à 23:01
Merci pour vos reponses, dsl de ne pas avoir repondu avant ! GROS PB AVEC WANADOO:s

Malamam merci pour la reponse, tu crois que c ca qui affecte mon probleme au niveau de ma requete. je vais donc voir cela en detail !
mais pour tes devinne ! hum hum ! telle est la question :d
lool

jai deviné a peut pres ce qui fallait faire par rapport a ce que tu mas indiqué. je vais voir sa demain en detail car la je rentre du boulot 23h00 et je suis mort ::

si jai tjs un probleme avec ce script je reposte ici... merci pour votre aide...
je vais faire ce que tu mas di de faire malalam... merci pour le temps que tu té consacré pour moi ( toi aussi FHX) c tres gentil de votre part...
0
Rejoignez-nous