Transmission variable

soniaboulares Messages postés 1 Date d'inscription lundi 4 septembre 2006 Statut Membre Dernière intervention 8 septembre 2006 - 8 sept. 2006 à 11:22
24Karas Messages postés 233 Date d'inscription jeudi 4 juillet 2002 Statut Membre Derniè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 "&lt;&lt;page pr&eacute;c&eacute;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 "&nbsp;$i\n";
        }else{
            //...sinon on affiche simplement le n° de la page actuelle
            echo "&nbsp;$i&nbsp;";
        }
    //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 "&nbsp;page suivante&gt;&gt;";
    }
}


//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);
?>

1 réponse

24Karas Messages postés 233 Date d'inscription jeudi 4 juillet 2002 Statut Membre Dernière intervention 5 juillet 2008
8 sept. 2006 à 12:54
remplace :
$datef=$_POST['UserStatsEntry']; ?>
par

if (isset($_POST['UserStatsEntry']))
{
$datef=$_POST['UserStatsEntry']; ?>
}
else
{
$datef=$_GET['UserStatsEntry']; ?>
}

sur toutes les pages sauf la 1ere tu vas arriver depuis un href, donc passage en GET

++
24K
0