Vous êtes ici Codes PHP et MySQL > Affichage page par page > Page par page GOOGLE

 

Page par page GOOGLE

Page par page GOOGLE , certainement le must du must !!!!
A vous de jouer :)
 
KOogar
Site de l'auteur voir
[62] sources en PHP voir
Code vu 21198 fois
Enregistré le 15 Jan 2005
  • Digg ce code sur digg.com
  • Bookmark ce code sur del.icio.us
  • Bookmark ce code sur Google
  • Bookmark ce code sur Yahoo
  • Ajoute Page par page GOOGLE
  • 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.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
 
<?php
/******************************************************************************/
/*                                                                            */
/*                       __        ____                                       */
/*                 ___  / /  ___  / __/__  __ _____________ ___               */
/*                / _ \/ _ \/ _ \_\ \/ _ \/ // / __/ __/ -_|_-<               */
/*               / .__/_//_/ .__/___/\___/\_,_/_/  \__/\__/___/               */
/*              /_/       /_/                                                 */
/*                                                                            */
/*                                                                            */
/******************************************************************************/
/*                                                                            */
/* Titre          : Page par page GOOGLE                                      */
/*                                                                            */
/* URL            : http://www.phpsources.org/scripts2-PHP.htm                */
/* Auteur         : KOogar                                                    */
/* Date édition   : 15 Jan 2005                                               */
/* Website auteur : http://www.phpsources.org                                 */
/*                                                                            */
/******************************************************************************/
?>
<!-- 
Le style des N° affiché dans la barre
-->
<style>
A.on     {font-family: tohoma;font-size:13px;color: #626F8F;text-decoration: none; }
A.on:hover {font-family: tohoma;font-size:13px;color: #626F8F;text-decoration: underline; }
A.off     {font-family: tohoma;font-size:13px;color: #626F8F;font-weight:none;}
</style>

<?php

// Page par page GOOGLE , certainement le must du must !!!!
// A vous de jouer, des soucis ?? Je suis la pour y répondre sur le forum !!!
// http://forums.phpsources.org/

// Les images que vous pouvez prendre directement sur l'annuaire  :
// http://annuaire.phpsources.org/

// Chemins des images ::
//  http://annuaire.phpsources.org/images/right.gif
//  http://annuaire.phpsources.org/images/left.gif


//                                     
//   RECUPERATION DES VARIABLES GET    //
//                                     

$debut = isset($_GET['debut']) ? (int)$_GET['debut'] : 0;
if($debut 0)
exit;

// ------------------------------------------------------------------------
// image_html          
// ------------------------------------------------------------------------
function image_html($img$align "middle")
{
    $taille = @getimagesize($img);
    return '<IMG SRC="'.$img.'" '.$taille[3].' BORDER=0 ALIGN="'.$align.'">';
}

 
// ------------------------------------------------------------------------
// barre_navigation
// ------------------------------------------------------------------------
function barre_navigation($nbtotal,
                          $nbenr, 
                          $cfg_nbres_ppage, 
                          $debut$cfg_nb_pages
                          )
{
    // --------------------------------------------------------------------
       global $cfg_nb_pages// Nb de n° de pages affichées dans la barre

       $lien_on         ' <A HREF="{cible}">{lien}</A> ';
       $lien_off        ' {lien} ';
    // --------------------------------------------------------------------
    
    $query  'index.php?debut=';


    // début << .
    // --------------------------------------------------------------------
    if ($debut >= $cfg_nbres_ppage)
    {
        $cible $query.(0);
        $image image_html('left.gif');
        $lien str_replace('{lien}'$image.$image$lien_on);
        $lien str_replace('{cible}'$cible$lien);
    }
    else
    {
        $image image_html('left.gif');
        $lien str_replace('{lien}'$image.$image$lien_off);
    }
    $barre .= $lien." <B><font color = foe3ae>·</B>";


    // précédent < .
    // --------------------------------------------------------------------
    if ($debut >= $cfg_nbres_ppage)
    {
        $cible $query.($debut-$cfg_nbres_ppage);
        $image image_html('left.gif');
        $lien str_replace('{lien}'$image$lien_on);
        $lien str_replace('{cible}'$cible$lien);
    }
    else
    {
        $image image_html('left.gif');
        $lien str_replace('{lien}'$image$lien_off);
    }
    $barre .= $lien." <B>·</B>";
    

    // -------------------------------------------------------------------

    if ($debut >= ($cfg_nb_pages $cfg_nbres_ppage))
    {
        $cpt_fin = ($debut $cfg_nbres_ppage) + 1;
        $cpt_deb $cpt_fin $cfg_nb_pages 1;
    }
    else
    {
        $cpt_deb 1;
        
        $cpt_fin = (int)($nbtotal $cfg_nbres_ppage);
        if (($nbtotal $cfg_nbres_ppage) != 0$cpt_fin++;
        
        if ($cpt_fin $cfg_nb_pages$cpt_fin $cfg_nb_pages;
    }

    for ($cpt $cpt_deb$cpt <= $cpt_fin$cpt++)
    {
        if ($cpt == ($debut $cfg_nbres_ppage) + 1)
        {
            $barre .= "<A CLASS='off'> ".$cpt." </A> ";
        }
        else
        {
$barre .= "<A CLASS='on' HREF='".$query.(($cpt-1)*$cfg_nbres_ppage)."'>".$cpt."</A>  ";
        }
    }
    

    // suivant . >
    // --------------------------------------------------------------------
    if ($debut $cfg_nbres_ppage $nbtotal)
    {
        $cible $query.($debut+$cfg_nbres_ppage);
        $image image_html('right.gif');
        $lien str_replace('{lien}'$image$lien_on);
        $lien str_replace('{cible}'$cible$lien);
    }
    else
    {
        $image image_html('right.gif');
        $lien str_replace('{lien}'$image$lien_off);
    }
    $barre .= " <B>·</B>".$lien;

    // fin . >>
    // --------------------------------------------------------------------
    $fin = ($nbtotal - ($nbtotal $cfg_nbres_ppage));
    if (($nbtotal $cfg_nbres_ppage) == 0$fin $fin $cfg_nbres_ppage;

    if ($fin != $debut)
    {
        $cible $query.$fin;
        $image image_html('right.gif');
        $lien str_replace('{lien}'$image.$image$lien_on);
        $lien str_replace('{cible}'$cible$lien);
    }
    else
    {
        $image image_html('right.gif');
        $lien str_replace('{lien}'$image.$image$lien_off);
    }
    $barre .= "<B>·</B> ".$lien;




    // Voila, c'est ici que l'on retourne la barre
    // --------------------------------------------------------------------

    return($barre);

    // -------------------- FIN FONCTION ------------------------------
}

?>


<?php 


// ------------------------------------------------------------------------

    $sql_serveur ""// Serveur mySQL
    $cfgBase ""// Base de donnees mySQL
    $sql_login ""// Login de connection a mySQL
    $sql_password ""// Mot de passe pour mySQL

    @mysql_connect($sql_serveur,$sql_login,$sql_password)or die("No Connection!");

// ------------------------------------------------------------------------

    $nom_table =  '';  // Nom de la table
    $champs    '*';

// ------------------------------------------------------------------------
    $cfg_nbres_ppage 10// Nombre de réponses par page
    $cfg_nb_pages    10// Nombre de N° de pages affichés dans la barre
// ------------------------------------------------------------------------



  if (!isset($debut)) $debut 0;

    // recherche des réponses
    $sql  'SELECT '.$champs.' ';
    $sql .= 'FROM '.$nom_table.' ';
    $sql .= ' ORDER BY id ASC';
    $sql .= ' LIMIT '.$debut.','.$cfg_nbres_ppage;

    $resultat mysql_db_query($cfgBase$sql);
    $nbenr mysql_num_rows($resultat);


    $q mysql_query("SELECT * FROM $nom_table");
  // compte le nbre de champs
    $r mysql_num_rows($q);

    
    $nbtotal $r;
    if (empty($nbtotal)) {$nbtotal $nbenr;}


    // plage de réponses
    $barre_nav  '<TABLE BORDER=0 WIDTH="100%" CELLPADDING=3 CELLSPACING=1>';
    $barre_nav .= '<TR><TD BGCOLOR="#FFFFFF" WIDTH="35%" ALIGN="left">';
    $barre_nav .= 'Résultat: <B>'.($debut 1).'</B> à <B>'.($debut $nbenr).'</B>';
    $barre_nav .= ' sur <B>'.($nbtotal).'</B></TD>';
   


    // barre de navigation
    // background="../NS_medias/bande_bleu.jpg"
    if($nbtotal>10){$barre_nav .= '<TD  ALIGN="center" WIDTH="60%"> ';}
    if($nbtotal<=10){$barre_nav .= '<TD  BGCOLOR="#f8f8f8" ALIGN="center" WIDTH="60%">';}

    if ($nbtotal $cfg_nbres_ppage)
    {
        $barre_nav .= barre_navigation($nbtotal$nbenr, 
                                       $cfg_nbres_ppage, 
                                       $debut$cfg_nb_pages
                                       );
    }
    $barre_nav .= "</TD></TR></TABLE>";


    // affichage de la barre de navigation


    echo $barre_nav;




    // affichage des données PAR EXEMPLE


     while ($row mysql_fetch_array($resultat))
        {
        echo $row['id'];
        }
 ?>


 

Fonctions du code

: Détermine si une variable est affectée - (PHP 4, PHP 5)
: Affiche un message et termine le script courant - (PHP 4, PHP 5)
: Retourne la taille d'une image - (PHP 4, PHP 5)
: Remplace toutes les occurrences dans une chaîne - (PHP 4, PHP 5)
: Alias de la fonction exit() - (PHP 4, PHP 5)
: Ouvre une connexion à un serveur MySQL - (PHP 4, PHP 5, PECL mysql:1.0)
: Envoie une requête MySQL à un serveur MySQL - (PHP 4, PHP 5, PECL mysql:1.0)
: Retourne le nombre de lignes d'un résultat MySQL - (PHP 4, PHP 5, PECL...
: Envoie une requête à un serveur MySQL - (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)
: - (PHP 4, PHP 5, PECL mysql:1.0)
Commentaires
Bravo - moi qui suis un tout débutant en php je trouve ce script super - Merci à vous
 
Trés bon code koogar, mais il me semble qu'il y a un petit probléme
PAr exemple je veux afficher 4 liens 1 2 3 4 pour 10 résultats que j'affiche un par un,
Si je me met a la fin donc 7 8 9 10, si je clique sur 9 je vais avoir 6 7 8 9 , donc la tout va bien ainsi de suite jusque 1 , mais si je veux faire ca en remontant 1 2 3 4 si je clique sur 4 apres je ne vais pas avoir 2 3 4 5 :(
Est ce que je me suis bien expliqué???
Donc en remontant on doit utilisé la fleche.
Voila si c'est simple a corriger n'hésite pas je nage un peu dans ton code :(
 
Je comprend, l'astuce est la suivante :

Si tu veux avancer par "pas" de 4 pages par exemple,
remplace :
$fin = ($nbtotal - ($nbtotal % $cfg_nbres_ppage));
par
$fin = ($cible+40);

Comme tu peux le voir, 4 pages = 40 entre les (), donc si tu ne veux que 3 pages, tu mettras 30... et ainssi de suite

++
KOogar

Comme cela, ca ressemble bien mieux au page par page de Google ;)


 


Voila !

je viens de remettre ajour le code en ajoutant une variable qui permet de controler le pas des commandes d'avances rapides (>)

KOogar
 
Bonjour,
je ne suis pas tres doué mais il y a des p'etites erreurs:
sur le premier $barre . j'ai du elever le point-> $barre
pour les images tu les as mise dans un dossier mais pas pour toutes ->images/
Donc ca c'est pas bien grave car j'ai trouvé tout seul comme un grand...;)
Mais le probleme que je rencontre c'est que mes informations ne changent pas quand je clique sur les liens. Ma page change mais pas les infos j'ai toujours l'ID n°1 et n°2 qui s'affiche et jamais les suivantes.
J'ai rentre 2 affichages par pages.
Si tu pouvez me donner un p'tit coup de pouse ce serait tres gentil.
En tout cas bon boulot.
Merci
 
Tu dois avoir des problèmes avec ta requete.
>> sur le premier $barre . j'ai du elever le point-> $barre
?? pas compris la ???
 
Salut,

Je petit Problème avec le trie de requête dont les codes sont

<code>
// recherche des réponses
$sql = 'SELECT '.$champs.' ';
$sql .= 'FROM '.$nom_table.' ';
$sql .= ' ORDER BY id ASC';
$sql .= ' LIMIT '.$debut.','.$cfg_nbres_ppage;
</code>
 
Ce code marche à merveille, j'ai du modifier 2..3 petites choses pour adapter à mon site mais il est tiptop, merci de l'avoir proposer.
Bye
 
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é