begin process at 2012 05 31 05:31:28
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Débutants

 > 

pagination de news en php


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

pagination de news en php

mardi 22 novembre 2005 à 20:26:59 | pagination de news en php

yunie77

bonsoir à tous,

j'ai un problème sur ma pagination. je veux mettre seulement 5 news par page, mais toutes les news apparaissent a chaque fois. si je met un LIMIT 0,5 dans ma requete sql. j'ai bien mais 5 news mais les autres n'apparaissent tjrs pas dans les autres pages.
le code est le suivant :

<?php
//partie de connexion a la bdd
$serveur = "localhost";
$login = "root";
$pass = "";
$connexion = mysql_connect( $serveur, $login, $pass );
mysql_select_db( "news", $connexion );
//********** Fin de la partie connexion **********\\
$nbParPage = 3;
//on effectue la requète sur l'objet que l'on souhaite paginer ( ici des news )
$req1=mysql_query("SELECT id_news, nom_redacteur, titre_news, message_news, date_news
                        FROM redacteur, news
                        ORDER BY date_news DESC;");
$nbNews=mysql_numrows($req1);
//$nbnews=$nbnews[0];
echo "il y a $nbNews";

//On calcule le nombre de numéro à afficher en fonction du nombre de news par
//page en arrondissant au nombre supérieur grace a la fonction ceil.
$moy= ceil($nbNews/$nbParPage);
echo "<br>et il y aura $moy page<br>";

//*********** Partie concernant le "bouton" précedent ***********\\
//on vérifie qu'il y a au minimum 2 page a afficher pour utiliser
//la fonction Suivant / précédent
if ($moy>=2)
{
  //on vérifie l'éxistence de la variable page avant les vérifications
  if (isset($_GET['page']))
  {
      //si $_GET['page'] = 1 alors on est a la première page et donc pas besoins
      //de lien vers la précédente qui n'éxiste pas
      if ($_GET['page']==1){echo "Precedent ";}
//sinon on met le lien en ajoutant +1 page a la page courante
else
{
echo "<a href=\"http://127.0.0.1/gestion_de_nouvelles/pagination.php?page=".($_GET['page']-1)."\">Precedent</a> ";
}
}
else{echo "Precedent ";}
}
//*********** fin de la partie concernant le "bouton" précedent ***********\\

//prenons un exemple concret :
// nous avons 10 news dans la base
// a ce moment nous savons donc qu'il y aura 2 page :
// $nbNews = 10 divisé par 5 ( 5 news par page ) = 2 pages.
// on peut déja afficher les numéros :
// on effectue une boucle tant qu'il y a des pages on ajoute un lien
for ($i=0;$i<$moy;$i++)
{
    // on ajoute 1 a $i pour afficher 1-2-3-... au lieu de 0-1-2-3-...
    echo "<a href=\"http://127.0.0.1/gestion_de_nouvelles/pagination.php?page=".($i+1)."\"> Page ".($i+1)."</a> ";
}

//*********** Partie concernant le "bouton" suivant ***********\\
//on vérifie qu'il y a au minimum 2 page a afficher pour utiliser
//la fonction Suivant / précédent
if ($moy>=2)
{
  //on vérifie l'éxistence de la variable page avant les vérifications
  if (isset($_GET['page']))
  {
//si $_GET['page'] = $moy alors on est a la dernière page et donc pas besoins
//de lien vers la suivante qui n'éxiste pas
      if ($_GET['page']==$moy){echo " Suivant";}
      //sinon on met le lien en ajoutant +1 page a la page courante
      else
      {
          echo " <a href=\"http://127.0.0.1/gestion_de_nouvelles/pagination.php?page=".($_GET['page']+1)."\">Suivant</a>";
      }
      echo "<br>La page courante est :".$_GET['page']."";
  }
  else{echo "<a href=\"http://127.0.0.1/gestion_de_nouvelles/pagination.php.php?page=1\">Suivant</a>";}
}
//*********** fin de la partie concernant le "bouton" Suivant ***********\\
while ($tab = mysql_fetch_array($req1))
{
  $nom = $tab[1];
  $titre= $tab[2];
  $message = $tab[3];
  $date_tmp = explode(" ", $tab[4]);
  $date_tmp2 = explode("-", $date_tmp[0]);
  $heure = $date_tmp[1];                           //explode decoupe la chaine en tableaux en separant la ou il y a des -
  $date = array_reverse($date_tmp2);

  //affichage des informations dans un formulaire précomplété
  echo "<table border='1'align=center cellspacing='0' cellpadding='2' WIDTH='80%'>
       <tr>
       <td align='center' bgcolor='#205C93' width='70%'>".$tab[2]."</td>
       <td align='right' colspan='2' bgcolor='#205C93'>".$date[0]."/".$date[1]."/".$date[2]."  ".$heure." </td>
       </tr>
       <tr>
       <td colspan='3'><br>".$tab[3]."<br><br><br></td>
       </tr>
       <tr>
       <td align='left' width='40%'><b>par : </b>".$tab[1]."</td>

       <td align='right'> <img src='http://127.0.0.1/gestion_de_nouvelles/images/commentaire.gif'></td>
       <td width='5%' align='right'><img src='http://127.0.0.1/gestion_de_nouvelles/images/imprimante.jpg' onClick=\"window.print()\"></td>
       </tr>
       <tr><br><br><br>";

  echo "</font></table>";
}

?>

MERCi de votre aide
mardi 22 novembre 2005 à 20:33:54 | Re : pagination de news en php

J_G

J'ai déjà vu ce post quelque part ;)


while ($tab = mysql_fetch_array($req1))

ben, si tu boucle sur tout ton résultat, c'est forcée que tu les affiches toutes tes news !!! non ?


pour ne sortir que les bonnes news de la requète :

SELECT ........ LIMIT 0,5;   <= page 1
SELECT ........ LIMIT 5,5;   <= page 2
SELECT ........ LIMIT 10,5;   <= page 3
...


bien sûr tu comptes le nombre de pages avant
SELECT count(ID) ....
mardi 22 novembre 2005 à 20:38:10 | Re : pagination de news en php

yunie77

il faut que je fasse autant de requete ?
je comprend pas très bien le principe :$
mardi 22 novembre 2005 à 20:55:08 | Re : pagination de news en php

yunie77

y a t'il une âme charitable pour aider une fille en détresse :$
mardi 22 novembre 2005 à 21:22:52 | Re : pagination de news en php

Anthomicro

21 ans c'est intéressant ça ^^ (t'es d'où dans le 77 ?) si tu connais Chelles (on sait jamais lol...)

Bref non tu fais une seule requête avec LIMIT debut,nombre_d'enregistrements_retourné

exemple si tu veux  commencer au 10 ème enregistrement et retourner 5 enregistrements :

SELECT blabla FROM table WHERE machin LIMIT 10,5

mais bon... faudrait éviter de passer par un limit et bosser sur le champ id unique, ça serait largement plus efficace.

    mardi 22 novembre 2005 à 21:25:39 | Re : pagination de news en php

    yunie77

    merci de ta réponse je vais essayer de me débrouiller je suis de villeparisis c'est à coté ^^
    mardi 22 novembre 2005 à 21:27:30 | Re : pagination de news en php

    yunie77

    il y a rien à faire j'y arrive pas je suis nulle :'(
    mardi 22 novembre 2005 à 21:59:17 | Re : pagination de news en php

    Anthomicro

    Ah ok Villeparisis :-)

    si tu es blonde à forte poitrine on peut s'arranger (non je déconne lol)

    si t'arrives à fournir un code concis je peux regarder, mais voir un pavé comme ça ça m'attire pas désolé :-(


      mardi 22 novembre 2005 à 22:50:48 | Re : pagination de news en php

      FhX

      Anthomicro : "si t'arrives à fournir un corps assez concis je peux regarder, mais voir un pavé comme ça ça m'attire pas désolé :-("

      Han le salo ! ;)
      mardi 22 novembre 2005 à 22:53:31 | Re : pagination de news en php

      Anthomicro

      Bah disons que si elle poste sa photo et ses mensurations je veux bien faire de l'assistance à domicile :-) (ça ira plus vite) lol



        1 2 3

        Cette discussion est classée dans : date, page, tab, echo, news


        Répondre à ce message

        Sujets en rapport avec ce message

        gestion de news en php [ par yunie77 ] bonjour à tous,je crée un site sur la gestion de nouvelles d'un site internet. j'aimerai limiter le nombre d'affichage de news (5 par page) et pouvoir erreur 404 [ par gspfranc ] Bonjour j'ai trouver un code sur internet qui envoie un message lors d'une erreur 404 mais sa fonctionne pas :( <? $to="fireballgame@hotmail.com"; tableau comme calendrier!! [ par titigrou ] kikou a tous!!!pffff j'ai un énorme problème et urgent a règler mais je n'arrive pas a voir l'erreur!!!!au secours!!!!j'ai une liste déroulante semain Problème d'affichage par page [ par redjay ] Bonsoir, Voilà, j'ai un soucis avec un script d'affichage par page... En effet, lorsque la page s'affiche, elle m'affiche bien une limite de news mai commentaire [ par csmgroup ] Bonjour à tous,je viens vers vous car j'ai un petit soucis.J'ai instalé un script de news-commentaires, au niveau base de données, tout fonctionne. Le comparaison dates [ par noussaa19 ] Bonjour, j'ai un problème dans mon code php je veux comparer 2 dates dont la première récupéré à partir d'une base de donnée mysql mais sous la forme pbm d'echo [ par Homeros ] Bonjour,est ce que quelqu un pouvez me dire comment je peux écris se code avec "echo"j'ai fait saecho "date(\"d-m-Y\", strtotime($r recupérer des donnée d'une table et les afficher sous forme de tableau [ par saryas ] Bonsoir à tous... j'ai une  question pour la construction d'une requete j'ai une tables : VOL (ref_vol,aeo_depart,aeo_arrive ,date_depart_vol,date_arr connexion membres [ par laloire33150 ] Bonjour, j'ai une page de connexion, et deux pages membres différentes je voudrais pouvoir rediriger les membres actifs vers une page et les membres Aidez moi !! [ par phayva ] Bonjour tout le monde,je suis en train de travailler dans un projet ( réalisation d'un site ) dynamique,le début été un peu simple,mais au fur et a me


        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 : 0,452 sec (3)

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