Affichage limité à 5?

cs_Tit0x Messages postés 174 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 9 juillet 2006 - 25 mai 2006 à 00:51
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 - 25 mai 2006 à 19:18
Hello tout le monde :)

J'ai une liste de billet dans ma BDD. On va dire par exemple 10. J'aimerais en afficher juste 5 par page mais je ne sais pas comment faire =/.
Voici mon code actuel :

//connection BDD
mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($dbname);

//Requete =D
$billets = 'SELECT post_dt,post_titre,post_content,nb_comment FROM dc_post ORDER by post_id';
$r = mysql_query($billets) or die('Erreur SQL!
'.$billets.'
'.mysql_error());

//boucle - affichage :)
while($req1 = mysql_fetch_array($r))
{
echo "$req1[post_titre], posté le $req1[post_dt]. Il y a $req1[nb_comment] commentaires.

";
echo "$req1[post_content]
";
}

Voilà merci d'avance =D

titoxx :)

9 réponses

cs_Tit0x Messages postés 174 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 9 juillet 2006
25 mai 2006 à 01:16
Je reformule ma demande désolé...

Les informations ne sont pas contenu dans la base de donnée mais me sont transmise par un formulaire...

merci :)
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
25 mai 2006 à 10:05
hello, il y a tout un tas de code pour faire de la pagination ici. un très bon :
http://www.phpcs.com/codes/PHP5-CLASSE-PAGINATION-MODULABLE_37088.aspx
0
cs_Tit0x Messages postés 174 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 9 juillet 2006
25 mai 2006 à 10:45
Hello = D

Merci pour le lien mais j'ai quelques soucis.. J'ai "converti" le script pour php4 comme indiqué dans les commentaires mais j'ai une erreur qui s'affiche. La voici :

Parse error : syntax error, unexpected T_FUNCTION, expecting T_VARIABLE in /mnt/112/sdb/c/b/easysite21/liste_billet.php on line 148

Voici mon code :

 class Pagination {

  var $output; // Sortie HTML;
  var $nbtotal; // Nombre total de liens, de news, de n'importe quoi :)
  var $_getName; // Nom du _GET pour l'affichage des pages !

  var $nbmaxparpage; // Nombre d'affichage par page
  var $nbdepages; // Nombre de pages nécessaires
  var $minid; // Retourne l'ID du premier enregistrement pour la page en cours
  var function Pagination( $nbtotal, $nbmaxparpage 2, $getName 'page') {

   $this->nbtotal = (int) $nbtotal;
   $this->nbmaxparpage = (int) $nbmaxparpage;
   $this->nbdepages = ceil($this->nbtotal / $this->nbmaxparpage);
   $this->_getName = $getName;

  }

  var function Generate() {

   unset($this->output);

   $pageencours = ( isset($_GET[$this->_getName]) && (int) $_GET[$this->_getName] > 1 ) ? (int) $_GET[$this->_getName] : 1;
   $this->minid = ( $pageencours - 1 ) * $this->nbmaxparpage;
    if ( $this->nbdepages > 1 ) {
         for ( $i=1; $i <= $this->nbdepages; $i++ ) {
               if ( $i === $pageencours ) {
                     $this->output[] = array('link' => FALSE, 'page' => $i);
               } else {
                     $this->output[] = array('link' => TRUE, 'page' => $i);
               }
         }
    } else {
         $this->output = NULL;
    }

  }

 }

 //L'utilisation ?

$nb_total = $_POST['nb_total'];
$data = $_POST['data'];
$titre = $_POST['data[post_titre]'];
$date = $_POST['data[post_dt]'];
$comment = $_POST['data[nb_comment]'];
$content = $_POST['data[post_content]'];

 $Pagination = new Pagination ( $nb_total, 2 ); // Affichera 10 news par page
 $Pagination->Generate; // Génére la pagination (peut y avoir d'autres options à changer avant, c'est vous qui voyez !)

 if ( isset($Pagination->output) && is_array($Pagination->output) ) { // On vérifie que y'a bien un output, sinon on zap !
       $var = ' Page : ';
       foreach ( $Pagination->output as $key ) { // On parcours le tableau
                 if ( $key['link'] ) {
                      $var .= '[./liste_billet.php&'.$Pagination->_getName.'='.$key['page'].' '.$key['page'].'] ';
                 } else {
                      $var .= $key['page'].' '; // Si on est sur la bonne page, on met pas de lien.
                 }
       }
       $var .= '';
  }

  if ( isset($var) ) echo $var; // On affiche le tout.

Je ne sais pas si cela peut fonctionner étant donné que la BDD se trouve sur un autre server et que je ne peut pas avoir un acces distant (free). Je récupère les infos de la BDD à l'aide d'un script sur le server. Après j'envoi le tout avc un formulaire sur le server où je veux faire la pagination. Alors est ce possible ?

Merci pour votre aide =D

titoxxx :)
0
cs_Tit0x Messages postés 174 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 9 juillet 2006
25 mai 2006 à 10:47
J'ai oublié de préciser, la ligne 148 est celle ci :

[...] var function Pagination( $nbtotal, $nbmaxparpage <gras>2, $getName 'page') {</gras>

[...]

merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
25 mai 2006 à 11:08
heu, on ne met pas de "var" devant un nom de méthode, ni en php4 ni en php5 ;-)
vire les "var" que tu as devant les "function".
0
cs_Tit0x Messages postés 174 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 9 juillet 2006
25 mai 2006 à 12:06
Merci pour cet info =D Maintenant je n'ai plus d'erreur mais un jolie petite page blanche lol... Comment faire ? Désolé mais je débute
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
25 mai 2006 à 14:07
$Pagination->Generate;

> Erreur de ma part

$Pagination->Generate();

L'appel de fonction qui est mal passé :)
0
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
25 mai 2006 à 17:30
n'oublis pas de mettre error_reporting(E_ALL); en début de page quand tu teste un script... .. . ;o)


@ tchaOo°

l'homme est un loup pour l'homme... .. .
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
25 mai 2006 à 19:18
Nan mais la c'est moi :)
C'est au moment du copier/coller, y'a un truc qui n'est pas passé :)

Mais sinon ca fonctionne vu que je l'utilise moi même :)
0
Rejoignez-nous