PHP-MySQL: Pb Incrémentation Affichage Pg/Pg
jakkihm
Messages postés
141
Statut
Membre
-
jakkihm Messages postés 141 Statut Membre -
jakkihm Messages postés 141 Statut Membre -
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.