Accès au manager - réservé aux membres

Navigation

Bouts de Codes PHP

Page par page GOOGLE

Informations sur le code source PHP

Ecrit par :  KOogar
Site de l'auteur Voir
Autres codes en PHP de l'auteur : [51] sources Voir
Date d'enregistrement du code le 15 Jan 2005 - Vu 16630 fois
Code source zippé: Télécharger le fichier ZIP
Impression: Imprimer le code
Ajouter la page à vos favoris

Description du code source

Informations sur le code source

Page par page GOOGLE , certainement le must du must !!!!
A vous de jouer :)

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 source

Fonctions php / mysql PHP

  • isset : Détermine si une variable est affectée - (PHP 4, PHP 5)
  • exit : Affiche un message et termine le script courant - (PHP 4, PHP 5)
  • getimagesize : Retourne la taille d'une image - (PHP 4, PHP 5)
  • str_replace : Remplace toutes les occurrences dans une chaîne - (PHP 4, PHP 5)
  • die : Alias de la fonction exit() - (PHP 4, PHP 5)
  • mysql_connect : Ouvre une connexion à un serveur MySQL - (PHP 4, PHP 5, PECL mysql:1.0)
  • mysql_db_query : Envoie une requête MySQL à un serveur MySQL - (PHP 4, PHP 5, PECL mysql:1.0)
  • mysql_num_rows : Retourne le nombre de lignes d'un résultat MySQL - (PHP 4, PHP 5, PECL mysql:1.0)
  • mysql_query : Envoie une requête à un serveur MySQL - (PHP 4, PHP 5, PECL mysql:1.0)
  • empty : Détermine si une variable contient une valeur non nulle - (PHP 4, PHP 5)
  • echo : Affiche une chaîne de caractères - (PHP 4, PHP 5)
  • mysql_fetch_array : - (PHP 4, PHP 5, PECL mysql:1.0)

Commentaires [8]

mygale
le 03/11/2007 à 18:38:00
Bravo - moi qui suis un tout débutant en php je trouve ce script super - Merci à vous

le 06/12/2007 à 12:46:00
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 :(

le 06/12/2007 à 18:10:00
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 ;)


KOogar
le 07/12/2007 à 08:39:00


Voila !

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

KOogar
johanp
le 31/01/2008 à 15:16:00
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
nixi54
le 31/01/2008 à 21:55:00
Tu dois avoir des problèmes avec ta requete.
>> sur le premier $barre . j'ai du elever le point-> $barre
?? pas compris la ???
thegeniusdexter
le 17/04/2008 à 15:11:00
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>
dexinou
le 14/12/2008 à 17:45:00
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

Poster un commentaire

:P :) :wink: :lol: :surprised: :confused: :mad: :no:
Taille du texte:
Couleur:
Code de sécurité

Les dernières offres d'emploi