begin process at 2012 05 28 13:36:06
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

Afficher sur pllusieurs page les données d'une base mysql


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Afficher sur pllusieurs page les données d'une base mysql

samedi 10 novembre 2007 à 21:26:38 | Afficher sur pllusieurs page les données d'une base mysql

romega

Bonjour a tous,
Alors pour faire un blog, j'ai une base de donnée contenant des titres, des billets, des dates, etc... Et j'ai besoin d'afficher ce que contient cette base sur plusieurs pages, en piochant et jonglant avec le php j'ai un petit script qui est sencé faire ca, on remplie une variable qui idique le nombre de billets par page avec un petit calcul on calcul le nombre de page et on les crées dynamiquement. Seuleument il y a un problème, pour la premiere page pas de problème (3 billet en reglant sur 3), mais pour la seconde page, j'ai 5 billets au lieux de 3. Quel que soit le réglage j'ai 2 billets en plus sur les pages supèrieurs a 1. Voila le script, si vous pouvez m'aider ce serait sympa, j'ai passé ma journée a cherché partout et j'ai rien trouvé.
Je vous remercie d'avance pour votre aide
<?php
mysql_connect("adresse", "log", "pass"); // Connexion à MySQL
mysql_select_db("base"); // Sélection de la base coursphp

$sql = "SELECT COUNT(*) FROM billets";
$res = mysql_query($sql);
$nbbillet = mysql_result($res,0); //nombre de billet total
$nbbilletpage = 3 ; // nombre de billets par page
$pasround = $nbbillet / $nbbilletpage ;//nombre de page arrondie a la décimal supèrieur


$np = 1;
$nbpage = ceil($pasround);
if (empty($_GET['page'])){$_GET['page'] = 1;} //initialisation du nombre de page lors de la premiere venu sur la page

mysql_connect("ad", "log", "pas"); // Connexion à MySQL
mysql_select_db("base"); // Sélection de la base coursphp
$billetsup = ($_GET['page'] * $nbbilletpage ) ; //Calcul des limite de la base de donnée
$billetinf = $billetsup - $nbbilletpage ;
$reponse = mysql_query("SELECT * FROM billets ORDER BY id DESC LIMIT $billetinf,$billetsup"); // Requête SQL avec limite
while ($donnees = mysql_fetch_array($reponse))// boucle pour afficher la base de donnée, ici 3 billets par page
{
?>
        <span class="Style1">
<?php
echo $donnees['titre'];
?>
</span>
        <span class="Style2"><?php
echo $donnees['date'];
?>
        </span>
        <?php
echo '<br />';
echo $donnees['billet'];
echo '<br />';
echo '<br />';}
while ($np <= $nbpage)//boucle pour générer les pages qui affiche les billets
{
echo '<center><a href="index2.php?page='.$np.'">Page '.$np.' </a></center>';
$np++;
}

mysql_close(); // Déconnexion de MySQL
?>
samedi 10 novembre 2007 à 23:42:32 | Re : Afficher sur pllusieurs page les données d'une base mysql

romega

Je crois que le problème se pose dans la boucle par rapport a avec l'array par rapport a la base de donnée mais quel est le problème ?
Ou alors le LIMIT de mysql fonctionne mal ?
Je ne sais pas trop
dimanche 11 novembre 2007 à 00:32:37 | Re : Afficher sur pllusieurs page les données d'une base mysql

neigedhiver

Salut, La clause LIMIT de MySQL fonctionne très bien... Aucun soucis de ce côté là. Il faut juste savoir s'en servir correctement ;) Toi, tu passes le décalage du premier et du dernier billet en argument. C'est de là que vient l'erreur. Le premier argument correspond effectivement au décalage du premier enregistrement à retourner (pour retourner le premier enregistrement, il faut mettre 0, puisque c'est un décalage, pas une position). Le deuxième argument correspond au nombre d'enregistrement maximum à retourner. Autrement dit, ta requête n'est pas correcte. Elle devrait être comme ça : $reponse = mysql_query("SELECT * FROM billets ORDER BY id DESC LIMIT $billetinf,$nbbilletsup"); Du coup, change ton calcul. Supprime la ligne qui calcule $billetsup. Modifie celle qui calcule $billetinf comme ça : $billetinf = $nbbilletpage * ($_GET['page'] - 1); J'en profite pour attirer ton attention sur deux petits détails. - Evite d'utiliser la balise ouvrante courte
dimanche 11 novembre 2007 à 12:24:30 | Re : Afficher sur pllusieurs page les données d'une base mysql

romega

Enorme merci qui sauve mes cheveux, en effet je n'avais pas bien compris le fonctionnement de LIMIT, maintenant tout fonctionne nickel, les ligne de $billetsup et $billetinf que j'ai fais sont :

$billetsup = $nbbilletpage;
$billetinf = ($_GET['page'] * $nbbilletpage ) - $nbbilletpage;

Au passage est ce quelqu'un une bonne adresse qui explique bien le fonctionnement de php avec mysql ? car pour mon petit blog je vais en bouffer.


Cette discussion est classée dans : base, page, mysql, echo, billets


Répondre à ce message

Sujets en rapport avec ce message

affichage page par page avec variables [ par piervs ] J'ai un petit (en fait plutot gros) problème et je me permet donc de solliciter votre aide:J'essaye d'afficher à l'aide de PHP les résultats d'une req Créer une base de données MySQL avec PHP [ par dannywilde ] J'essaye de créer la base de données dans un script PHP mais à chaque fois que j'essaye, le PC mouline pendant une durée illimitée et n'affiche rien m formulaire base de donnée mysql [ par lyes_hh ] bonjour, j'ai créé une base de donnée... j'ai un formulaire qui permet de rentrer un nouvel enregistrement et jouhaite pouvoir modifier ces enregistre page par page [ par kennnnnny ] Je voudrais affiché des produits page par page, mais l'inconvénient c'est que g un menu principal qui affiche un second menu dans la même page. Et lor Probleme envoie de variable. [ par apledam ] Bonjour a tous.J'ai un petit problème, j'ai créer une base de données contenant des infos et des photos j'aimerais afficher les infos dans une premier probleme base de donnée mysql [ par morgandetoi06 ] voila j ai une page qui reçoit des variables et qui doit les inserer dans une table "informations" de la base "cv"mais ça me dit "querry failed" je ne aide pour un code php je debute et j n'y comprends rien [ par rober ] Roberun ami m'a fait un code en php pour:-1-creer une base de donnees a partir d'un fichier txt-2-effectuer une recherche dans cette base de donnees-3 problème de moteur de recherche [ par oceane751 ] bonsoir à tous!! j'essaye de creer un petit moteur de recherche sur mon site mais je rencontre quelque problème, je n'arrive pas à afficher les donnée envoyer des données récupérer dans une autre page php [ par titsuisse ] Bonjour,Je suis débutant en php et je suis coincé. Voilà mon problème. Je veux faire un site de petites annonces. J'ai plusieurs tables. J'ai une page Fusion PHP et MySQL [ par Also know as ] Bonjour,Voilà j'ai un problème tout bête je suis ne train de débuter en PHP avec MySQL et je cherche le moyen de lire la base MySQL à plusieurs endroi


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,685 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales