cs_ysn
Messages postés14Date d'inscriptionsamedi 28 janvier 2006StatutMembreDernière intervention31 mars 2006
-
1 mars 2006 à 12:50
xactise
Messages postés507Date d'inscriptionmardi 18 février 2003StatutMembreDernière intervention22 juin 2012
-
6 mars 2006 à 18:41
bonjour tout le monde,
je voudrais savoir comment faire pour gérer la pagination au niveau des message postés dans mon forum, je m'explique : lorsque j'ai par exemple 20 messages postés, au lieu de les afficher dans une seule page, j'aimerai pouvoir les séparer en deux pages avec par exemple deux lien en bas : 'page1','pages2', .. vous connaissez sûrement le truc.
voila j'espère que me suis bien exprimé
merci d'avance
xactise
Messages postés507Date d'inscriptionmardi 18 février 2003StatutMembreDernière intervention22 juin 20122 1 mars 2006 à 16:42
moi aussi je devais faire sa avec mes news sur mon site mais comme j'avais pas le net g pas pu chercher du coup g fé mon algorithme il fonctionne mais a mmon avis il est pas tres tres propre la je suis pas chez moi si tu ve j'éssaieraii de le poster ce soir
cs_ysn
Messages postés14Date d'inscriptionsamedi 28 janvier 2006StatutMembreDernière intervention31 mars 2006 1 mars 2006 à 19:47
salut,
xactise , ok c'est gentil merci
sidf c'est pas vraiment le problème, mais c'est comment faire pour ajouter les liens 'page1','page2', ...
est ce qu'il y a des sources sur le site que je pourrais consulter?
car j'ai cherché j'ai rien trouvé !!
xactise
Messages postés507Date d'inscriptionmardi 18 février 2003StatutMembreDernière intervention22 juin 20122 6 mars 2006 à 18:41
Bon voila comme promis avec un peu de retard ma source que j'ai fait moi même pour la pagination
C'est surement pas optimiser mais sa marche et c commenter en plus ;)
<HTML>
<HEAD>
</HEAD>
<?PHP
// On appel le fichier config/connec.php pour les variables de connexion
include 'config/connec.php';
// Déclaration de variables diverses
$j=1;
$k=1;
$stop=0;
$total=0;
// Connexion a la base de données
$idConnexion = mysql_connect("$serveur", "$login", "$pass") or die("Connexion impossible");
mysql_select_db("$base",$idConnexion);
// Requête SQL qui sélectionne tous les champs de la table blog_news
$requete = "select * from blog_news";
$envoi = mysql_query($requete);
while($tableau = mysql_fetch_array($envoi)) {
// On le nombre de donnée
$total++;
}
// On divise ce nombre par 5 (parce qu'on affiche 5 news par page)
$total = $total/5;
// Requête SQL qui sélectionne tous les champs de la table blog_news par ID décroissant
$requete = "select * from blog_news order by id desc";
$envoi = mysql_query($requete);
while($tableau = mysql_fetch_array($envoi)) {
// Si $stop==0 alors on affiche les news
if($stop==0){
// On stocke les données des différents champs dans différentes variables
$date = $tableau['date'];
$heure = $tableau['heure'];
$news = $tableau['news'];
// On affiche la news
echo "<FORM>
<FIELDSET>
<LEGEND>Le $date à $heure</LEGEND>
$news
</FIELDSET>
</FORM>
";
}
// Si le reste de la division de $j par 5 est égale a 0 alors on crée un fichier
if($j%5==0){
// On met stop à 1 pour ne plus afficher les news dans la première page
$stop=1;
// Nom du fichier a créer
$file = "news_$k.php";
// Ouverture du fichier on supprime son contenu ou création si le fichier n'existe pas
$fp = fopen("$file" , "w+");
// Contenu du fichier
$somecontent = '<?PHP
// On appel le fichier config/connec.php pour les variables de connexion
include \'config/connec.php\';
// Connexion à la base de données
$idConnexion = mysql_connect("$serveur", "$login", "$pass") or die("Connexion impossible");
mysql_select_db("$base",$idConnexion);
// Requête SQL qui sélectionne tous les champs de la table blog_news dont les ID sont compris entre '.$j.' et '.$j.' + 5
$requete = "select * from blog_news order by id desc limit '.$j.',5";
$envoi = mysql_query($requete);
while($tableau = mysql_fetch_array($envoi)) {
// On stocke les données des différents champs dans différentes variables
$date = $tableau[\'date\'];
$heure = $tableau[\'heure\'];
$news = $tableau[\'news\'];
// On affiche la news
echo "<FORM>
<FIELDSET>
<LEGEND>Le $date à $heure</LEGEND>
$news
</FIELDSET>
</FORM>
";
}
// On affiche les liens des autres pages
echo "";
echo "1 ";
for($i=1;$i<'.$total.';$i++){
$x = $i+1;
echo "$x ";
}
echo "
";
// On ferme la connexion
mysql_close($idConnexion);
?>
';
// On met le contenu dans le fichier
fwrite($fp, $somecontent);
// Fermeture du fichier
fclose($fp);
// On incrémente le nombre de fichier
$k++;
}
// On incrémente le nombre de news
$j++;
}
// On affiche les liens des autres pages
echo "";
echo "1 ";
for($i=1;$i<$total;$i++){
$x = $i+1;
echo "$x ";
}
echo "
";
// On ferme la connexion
mysql_close($idConnexion);
?>