Un bouton pour voir les anciens messages

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Un bouton pour voir les anciens messages

Re: Un bouton pour voir les anciens messages

par kopax » 01 avr. 2010, 10:57

Salut.

Merci ca fonctionne.
Je n'ai pas fais disparaitre le liens pages précédente, mais je l'ai rendu inactif quand on est sur la page 1, mon code est moins compliqué et je comprend ce que j'ai fais au moins.


Voila à quoi ca ressemble, qu'en pensez vous (j'ai changer le get page en get feuille car je me sers deja du get page sur toute les pages:
$messages_par_feuille = 10;

if (empty($_GET['feuille']))
{
$feuille = 0;
}
else
{
$feuille = $_GET['feuille'];
}
$sql_nb = "SELECT COUNT(*) FROM $table_shoutbox";
$resultat_1 = mysql_query($sql_nb);
$nb_msg = mysql_result($resultat_1, 0);
$nb_pages = ceil($nb_msg / $messages_par_feuille);

	if($nb_pages > 1 && $feuille == 0)
    {
	$feuille_precedente = $feuille - 0;
	}
	elseif($nb_pages > 1)
	{
	$feuille_precedente = $feuille - 10;
	}

$feuille_suivante = $feuille + 10;
$lien_feuille_prec = '<a href="acceuil.php?page='.$show_shoutbox.'&feuille='.$feuille_precedente.'">préc.</a>';
$lien_feuille_suiv = '<a href="acceuil.php?page='.$show_shoutbox.'&feuille='.$feuille_suivante.'">suiv.</a>';
$link_page = ''.$lien_feuille_prec.'&nbsp;|&nbsp;'.$lien_feuille_suiv.'';

$sql = "SELECT * FROM $table_shoutbox ORDER BY idmessage DESC, date DESC, heure DESC LIMIT $feuille, $messages_par_feuille";

Re: Un bouton pour voir les anciens messages

par kopax » 01 avr. 2010, 09:44

Merci magwell, je regarde cela et je travail dessus, je te dis si c'est bien ce que je cherche, en mélangant ca et le tutorial qu'on ma déjà donné, je pense pouvoir arriver à mes fin. Je travail dessus :)

Re: Un bouton pour voir les anciens messages

par macgawel » 31 mars 2010, 17:48

En fait, ça dépend...

- Tu veux travailler en PHP pur, ou utiliser du JavaScript ?
- Il va y avoir de l'activité ?

En PHP pur (et aussi en AJAX), le principe c'est :
- Récupérer la "page" demandée.
Si le shoutbox est dans la page mapage.php, un clic sur une flèche pointera sur mapage.php?page=<page_précédente/suivante>.
Exemple de script basique - il faut le sécuriser et faire les tests pour éviter de vérifier que la page demandée existe...
$messages_par_page = 10;
$page= $_GET['page'];
// la Requête SQL à passer. On utilise LIMIT debut, nombre
$sql = "SELECT * FROM $table_shoutbox ORDER BY idmessage DESC, date DESC, heure DESC LIMIT $page, $messages_par_page";
//On construit les liens page précédente/page suivante
$page_precedente = $page -1;
$page_suivante = $page + 1;
$lien_page_prec = '<a href="mapage.php?page='.$page_precedente.'">préc.</a>';
$lien_page_suiv = '<a href="mapage.php?page='.$page_suivante.'">suiv.</a>';
// On récupère les messages grâce à la requête, et on affiche le tout

Re: Un bouton pour voir les anciens messages

par kopax » 31 mars 2010, 17:13

Merci pour vos réponses, je viens d'étudier l'exemple, le tutorial.

Il y a malheureusement des lignes qui ont été transformer, j'ai essayé de les retapés pour le faire fonctionner mais rien à faire.

Il y a vraiment beaucoup de variable, ca m'a l'air tres compliqués, j'ai compris la moitié du code.
L'autre moitié concerne une indexation par pages :

1/2/3/4/5 etc...

Finalement la partie qui m'intéresse reste maigre, à part calculé le nombre de page total jusqu'ou je peux aller, mais je ne s'aurai pas quoi en faire pour ce que je veux faire..

Il y a pas un moyen plus simple de faire un boutons qui peu simplement incrémenter de 10 ma limit et un autre pour la réduire de 10?

Stealth35, ton article est un peu compliqué pour moi, j'essai t'en bien que mal d'apprendre vite, je sais pas comment tourné toute ces formules.

Je comprend au moins que la solution est sous mon nez ^_-

Re: Un bouton pour voir les anciens messages

par stealth35 » 31 mars 2010, 16:11

grace CALC_FOUND_ROWS, tu pourras savoir ne nombre d'entre de ta requete sans prendre en compte le LIMIT, apres c'est des math simple pour les fleche (+10 (si il en reste au moins 10) et inversement)

Re: Un bouton pour voir les anciens messages

par Calimero » 31 mars 2010, 16:09

Bonjour,

La clause LIMIT de MySQL accepte un deuxième paramètre optionnel qui sert justement à ça :)

Un petit tour par le tuto qui va bien : faq-tutoriels/afficher-des-elements-pag ... t8874.html

Un bouton pour voir les anciens messages

par kopax » 31 mars 2010, 16:04

Bonjour,

Je suis entrain de faire un shoutbox, et lors de l'affichage de la page, je n'affiche que les 10 derniers messages postés.
$sql = "SELECT * FROM $table_shoutbox ORDER BY idmessage DESC, date DESC, heure DESC LIMIT 10";
Ensuite les résultats apparaisse dans un tableau.

J'aimerai faire deux fleche, comme un scroll bar, et si on clic sur celle du bas, que la page se recharge avec une requêtes qui affiche les 10 entrés précédentes etc...
Afin de pouvoir revenir sur les anciens messages.

Je n'ai aucun idée par ou commencer, il faudrait aussi une flèche vers le haut, pour remonté.
Je me demande ce qu'il se passe quand on arrive au bout de la table d'un coté comme de l'autre.

J'ai jusqu'à présent toujours évité de faire ça, mais j'ai appris pas mal de chose ici sur le forum et je doute pas que quelqu'un saura me renseigner.

merci d'avance

Dimitri