Affichage page par Page [Résolu]

milkasoprano 239 Messages postés jeudi 21 juillet 2005Date d'inscription 1 juillet 2007 Dernière intervention - 17 nov. 2005 à 10:43 - Dernière réponse : milkasoprano 239 Messages postés jeudi 21 juillet 2005Date d'inscription 1 juillet 2007 Dernière intervention
- 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 !
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
FhX 2368 Messages postés mercredi 13 octobre 2004Date d'inscription 18 avril 2015 Dernière intervention - 17 nov. 2005 à 13:54
3
Merci
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 !

Merci FhX 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 99 internautes ce mois-ci

Commenter la réponse de FhX
Meilleure réponse
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 18 nov. 2005 à 08:14
3
Merci
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... ;-)

Merci malalam 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 99 internautes ce mois-ci

Commenter la réponse de malalam
Meilleure réponse
milkasoprano 239 Messages postés jeudi 21 juillet 2005Date d'inscription 1 juillet 2007 Dernière intervention - 18 nov. 2005 à 11:32
3
Merci
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..

Merci milkasoprano 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 99 internautes ce mois-ci

Commenter la réponse de milkasoprano
Meilleure réponse
milkasoprano 239 Messages postés jeudi 21 juillet 2005Date d'inscription 1 juillet 2007 Dernière intervention - 18 nov. 2005 à 15:30
3
Merci
Voila ca marche merci bcp !!

Merci milkasoprano 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 99 internautes ce mois-ci

Commenter la réponse de milkasoprano
FhX 2368 Messages postés mercredi 13 octobre 2004Date d'inscription 18 avril 2015 Dernière intervention - 17 nov. 2005 à 11:47
0
Merci
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'].
Commenter la réponse de FhX
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 17 nov. 2005 à 13:45
0
Merci
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...
Commenter la réponse de malalam
milkasoprano 239 Messages postés jeudi 21 juillet 2005Date d'inscription 1 juillet 2007 Dernière intervention - 17 nov. 2005 à 23:01
0
Merci
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...
Commenter la réponse de milkasoprano

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.