IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Pagination et variables de session


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 175
    Par défaut Pagination et variables de session
    Bonjour,

    J'ai créé un formulaire (formulaire.php) qui cherche dans ma base et qui affiche les résultats sur une page resultats.php. Sur la page résultats.php j'utilise un système de pagination pour afficher les résultats. Mon problème est le suivant:
    Quand il y a plusieurs pages je perds les variables sélectionnées lors de la soumission du formulaire. Je débute en Php et je sais qu'on peut mettre les varialble en session seulement je vois pas comment faire dans mon cas precis. Peut etre il existe une meilleure solution. A vous de me conseiller. Voici le code de la page resultats.php.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
     
     
    <?
    $query = "SELECT region, pays FROM mabase";
     
    if(isset($_POST['region']) && $_POST['region'] != "*") {
         $fields['region'] = $_POST['region'];
    }
    if(isset($_POST['pays']) && $_POST['pays'] != "*") {
         $fields['pays'] = $_POST['pays'];
    }
     
    if(!empty($fields)) {
         $i = 0;
         $query .= " WHERE ";
         foreach($fields AS $field => $value) {
              if($i > 0) {
                   $query .= " AND ";
              }
              else {
                   $query .= $field." = '".$value."'";
              }
              $i++;
         }
    }
     
    $query .= " ORDER BY date DESC ";
    echo $query;
     
    $result = mysql_query($query) or die ('Erreur : '.mysql_error() );
     
    $Nmax = 3; 
    $Ncur = 0;
     
    $Ndeb=@$_GET["num"];
     
    while (($row = mysql_fetch_array($result))
       && ($Ncur<$Nmax+$Ndeb)) {
       if($Ncur>=$Ndeb)
    {
        echo '<table width="450" border="0" cellspacing="0">'."\n";
            echo '<tr>';
            echo '<td class="ad"><b>'.$row['region'].' &nbsp; '.$row['pays'].' &nbsp; </b></td>';
            echo '</tr>'."\n";
        echo '</table>'."\n";
    }
     
     
       $Ncur++;
    } ?>
     
    </td>
     
    <td>
    <table align="left" cellpadding="0" cellspacing="0" border="0" width="250">&nbsp;</table>
    </td>
     
    </tr>
     
     
    <tr>
    <td align="center" colspan="3">
     
    <br />
    <table>
    <tr>
    <? if($Ndeb > 0) { ?>
     
    <td valign=top>
    <b><font size="2" face="Arial"><a href="?num=<? echo $Ndeb-$Nmax; ?>">Pécédente</a></font></b>
    </td>
    <? } ?>
     
    <td>   
    <? $Npag = ceil(mysql_numrows($result)/$Nmax);
    for($i = 1;$i<=$Npag;$i++) {
       if($Ndeb == ($i-1)*$Nmax) { ?>
          <b><font size="2" face="Arial">Page <? echo $i; ?></font></b>
       <? } else { ?>
          <b><font size="2" face="Arial"><a href="?num=<? echo ($i-1)*$Nmax; ?>"
          >&nbsp;<? echo $i; ?>&nbsp;</a></font></b>
       <? }
    } ?>
    </td>
     
    <? if($row) { ?>
     
    <td valign=top>
    <b><font size="2" face="Arial"><a href="?num=<? echo $Ncur; ?>">Suivante</a></font></b>
    </td>
     
    <? } ?>
    </tr></table>
     
    </td>
    </tr>

  2. #2
    Membre confirmé Avatar de carelha
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 168
    Par défaut
    Bonjour,


    j'ai comme toi un premier formulaire avec des variables POST.
    J'ai d'abord vérifié que le formulaire était bien envoyé, dans la même page,
    puis transformé mes variables post en variables de session :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['s_clef'] = $_POST[s_clef'] ;
    puis je les utilise dans mes requêtes

    donc pour toi ca ferait qqch comme ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(isset($_POST['region']) && $_POST['region'] != "*") {
         $_SESSION['region'] = $_POST['region'];
    }
    Mais après pour ton code je ne sais pas quelle est la syntaxe exacte si field devient session.

    J'espère que ca pourra être un début de piste

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 175
    Par défaut
    merci je vais faire l'essai

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Formulaire multi-criteres + variables de session + pagination
    Par NAUTERIE dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 16/09/2012, 06h48
  2. Création d'une variable de session avec un ID
    Par PrinceMaster77 dans le forum ASP
    Réponses: 4
    Dernier message: 18/10/2004, 10h28
  3. Effacer les variables de session
    Par glsn dans le forum ASP
    Réponses: 2
    Dernier message: 12/12/2003, 13h42
  4. Variable de session
    Par Sadneth dans le forum ASP
    Réponses: 6
    Dernier message: 14/11/2003, 11h12
  5. variable de session
    Par divableue dans le forum ASP
    Réponses: 2
    Dernier message: 23/10/2003, 16h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo