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

 

Affichage page par page

Affichage page par page. Lecture à partir d'une base MySQL. Script complet.
 
KOogar
Site de l'auteur voir
[65] sources en PHP voir
Code vu 38616 fois
Enregistré le 05 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 Affichage page par page
  • 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.
 
<?php
/******************************************************************************/
/*                                                                            */
/*                       __        ____                                       */
/*                 ___  / /  ___  / __/__  __ _____________ ___               */
/*                / _ \/ _ \/ _ \_\ \/ _ \/ // / __/ __/ -_|_-<               */
/*               / .__/_//_/ .__/___/\___/\_,_/_/  \__/\__/___/               */
/*              /_/       /_/                                                 */
/*                                                                            */
/*                                                                            */
/******************************************************************************/
/*                                                                            */
/* Titre          : Affichage page par page                                   */
/*                                                                            */
/* URL            : http://www.phpsources.org/scripts47-PHP.htm               */
/* Auteur         : KOogar                                                    */
/* Date édition   : 05 Sept 2004                                              */
/* Website auteur : http://www.koogar.fr                                      */
/*                                                                            */
/******************************************************************************/


$page = isset($_GET['page']) ? $_GET['page'] : ''// Prepare le requete MySql
$requete "SELECT * from votretable";
$ret mysql_query($requete);
// Variable nombre d'enreg par page
$limit=4;
if($debut==""){$debut=0;}
$debut=$page*$limit;
// Compte le nombre de champ
$nb_total=mysql_num_rows($ret);
// Requete
$limite=mysql_query("$requete limit $debut,$limit");


// Affiche le page par page avec ses liens
if ($page>0) {
$precedent=$page-1;
echo "<a href=\"$PHP_SELF?page=$precedent\">PRECEDENT</a>";
}

$i=0;
$j=1;

if($nb_total>$limit) {
while($i<($nb_total/$limit)) {
if($i!=$page){echo "<a href=\"$PHP_SELF?page=$i\">$j</a> ";}
else { echo "<b>$j</b>";}
$i++;$j++;
}
}

if($debut+$limit<$nb_total) {
$suivant=$page+1;
echo "<a href=\"$PHP_SELF?page=$suivant\">SUIVANT</a>";
}


//Affichage le contenu de votre table
//avec une limite, dans l'exemple $limit est à 4

$limit_str "LIMIT "$page $limit .",$limit";

$result mysql_query("
                      SELECT * 
                      FROM votretable 
                      ORDER BY id 
                      ASC $limit_str");
while ($row =mysql_fetch_array ($result) )
{
// affiche les different champs
echo"$row[nomduchamp]";
echo"<br />";
}

?>


 

Fonctions du code

: Détermine si une variable est affectée - (PHP 4, PHP 5)
: Envoie une requête à 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...
: Affiche une chaîne de caractères - (PHP 4, PHP 5)
: - (PHP 4, PHP 5, PECL mysql:1.0)
Commentaires
Bonjour , je cherche une ame charitable pour me l'adapter a ma page php :) Merci d'avance ^^
 
Oo) Il y a un forum pour ce genre de problème :
http://www.phpsources.org/forums-php-sources.htm
 
bon a priori un collegue a réussi , cependant il y a une amélioration a faire mais je vois pas , car si par exemple il y a moins de 4 enregistrements il affiche quand meme PRECEDENT 1 - 2 - 3 - 4 SUIVANT comment régler ce probleme merci d'avance :)
 
Bonjour,
J'ai une erreur sur la ligne:
if($debut==""){$debut=0;}
Notice: Undefined variable: debut in d:\easyphp\www\toulouse_original\1.php on line 9
Une solution ? merci
 
Undefined variable: debut... ben defini la variable en début de script !!
 
Oui tu peut c'est un language php souple si familiser avec le javascript exclaimexclaimexclaim
 
bonjour,je les telecharger il fonctionne super part contre ya pas moyen d'avoir une traduction en francais
 
sérieux... il faut revoir complètement la définition d'un script.confused

L'utilisation d'une simple balise dépréciée de plus... et que dire de votre site !
Passez par un professionnel pour créer le votre déjà.

Will
 
idea
 
L'utilisation de ce script développé en mode objet est très simple (il est avant tout destiné à des débutants et à des web designers qui ne sont pas des programmeurs) :

Vous pouvez l'utiliser aussi bien dans des pages PHP statiques ou dynamiques que dans de simples pages HTML (en mode Ajax).

Le manuel d'utilisation détaille aussi bien l'implémentation sur votre serveur que son utilisation dans les différentes pages de votre site web.

Il y a par ailleurs plusieurs exemples d'utilisation en code source et commentés.

Bonne lecture du manuel qui est véritablement destiné à des débutants (avec un bon nombre de captures d'écrans).
 
A déconseiller !
l'emplois des file system pour ce genre d'utilisation est carrément pas optimisée, ni optimisable d'ailleur
a moins de tourner sur un be Xeon ...
 
le lien vers le site est erroné nosurprised
 
faut renommer le dossier personnalisation en _personalisation
 
Merci pour l'info, c'est les vacances donc on ne test pas tout. J'ai mis une mention tout en haut pour signaler que ce script n'est pas gratuit et je me suis servi de ton message pour indiquer les différents paliers de paiement. Ca reste exceptionnel que l'on garde de tel script je vous rassures.
 
Bonjour à tous,
J'espère que quelqu'un pourra m'aider au sujet de ce script car chez moi il ne fonctionne pas. J'ai aussi essayé avec les sessions et le passage des variables dans l'URL rien n'y fait j'ai toujour la même erreur :

Au secours...

J'ai une saisie de critères par un formulaire POST qui me rends
$_POST['NOM']
$_POST['DISPONIBILITE']
$_POST['FAMILLE']
Ce formulaire appelle une page affiche_critères1.php
Dont le rôle est de traiter les options, envoyer la requête et faire afficher les données.
Je voudrais les faire afficher page par page. Le premier affichage avec la limite ici de 4 fonctionne très bien. Aussitôt que je clique sur le lien suivant j'ai la catastrophe
Notice: Undefined index: NOM in C:\Program Files\EasyPHP 2.0b1
Notice: Undefined index: DISPONIBLE in C:\Program Files\EasyPHP 2.0b1
Notice: Undefined index: FAMILLE in C:\Program Files\EasyPHP 2.0b1

Je précise que la CASSE est bonne que le var_dump($_POST) me rend les bonnes valeur.
 
mettez les globals de votre serveur a OFF -->> fichier php.ini -->> register_globals = Off
ou
peut-etre utiliser correction la maniere de recuperer les globals ?
-->>
$NOM = isset($_POST['NOM']) ? $_POST['NOM'] : '';


 
Mes register_globals sont à off
quant à la correction fonctionne pas non plus.

Je suis à cours d'idées et pourtant je dois pas être le seul à vouloir faire afficher un BD page par page en ayant comme sélecteur dans la requête des variable post?

En tous cas merci
 
et en désactivant les notices ?? -->> php.ini
-->>
error_reporting = E_ALL & ~E_NOTICE
 
Je veux bien essayer mais je ne sais pas comment désactiver ces notices. J'ai fait une
recherche dans php.ini et il n'a pas trouvé error_reporting? Et à quoi sert cette directive?
 
Cette directive désactive les notices d'erreurs, ce qui permettra au script de continuer
-->> ajouter la ligne a votre fichier de configuration (easyphp.ini si mes souvenirs sont bons..)
error_reporting = E_ALL & ~E_NOTICE
-->> rebootez votre serveur.

Si cela ne marche toujours pas, je vous conseille soit d'utiliser Wamp et/ou de tester en ligne pour voir si votre probleme n'est pas du à un probleme de script.
 
OK j'ai testé avec le easyphp.ini modifié je n'ai aucun changement. D'ailleurs même sans cette modification, le script continuait de s'exécuter mais sans les résultats escomptés c'est à dire pas d'affichage des données suivantes.
En tous cas merci de votre aide. J'abuse encore un peu étant tout débutant je suppose que Wamp est un débboguer? Ou sagit*il d'autre chose?
 
Wamp est un serveur web que beaucoup préfère à Easyphp car ses fonctionnalités sont bien plus souples et etendues. Je vous conseille de désinstaller easyphp avant d'installer Wamp si vous êtes interressé par ce serveur.
http://www.phpsources.org/ressources-wamp-php114.htm
 
Bonjour ,

j'ai eu meme problem que IMMO

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-7\www\site_00\testact.php on line 315

LA LINE 315 est :
$nb_total=mysql_num_rows($ret);
Est ce quelqu'un voit ou il peut y'avoir le problem ?
 
problem est resolu j'ai du faire quelque changement au niveau du scripte le personalisé selon mé besoin, sinon il marche parfaitement et je bravo a celui qu'il a cree
 
bonjour à tous
pourquoi j'ai toujours ce genre d'erreur par ce script:
Notice: Undefined variable: PHP_SELF in c:\www\site\admin\admin\admin_membres\test_1.php on line 45
 
merci pour ce script je vais tester wink
 
Merci bien pour ce script, exactement ce que j'attendais, très facile à utiliser, je l'ai modifié à ma sauce et il fonctionne nikel!!!
Beaucoup de commentaires clairs, encore merci et félicitations! wink
 
Bonjour
Y'aurai t'il un script du même genre pour un SGBD Access, j’utilise le pilote ODBC.
J’ai essayé d’adapté a mon code avec se script mais je n’y arrive pas.

Une info dessus ?please help mesad
 
Bonjour
Y'aurai t'il un script du même genre pour un SGBD Access, j’utilise le pilote ODBC.
J’ai essayé d’adapté a mon code avec se script mais je n’y arrive pas.

Une info dessus ?please help mesad
 
bonjour à tous
voila je viens d'essayer ce code il est très bien sauf que quand je navigue entre les pages mes enregistrement ne s'affiche pas
à l'execution dans la première page les résultats sont affichés si je vais sur une autre page elle est vide malgré que j'ai plein d'enregistrement dans ma base et meme si je retourne sur la première page rien ne s'affiche
 
salut!
svp ce script n'as pas marché avec moi sachant que j'ai le logiciel easy-php version1.1.8
 
Bonjour,

Une réponse pour ceci?
bonjour à tous
pourquoi j'ai toujours ce genre d'erreur par ce script:
Notice: Undefined variable: PHP_SELF in c:wwwsiteadminadminadmin_membrestest_1.php on line 45
 
Pour ceux qui ont l'option PHP register_globals = Off il faut remplacer $PHP_SELF par $_SERVER['PHP_SELF']
 
Bonjour, je viens d'essayer de faire fonctionner ce script, mais apparemment il ya une erreur sur la requete qui affiche le contenu de la table. Il n'accepte pas le "ORDER BY id
ASC $limit_str" si j'enleve, il m'affiche la table, mais malheureusement pas les numéros de pages.
Si quelqu'un aurait une idée et merci pour le script.

 
Le scripte marche bien. Par contre lorqu'on fait une recherche par critère il affiche bien les résultats attendus, mais avec tous les liens. Par exemple j'ai fait une recherche j'obtiens 1 seul engregistement. normalement l'affichage doit être à 1 sans lien. Chez moi il m'affiche 1,2,etc... avec les différents liens. Il me semble qu'il n'est pas adapté pour des recherches affinées. Normalement quand il y a un seul 1 seul enregistrement et que la limte est à 3 par exemple les liens suivants et précédents doivent disparaîtrent. Merci de m'aider s'il vous plaît.
 
avec recherche ou sans recherche c'est du pareil au meme, ton probleme peux venir de la ligne 26 ou tu dois egalement paramétrer la requete... select champ1from t1 like "%key%"
 
Merci infiniment Mon ami

ça marche convenablement
 
Bonjour,
J'ai une erreur sur la ligne:
Notice: Undefined variable: debut in C:Program FilesEasyPHP-5.3.3wwwmulti_mediacode_page_par_page.php on line 40
Notice: Undefined variable: PHP_SELF in C:Program FilesEasyPHP-5.3.3wwwmulti_mediacode_page_par_page.php on line 51
Une solution ? merci
 
la solution est déjà donné par Forty
Pour ceux qui ont l'option...
 
Merci pour votre script ca fonctionne tres bien et pas compliqué à adapter !
 
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

 
 
 
PHP 5 avancé Livre PHP

PHP 5 avancé
 
    Offres d'emploi

Plus de 500 offres d'emploi PHP/MySQL

Offres d'emploi
 
    Editeur PHP
 
        Publicité