Je viens de passer à 5.4 (c'est une horreur)
Bonjour,
Je viens de passer à passer l'un de mes sites à php5.4 et rien ne colle.
Je ne veux pas passer à php 7, car je n'ai pas le temps de m'y mettre à fond.
Je je modifie mes requetes en mysqli. Jusque là tout va bien.
Mais mon de code d'affichage avec la pagination ne fonctionne plus. Je viens d'apprendre que le isset revoit maintenant l'inverse.
SI une personne peut m'aider, je l'en remercie vivement. Je suis sur ce problème depuis 2 jours.
Voici le code: Vraiment un grand merci par avance.
Sophie (quand j'enlève le isset tout les résultats s'affichent)
$maxRows_naturo_list =16;
$pageNum_naturo_list = 0;
if (isset($_GET['pageNum_naturo_list'])) {
$pageNum_naturo_list = $_GET['pageNum_naturo_list'];
}
$startRow_naturo_list = $pageNum_naturo_list * $maxRows_naturo_list;
$query_naturo_list_query = "SELECT membre .* FROM naturo ";
$naturo_list = mysqli_query($feu_connectiq , $query_naturo_list_query) or die(mysqli_error($feu_connectiq));
$row_naturo_list = mysqli_fetch_assoc($naturo_list);
$totalRows_naturo_list = mysqli_num_rows($naturo_list);
if (isset($_GET['totalRows_naturo_list'])) {
$totalRows_naturo_list = $_GET['totalRows_naturo_list'];
} else {
$all_naturo_list = mysqli_query($query_naturo_list);
$totalRows_naturo_list = mysqli_num_rows($all_naturo_list);
}
$totalPages_naturo_list = ceil($totalRows_naturo_list/$maxRows_naturo_list)-1;
Réponses apportées à cette discussion
Bonjour Sophie,
le fonctionnement de isset() n'a nullement été modifié même en PHP 7.
C'est peut-être un problème de bonne compréhension dans son utilisation. J'avais publié, voilà presque 10 ans, un tout petit tuto sur le sujet avec surtout un tableau montrant de façon synoptique différentes options.
À première vue, je ne vois rien de particulier dans ce code, mais comme j'ignore quels sont les différents résultats que produisent chacune de ces lignes, difficile d'identifier le problème exact. Supprimer le isset(), ok, mais lequel, j'en vois deux.
Il faut tester le code pour identifier la ligne où se produit l'erreur, et vérifier les valeurs des variables qui s'y trouvent afin de s'assurer qu'elles ont une valeur normale. Et si on en débusque une qui a une valeur inattendue, il faut identifier d'où vient cette valeur. Et ainsi de suite...
Merci beaucoup pour votre réponse.
Après plusieurs jours de galère j'ai trouvé une personne ayant eu le même problème que moi. J'ai fait un copier/coller du code et cela fonctionne très bien.
Voici le code pour ceux qui galère comme moi.
Syntaxe dreamweaver : jeux d'enregistrement pour php5.4
////////////////////////////////////////////
$currentPage = $_SERVER["PHP_SELF"];
$maxRows_naturo_list = 16;
$pageNum_naturo_list = 0;
if (isset($_GET['pageNum_naturo_list']))
{
$pageNum_naturo_list = $_GET['pageNum_naturo_list'];
}
$startrow_naturo_list = $pageNum_naturo_list * $maxRows_naturo_list;
$query_naturo_list = "SELECT matable.* table FROM matable ";
$query_limit_naturo_list = sprintf("%s LIMIT %d, %d", $query_naturo_list, $startrow_naturo_list, $maxRows_naturo_list);
$naturo_list = mysqli_query($feu_connectiq, $query_limit_naturo_list) or die(mysqli_error());
$row_naturo_list = mysqli_fetch_assoc($naturo_list);
if (isset($_GET['totalRows_naturo_list']))
{
$totalRows_naturo_list = $_GET['totalRows_naturo_list'];
}
else
{
$all_naturo_list = mysqli_query($feu_connectiq, $query_naturo_list);
$totalRows_naturo_list = mysqli_num_rows($all_naturo_list);
}
$totalPages_naturo_list = ceil($totalRows_naturo_list/$maxRows_naturo_list)-1;
$queryString_naturo_list = "";
if (!empty($_SERVER['QUERY_STRING']))
{
$params = explode("&", $_SERVER['QUERY_STRING']);
$newParams = array();
foreach ($params as $param) {
if (stristr($param, "pageNum_naturo_list") == false && stristr($param, "totalRows_naturo_list") == false)
{
array_push($newParams, $param);
}
}
if (count($newParams) != 0)
{
$queryString_naturo_list = "&" . htmlentities(implode("&", $newParams));
}
}
$queryString_naturo_list = sprintf("&totalRows_naturo_list=%d%s", $totalRows_naturo_list, $queryString_naturo_list);