Vous êtes ici Codes PHP et MySQL > Affichage page par page > 1 seul enregistrement

 

1 seul enregistrement

Affichage page par page. Le plus basic avec 1 seul enregistrement par page. Avec ce code vous faites défiler les pages à partir des ID (identifiant) contenu dans la table.
Avec les liens: < précedent - suivant >
l'algo c'est de connaitre l'ID du prochain enregistrement et si l'on est au dernier enregistrement alors revenir en début de table et connaitre le premier ID de la table.

Modification le 22 Décembre 2008

J'ai ajouté une variable $stop_lien qui permet de mettre ou de ne pas mettre le premier lien "précédent". Car le script reprend naturellement l'ensemble des id recherché. En mettant $stop_lien a 0, vous aurez des le premier lien précédent, le dernier id de la table. En le mettant à 1, vous n'aurez plus ce premier lien précédent.
 
KOogar
Site de l'auteur voir
[62] sources en PHP voir
Code vu 9354 fois
Enregistré le 01 Sept 2004
  • Digg ce code sur digg.com
  • Bookmark ce code sur del.icio.us
  • Bookmark ce code sur Google
  • Bookmark ce code sur Yahoo
  • Ajoute 1 seul enregistrement
  • Partage ce code sur Facebook
 
 
 
 

Code Source


01.
02.
03.
04.
05.
06.
07.
08.
09.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
 
<?php
/******************************************************************************/
/*                                                                            */
/*                       __        ____                                       */
/*                 ___  / /  ___  / __/__  __ _____________ ___               */
/*                / _ \/ _ \/ _ \_\ \/ _ \/ // / __/ __/ -_|_-<               */
/*               / .__/_//_/ .__/___/\___/\_,_/_/  \__/\__/___/               */
/*              /_/       /_/                                                 */
/*                                                                            */
/*                                                                            */
/******************************************************************************/
/*                                                                            */
/* Titre          : 1 seul enregistrement                                     */
/*                                                                            */
/* URL            : http://www.phpsources.org/scripts59-PHP.htm               */
/* Auteur         : KOogar                                                    */
/* Date édition   : 01 Sept 2004                                              */
/* Website auteur : http://www.phpsources.org                                 */
/*                                                                            */
/******************************************************************************/

$table '';     // votre table
$fichier ='';    // le nom du fichier sur le lequel vous allez pointer
$i '';         // id de la page actuelle
$stop_lien 1;  // empeche le premier lien (0 ou 1)

// recherche du dernier ID de la table
$stop_link =;
$result mysql_query("SELECT id FROM $table ORDER BY id ASC");
while ($row0 =mysql_fetch_array ($result))
 { $last $row0[];
   $last_prec $last;
   }
  $last ++;  // on avance de 1 pour ne pas se retrouver avec l'égalité

// recherche de l'id précedent à $id pour le lien precedent
$result mysql_query("SELECT id FROM $table WHERE id < '$id' ORDER BY id DESC")
;
while ($row01 =mysql_fetch_array ($result) AND empty($sort0))
 { $prec $row01[];
   $sort0 1;   }

 if(empty($prec)) { $prec $last_prec;
                    $stop_link 1;  } // si il n'exite pas d'id inferieur
                                         // prend le dernier id de la table

// recherche l'id superieur pour le lien suivant
$result mysql_query("SELECT id FROM $table WHERE id > '$id' ORDER BY id ASC");

while ($row3 =mysql_fetch_array ($result))
 {
$i++;
$j $i;
while ($j $last AND $sort != 1) {
if ($row3[] == $j)
 {
  if ($stop_link!=or $stop_lien != 1) { $lien "<a href=$fichier?id=$prec>Précédent</a> - "; }
  $lien .= "<a href=$fichier?id=$row3[0]>Suivant</a>";
  $sort // on sort de la boucle
 }
      $j++;
    }
   }

// si lien suivant est vide alors on est en fin de table
// donc on reprend la table au début

if (empty($lien))
  {
  $result mysql_query("SELECT id FROM $table WHERE id < '$id' ORDER BY id ASC"
);
  $row4 =mysql_fetch_array ($result);

 $lien "<a href=$fichier?id=$prec>Précédent</a>";
 if ($stop_lien != 1)
 $lien .= "- <a href=$fichier?id=$row4[0]>Suivant</a>";

  }
// FIN


// AFFICHAGE

echo $lien;


?>

 

Fonctions du code

: Envoie une requête à un serveur MySQL - (PHP 4, PHP 5, PECL mysql:1.0)
: - (PHP 4, PHP 5, PECL mysql:1.0)
: Détermine si une variable contient une valeur non nulle - (PHP 4, PHP 5)
: Affiche une chaîne de caractères - (PHP 4, PHP 5)
Commentaires
Bonjour,
Je viens de faire une mise à jour: j'ai parser la variable $id dans les requetes :-)
 
bonjour,

je souhaite savoir comment faire pour que le lien precedent ne s'affiche pas s'il s'agir du premier résultat et le lien suivant ne s'affiche pas s'il s'agit du dernier résultat

merci
 
Bonjour,
j'ai des tutoriels enregistrés dans une table (tutoriels) j'ai un tutoriel par enregistrement dans la table, les tutoriels font a peu près 3000 lignes chacun, comme les découper par 500 lignes et les afficher avec ce système ?
++
 
Ajouter un commentaire
Code de sécurité

Attention: Les champs marqués d'une étoile * sont obligatoires
 
Librairie PHP

Connexion

 
 

Affichage page par page

 
 

PHP

 
 
 
 
    Offres d'emploi

Plus de 500 offres d'emploi PHP/MySQL

Offres d'emploi
 
        Publicité