Problème de variable et affichage page à page

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème de variable et affichage page à page

Re: Problème de variable et affichage page à page

par Cyrano » 31 janv. 2014, 17:11

Non, ça, c'est un prologue XML pour une page codée en XHTML et ce n'est même pas obligatoire. Ce tuto date quand même pas mal.

Si ton problème est le même que celui du post original, tu trouveras la réponse dans ce tuto. Si ton problème est différent, crée un nouveau sujet.

Re: Problème de variable et affichage page à page

par dany31000 » 31 janv. 2014, 17:07

Donc il suffit juste ajouté ce code pour connaître les variables d une page à une autre ?

C est bien ça ?


<?php

echo("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n");

?>

Re: Problème de variable et affichage page à page

par Cyrano » 31 janv. 2014, 16:48

Salut,
le lien de la réponse précédente étant mort, voici le nouveau lien.

Re: Problème de variable et affichage page à page

par Dany31 » 31 janv. 2014, 16:38

Bonjour à tous,

J ai le même que Filrouge est ce que tu as trouver la solution ?

:? Please

par Cyrano » 27 nov. 2006, 20:01

Problème de variable et affichage page à page

par filrouge » 27 nov. 2006, 19:42

Bonjour,


Le code ci-dessous qui me permet d'afficher des images d'une base de données sur n colonnes avec nb d'enregistrements déterminés par page fonctionnent très bien sauf lorsque cet affichage dépend d'une variable passée par URL. Dans ce cas j'ai une première page ok et quand je clique sur page 2, par exemple, j'obtiens le message d'erreur suivant :

Notice: Undefined index: nom_rubrique_galerie in /Applications/MAMP/htdocs/affichage.php on line 2

Notice: Undefined variable: tablo in /Applications/MAMP/htdocs/affichage.php on line 22

J'y suis depuis des semaines et je ne trouve aucune solution.
Merci d'avance si quelqu'un a une lumière.

Code : Tout sélectionner

<?php //========================================= // includes du fichier fonctions //========================================= require 'fonctions.php'; //========================================= //On récupère la variable //========================================= if( isset( $_GET['nom_rubrique_galerie'] ) ) echo $_GET['nom_rubrique_galerie']; $rubrique = $_GET['nom_rubrique_galerie']; //========================================= // initialisation des variables //========================================= // on va afficher 5 résultats par page. $nombre = 9; // si limite n'existe pas on l'initialise à zéro if (!$limite) $limite = 0; // on cherche le nom de la page. $path_parts = pathinfo($_SERVER['PHP_SELF']); $page = $path_parts["basename"]; //========================================= // connection à la DB //========================================= $db = "book"; $link = mysql_connect ('localhost:8889', 'root', 'root') or die ('Erreur : '.mysql_error() ); mysql_select_db($db) or die ('Erreur :'.mysql_error()); //========================================= // requête SQL qui compte le nombre total // d'enregistrements dans la table. //========================================= $select = "SELECT count(id_galerie) FROM galerie WHERE nom_rubrique_galerie='$rubrique'"; $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() ); $row = mysql_fetch_row($result); $total = $row[0]; //========================================= // vérifier la validité de notre variable // $limite; //========================================= $verifLimite= verifLimite($limite,$total,$nombre); // si la limite passée n'est pas valide on la remet à zéro if(!$verifLimite) { $limite = 0; } //========================================= // requête SQL qui ne prend que le nombre // d'enregistrement necessaire à l'affichage. //========================================= $select = "SELECT * FROM galerie WHERE nom_rubrique_galerie='$rubrique' limit ".$limite.','.$nombre; $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() ); $data = mysql_fetch_array($result); ?> <html> <head> <title>Document sans titre</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <?php // si on a récupéré un resultat on l'affiche. //========================================= //--- Résultat $result = mysql_query($select); while($data = mysql_fetch_array($result)) { // on stocke nos données $tablo[]=$data; } $nbcol=3; //--- détermine le nombre de colonnes de l'affichage echo '<table width="400" height="400">'; for($i=0;$i<count($tablo);$i++){ //--- les valeurs que l'on souhaite afficher $valeur1=$tablo[$i]['vignette_galerie']; if($i%$nbcol==0) echo '<tr height="120">'; echo '<td align="center" width="128"><img src="photos/galerie/'.$valeur1.'" border="0" ><br></td>'; if($i%$nbcol==($nbcol-1)) echo '</tr>'; } echo '</table>'; // on libère le résultat mysql_free_result($result); //====================================== $limitesuivante = $limite + $nombre; $limiteprecedente = $limite - $nombre; if($limite != 0) { echo '<a href="'.$page.'?limite='.$limiteprecedente.'">Page précédente</a>'; } if($limitesuivante < $total) { echo '<a href="'.$page.'?limite='.$limitesuivante.'">Page Suivante</a>'; } //========================================= // vérifier la validité de notre variable // $limite; //========================================= $verifLimite= verifLimite($limite,$total,$nombre); // si la limite passée n'est pas valide on la remet à zéro if(!$verifLimite) { $limite = 0; } //========================================= // si le nombre d'enregistrement à afficher // est plus grand que $nombre //========================================= if($total > $nombre) { // affichage des liens vers les pages affichePages($nombre,$page,$total); } ?> </body> </html> Fin du fichier affichage.php ------------------------------------------------------------------------------------------ Et code du fichier fonctions.php : <?php //récupération de $limite if(isset($_GET['limite'])) $limite=$_GET['limite']; else $limite=0; function verifLimite($limite,$total,$nombre) { // je verifie si limite est un nombre. if(is_numeric($limite)) { // si $limite est entre 0 et $total, $limite est ok // sinon $limite n'est pas valide. if(($limite >=0) && ($limite <= $total) && (($limite%$nombre)==0)) { // j'assigne 1 à $valide si $limite est entre 0 et $max $valide = 1; } else { // sinon j'assigne 0 à $valide $valide = 0; } } else { // si $limite n'est pas numérique j'assigne 0 à $valide $valide = 0; } // je renvois $valide return $valide; } function affichePages($nb,$page,$total) { $nbpages=ceil($total/$nb); $numeroPages = 1; $compteurPages = 1; $limite = 0; echo '<table border = "0" ><tr>'."\n"; while($numeroPages <= $nbpages) { echo '<td ><a href = "'.$page.'?limite='.$limite.'">'.$numeroPages.'</a></td>'."\n"; $limite = $limite + $nb; $numeroPages = $numeroPages + 1; $compteurPages = $compteurPages + 1; if($compteurPages == 10) { $compteurPages = 1; echo '<br>'."\n"; } } echo '</tr></table>'."\n"; } ?>
:( :(