soniaboulares
Messages postés1Date d'inscriptionlundi 4 septembre 2006StatutMembreDernière intervention 8 septembre 2006
-
8 sept. 2006 à 11:22
24Karas
Messages postés233Date d'inscriptionjeudi 4 juillet 2002StatutMembreDernière intervention 5 juillet 2008
-
8 sept. 2006 à 12:54
Bjr,
J'ai un problème consiste à afficher une table Mysql page par page avec une condition, cette condition depend de la variable ($datef=$_POST['UserStatsEntry' ]) qui est définie dans une autre page(historique.php).
Lors de l'exécution, la première page est affiché correctement, alors que pour les autre pages m'affiche ce message: Undefined index: UserStatsEntry .
SVP donnez moi une réponse et voici le code.
<?php
$compte="CA0091";
$datef=$_POST['UserStatsEntry']; ?>
">
<?
//on verifie si la variable $pg est definie, sinon on l'initialise a 1
if(!isset($_GET['pg'])){
$pg = 1;
}else{
$pg = $_GET['pg'];
}
//on verifie si la variable qui est censcée etre un numero de page est bien un chiffre,
if(!is_numeric($pg)){
$pg = 1;
}
include 'connexion.php';
//c'est le nb d'enregstrements à affiche par page:
$enreg_par_pg = 20;
//fonction qui affiche les liens vers les autres pages, ainsi que les liens page suivante et page precedente:
function pgs($enreg_par_pg, $pg, $Millenia, $datef, $compte){
//c'est la requete qui doit permettre le nombre de résultats total qui va etre reparti sur plusieurs pages
$res = mysql_query("SELECT * FROM client WHERE (comptecl='$compte' && date='$datef')", $Millenia)or die("Erreur MySQL: ".mysql_error( $Millenia));
$nb_enreg = mysql_num_rows($res);
//on calcule le nb de pages
$nb_pg_rounded = ceil( $nb_enreg / $enreg_par_pg );
//numero de page precedente
$pp = $pg - 1;
//numero de la page suivante
$ps = $pg + 1;
//si l'utilisateur se se trouve pas a la page n°1
if($pg != 1){
//on affiche un lien page précedente
//si votre script a besoin d'autre variable pour fonctionner n'oublier pas des les transmettre en ajoutant &var=$var...
echo "<<page précédente";
}
//definition d'une variable pour la boucle
$i=1;
//la syntaxe do...while permet d'effectuer la boucle au moins une fois!
do{
//si $i n'est pas egal au numero de la page sur laquelle se trouve l'utilisateur...
if($i != $pg){
//...on affiche un lien vers cette page
//idem: si votre script a besoin d'autre variable pour fonctionner n'oublier pas des les transmettre en ajoutant &var=$var...
echo " $i\n";
}else{
//...sinon on affiche simplement le n° de la page actuelle
echo " $i ";
}
//incrémentation de la viariable de la boucle
$i++;
//on recommence tant que $i n'atteint pas le numero de la derniere page
}while($i <= $nb_pg_rounded);
//si l'utilisateur n'est pas a la derniere page...
if($pg != $nb_pg_rounded){
//...on affiche un lien page suivante
//idem: si votre script a besoin d'autre variable pour fonctionner n'oublier pas des les transmettre en ajoutant &var=$var...
echo " page suivante>>";
}
}
//ici on calcule à partir de quel enregistrement il faut afficher $enreg_par_pg résultats
$limit = $enreg_par_pg*$pg-$enreg_par_pg;
//c'est la requete qui selectione $enreg_par_pg resultats
$req = mysql_query("SELECT * FROM client WHERE (comptecl='$compte' && date='$datef') LIMIT $limit, $enreg_par_pg")or die("Erreur MySQL: ".mysql_error( $Millenia));
//
//ici c le code qui affiche les resulatats de votre requete, tout depend du script
//par exemple:
while($tab = mysql_fetch_assoc($req)){
echo $tab["date"];
echo $tab["heure"];
echo $tab["telR"];
echo $tab["message"];
echo "
";
}
//on appele la fonction précédament créée pour afficher les liens vers les autres pages, vous pouvez l'appeler plusieurs fois s'il le faut
echo "
";
pgs($enreg_par_pg, $pg, $Millenia, $datef, $compte);
?>