PHP-MySQL: Pb Incrémentation Affichage Pg/Pg
jakkihm
Messages postés
134
Date d'inscription
Statut
Membre
Dernière intervention
-
jakkihm Messages postés 134 Date d'inscription Statut Membre Dernière intervention -
jakkihm Messages postés 134 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Ce script qui m'a été fourni pour un affichage page par page des informations issues
d'une bdd ne fonctionne pas sur un point :
la variable "$limit" qui est censée s'incrémenter s'il y a plusieurs pages à afficher
demeure figée à "0". Ainsi, ma 1ère page s'affiche avec le lien "Page suivante", mais
lorsque je clique dessus rien ne se passe.
Voici mon code:
Merci de votre aide !
Ce script qui m'a été fourni pour un affichage page par page des informations issues
d'une bdd ne fonctionne pas sur un point :
la variable "$limit" qui est censée s'incrémenter s'il y a plusieurs pages à afficher
demeure figée à "0". Ainsi, ma 1ère page s'affiche avec le lien "Page suivante", mais
lorsque je clique dessus rien ne se passe.
Voici mon code:
// connecting to database //======================= $server = "localhost"; $user = "root"; $pwd = ""; $connect = mysql_connect($server, $user, $pwd) or die ("Erreur : ".mysql_error()); $db = "gallery"; $table = "objects"; $select_db = mysql_select_db($db, $connect) or die ("Erreur : ".mysql_error()); // initializing variables //======================= $msg = ""; $results_pg = 4; if(!isset($limit)) $limit=0; // $limit = start point // getting page's name //==================== $path_parts = pathinfo($_SERVER['PHP_SELF']); $pgName = $path_parts['basename']; // counting total records in table //================================ $count = "SELECT COUNT(id) FROM objects"; $result = mysql_query($count, $connect); $row = mysql_fetch_row($result); $totalRows = $row[0]; // running 'Tables' query //======================= $select = 'SELECT * FROM objects ORDER BY name ASC LIMIT '.$limit.','.$results_pg; $result = mysql_query($select, $connect) or die ("Erreur : ".mysql_error()); // recalculating $limit to know if other results to display //========================================================= $nextLimit = $limit + $results_pg; $prevLimit = $limit - $results_pg; // display link to previous page if necessary //=========================================== if($limit != 0) { echo '<a href="'.$pgName.'?limit='.$prevLimit.'">Page précédente</a>'; } // display link to next page if necessary //======================================= if($nextLimit < $totalRows) { echo '<a href="'.$pgName.'?limit='.$nextLimit.'">Page suivante</a>'; } echo '<br>'.$limit.'<br>'.$nextLimit; ?>
Merci de votre aide !
A voir également:
- PHP-MySQL: Pb Incrémentation Affichage Pg/Pg
- Easy php - Télécharger - Divers Web & Internet
- Mysql community server - Télécharger - Bases de données
- Expert php pinterest - Télécharger - Langages
- Php alert - Forum PHP
- Mysql a répondu : documentation connexion impossible : paramètres incorrects. - Forum Bases de données
6 réponses
Bonjour,
Ce script a manifestement été créé pour une vieille version de Php.
Il faudrait remplacer
L'explication : dans les anciennes versions de Php, on accédait aux variables fournies dans l'URL directement, mais pour des raisons de sécuité, ce n'est plus possible : il faut maintenant passer par le tableau $_GET[].
Xavier
Ce script a manifestement été créé pour une vieille version de Php.
Il faudrait remplacer
if(!isset($limit)) $limit=0; // $limit = start pointpar
if(isset($_GET["limit"])) $limit=$_GET["limit"]; // $limit = start point else $limit=0;
L'explication : dans les anciennes versions de Php, on accédait aux variables fournies dans l'URL directement, mais pour des raisons de sécuité, ce n'est plus possible : il faut maintenant passer par le tableau $_GET[].
Xavier
Merci Reivax962,
J'ai effectué les modifications, mais à présent je reçois le message suivant :
Notice: Undefined variable: limit ...
N'est-ce pas étrange puisque la variable $limit est bien initiée à 0 ?
Merci.
J'ai effectué les modifications, mais à présent je reçois le message suivant :
Notice: Undefined variable: limit ...
N'est-ce pas étrange puisque la variable $limit est bien initiée à 0 ?
Merci.
Mmmh, désolé, je ne suis pas encore très habité à php 5 :)
Essaie ceci, alors :
Essaie ceci, alors :
$limit = 0; if(isset($_GET["limit"])) $limit=$_GET["limit"]; // $limit = start point
Reivax962,
Je viens tout juste d'obtenir une réponse qui fonctionne.
Il m'a été indiqué de coder ainsi:
Merci pour ton aide.
Je viens tout juste d'obtenir une réponse qui fonctionne.
Il m'a été indiqué de coder ainsi:
if(!isset($_GET['limit'])) { $limit=0; }else{ $limit=$_GET['limit']; }
Merci pour ton aide.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Euh, c'est une blague ?
Tu veux me dire qu'en inversant la clause du if et le else, tu as quelque chose qui fonctionne différemment ? T'es sûr que tu n'avais pas fait une erreur en recopiant "ma" solution ? Parce que c'est super louche, là, quand même !
Tu veux me dire qu'en inversant la clause du if et le else, tu as quelque chose qui fonctionne différemment ? T'es sûr que tu n'avais pas fait une erreur en recopiant "ma" solution ? Parce que c'est super louche, là, quand même !
Je suis absolument certain de n'avoir fait aucune erreur en recopiant ta solution. Je m'y suis même repris à quelques reprises.
Toutefois, je suis aussi étonné que toi que ce code ait produit un résultat.
J'avais essayé plusieurs choses pour faire fonctionner le script, mais je n'aurais jamais pensé à cela.
Toutefois, je suis aussi étonné que toi que ce code ait produit un résultat.
J'avais essayé plusieurs choses pour faire fonctionner le script, mais je n'aurais jamais pensé à cela.