Bouts de Codes PHP

Affichage page par page

Information sur le code source PHP

Ecrit par :  KOogar
Site de l'auteur Voir
Codes en PHP de l'auteur : [57] sources Voir
Enregistrement le 05 Sept 2004 - Vu 28224 fois
Impression: Imprimer le code
Pas encore
de vote

Description du code source

Information sur le code source

Affichage page par page. Lecture à partir d'une base MySQL. Script complet.

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.phpsources.org                                 */
/*                                                                            */
/******************************************************************************/


$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 source

Fonctions php / mysql PHP

  • isset : Détermine si une variable est affectée - (PHP 4, PHP 5)
  • mysql_query : Envoie une requête à 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)
  • echo : Affiche une chaîne de caractères - (PHP 4, PHP 5)
  • mysql_fetch_array : - (PHP 4, PHP 5, PECL mysql:1.0)

Commentaires (35)
Nouveau message lanner
le 18 Oct 2005 à 00:24:00
Bonjour , je cherche une ame charitable pour me l'adapter a ma page php :) Merci d'avance ^^
Nouveau message Laurent
le 18 Oct 2005 à 13:55:00
Oo) Il y a un forum pour ce genre de problème :
http://www.phpsources.org/forums-php-sources.htm
Nouveau message lanner
le 25 Oct 2005 à 13:45:00
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 :)
Nouveau message Kimble
le 28 Oct 2005 à 18:13:00
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
Nouveau message Laurent
le 29 Oct 2005 à 06:18:00
Undefined variable: debut... ben defini la variable en début de script !!
Nouveau message philippe_jmh
le 11 Nov 2005 à 12:36:00
Salut,

Il marche tres bien ce petit script !!!

il faut juste recuperer la variable page
$page = isset($_GET['page']) ? $_GET['page'] : '';
mais sinon il tourne au poil !!!

Merci
Nouveau message KOogar
le 27 Nov 2005 à 04:24:00
C'est corrigé, le script est compatible global à OFF
Nouveau message neod06
le 11 Déc 2005 à 03:30:00
Tres tres bon script, apres 2-3 adaptations ca marchait parfaitement. Merci :)
Nouveau message MastaP
le 08 Mars 2007 à 20:53:00
WOW code d'une utilité absolue, MERCI ÉNORMÉMENT wow
Nouveau message MastaP
le 08 Mars 2007 à 20:54:00
Petit obli ajouté: if(isset($debut) && $debut=="") { $debut=0; }
Nouveau message KOogar
le 09 Mars 2007 à 12:42:00
Si si ca y est ligne 9, c'est vrai que cela devrait etre au debut, mais ca doit s'écrire :
if(!isset($debut)) $debut=0;
ce qui veux dire: si $debut n'est pas declaré (ce qui est notre cas) alors mettre 0 dans la variable $debut
Je vais aranger un peu le code ;-)
Nouveau message nanar
le 20 Mars 2007 à 12:35:00
Super code !!! Un grand merci à Laurent !
J'ai rajouté des espaces manquant pour que "PRECEDENT", "SUIVANT" et le numéro de la page en cours ne soient plus collés aux numéros adjacents.
Merci encore :o)
Nouveau message immo
le 02 Avril 2007 à 18:32:00
salut et merci laurent pour ce scprit , j'ai une petite erreur sans doute bete qui traine, mais qui me fait perdre du temps si quelqu'un au passage pourrai me renseigner sur la cause du probleme , merci :)

____
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\"" on line 14

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\"" on line 43
Nouveau message MastaP
le 03 Avril 2007 à 00:57:00
Regarde voir, si tu as bien une colonnes dans ta table dans ta base de donnée et que tous les colonnes sont existantes
Nouveau message mygale
le 28 Oct 2007 à 15:13:00
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.
Nouveau message KOogar
le 28 Oct 2007 à 15:34:00
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'] : '';


Nouveau message mygale
le 28 Oct 2007 à 16:03:00
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
Nouveau message KOogar
le 28 Oct 2007 à 16:46:00
et en désactivant les notices ?? -->> php.ini
-->>
error_reporting = E_ALL & ~E_NOTICE
Nouveau message mygale
le 28 Oct 2007 à 17:11:00
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?
Nouveau message PhpSources
le 28 Oct 2007 à 17:30:00
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.
Nouveau message mygale
le 28 Oct 2007 à 17:46:00
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?
Nouveau message PhpSources
le 28 Oct 2007 à 18:36:00
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
Nouveau message nrj82
le 20 Nov 2007 à 16:51:00
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 ?
Nouveau message nrj82
le 20 Nov 2007 à 17:37:00
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
Nouveau message imboa
le 31 Mars 2008 à 15:36:00
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
Nouveau message Sebi57
le 17 Mai 2008 à 14:19:00
merci pour ce script je vais tester wink
Nouveau message magieweb
le 24 Aout 2008 à 01:27:00
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
Nouveau message nawak
le 03 Sept 2008 à 10:38:00
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
Nouveau message nawak
le 03 Sept 2008 à 10:48:00
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
Nouveau message vrachid
le 27 Sept 2008 à 13:07:00
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
Nouveau message Invité
le 27 Oct 2008 à 18:09:00
salut!


svp ce script n'as pas marché avec moi sachant que j'ai le logiciel easy-php version1.1.8



Nouveau message Invité
le 18 Nov 2008 à 11:12:00
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
Nouveau message forty
le 18 Nov 2008 à 16:48:00
Pour ceux qui ont l'option PHP register_globals = Off il faut remplacer $PHP_SELF par $_SERVER['PHP_SELF']
Nouveau message Invité
le 18 Fév 2009 à 17:30:00
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.

Nouveau message Invité
le 06 Mars 2009 à 12:30:00
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.

Poster un commentaire

:P :)
:wink: :lol:
:surprised: :confused:
:idea: :no:
Taille du texte:
Couleur:
 
Code de sécurité
Offres d'emploi
Librairie

Langages de programmation

La librairie est ouverte à tous et elle est accès principalement sur les langages PHP et MySQL. Vous trouverez aussi d'autres langages de programmation tel que le CSS, HTML, AJAX, ASP.. Plus de 300 références facilement accessibles. Visiter

  • SQL (1Cédérom)
  • PHP 5 & MySQL 5 : Créez votre site web dynamique de A à Z
  • Programmer pour Internet : Notions fondamentales et mise en pratique (tcp/ip, http, html, java, php, MySQL, XML...)
  • HTML 4 en 30 étapes faciles
  • PHP et MySQL 4 : Création, développement et administration de bases de données et de sites web
  • PHP & MySQL et CSS
  • Premiers pas en CSS et XHTML
  • HTML
  • PHP & MySQL pour les nuls
  • HTML et CSS2