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 :

[Cookies] Pagination et récupération de la clause where d'une requête


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2003
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 21
    Points : 22
    Points
    22
    Par défaut [Cookies] Pagination et récupération de la clause where d'une requête
    Bonjour tout le monde,

    voila je viens de faire une recherche sur le forum, mais je n'ai pas réussi à trouver mon bonheur dans toute la quantité...
    Je suis en train de faire un site pour une agence immobilière avec un système de recherche de biens selon différents critères.

    J'ai une première page qui me sert de formulaire où le visiteur indique ce qu'il recherche (prix, nombre de pièce, type,...), puis sur le submit, ce formulaire me lance une page php qui monte une clause where sur la requete et affiche le résultat. La requête fonctionne parfaitement. J'ai ajouté une pagination sur l'affichage des biens avec page suivante et page précédente simplement.

    La première page s'affiche avec les bons biens, par contre si je fais page suivante, le refresh de ma page perd ma clause where issue du formulaire de saisie. Je ne peux pas passer ma clause where dans le lien URL (trop longue), comment pourrais-je récupérer ma clause where ?

    (j'espère avoir été assez clair ).

    Merci d'avance pour vos réponses.

  2. #2
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 133
    Points : 150
    Points
    150
    Par défaut
    Bonjour,

    Avez vous essayé de le faire avec les sessions ?

  3. #3
    Membre averti Avatar de Linio
    Inscrit en
    Octobre 2005
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 431
    Points : 332
    Points
    332
    Par défaut
    Tu peux utiliser des sessions, utiliser les variables get en reconstruisant ton url en fonction de ta page, les variables post en rajoutant des champs 'hidden' à un formulaire, des cookies...

    Bref pas mal de choix

    Le plus simple est que tu récupère les variables qui créent ta requête de la même manière que sur la première page.
    Linio

  4. #4
    Membre à l'essai
    Inscrit en
    Septembre 2003
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 21
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par Linio Voir le message
    Tu peux utiliser des sessions, utiliser les variables get en reconstruisant ton url en fonction de ta page, les variables post en rajoutant des champs 'hidden' à un formulaire, des cookies....
    Bonjour,
    désolé de la rapidité de la réponse mais un peu booké au boulot. J'ai découpé la création de ma requete en mettant ma condition where dans une variable (ma requete finale est monté par concaténation de chaque partie du coup). J'ai créé un bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    echo "<form method=\"POST\" name=\"form1\">";	
    echo "<input type=\"texte\" name=\"req_where\" value=\"".$where."\">";
    echo "</form>";
    Au tout début de ma page, lors de la création de la requete j'ai ajouté ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
      if (isset($_POST['req_where']))
      {
         // Après clique sur bouton suivant, mon champs contenant ma clause where est bien renseigné
         echo ('Req where initialisée');
         $where = $_POST['req_where'];
      }
      else
      {
          // Mon champs n'est pas initialisé, donc je lance la création de la clause where 
          // Premier passage dans la page.
          echo ('Req where vide');
    Mon isset ne remonte jamais rien, pourtant à l'écran je vois très bien ma clause where dans mon champs.

    Voyez-vous quelque chose là où je suis aveugle ?

    EDIT => Un oublie de bout de code.

  5. #5
    Membre averti Avatar de Linio
    Inscrit en
    Octobre 2005
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 431
    Points : 332
    Points
    332
    Par défaut
    Passer un bout de requête par l'entête

    Mais comment tu submites ta page? Je pense que c'est là le pb, quand tu recharges ta page, ça doit péter ton entête.
    Linio

  6. #6
    Membre à l'essai
    Inscrit en
    Septembre 2003
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 21
    Points : 22
    Points
    22
    Par défaut
    Ok c'est bon j'ai réussi a me débrouiller avec des sessions.

    Merci pour votre aide et vos idées, ça m'a sorti une belle épine du pied.

    Merci et à bientôt.

  7. #7
    Membre à l'essai
    Inscrit en
    Septembre 2003
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 21
    Points : 22
    Points
    22
    Par défaut
    Re-bonjour tout le monde,

    j'ai retiré le résolu car j'ai un problème... J'ai utilisé une session pour passer ma clause where de page en page, tout va bien sous FIREFOX, par contre sous IE tout marche jusqu'a la page 6 sur l'affichage de la page 6 il perd ma requete ... Ca peut venir de quoi parce que la je ne vois pas trop ...

  8. #8
    Membre averti Avatar de Linio
    Inscrit en
    Octobre 2005
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 431
    Points : 332
    Points
    332
    Par défaut
    Ca peut venir de beaucoup de choses!

    Et a priori pas du navigateur.

    Quelle est la structure de ta page finalement ?
    Linio

  9. #9
    Membre à l'essai
    Inscrit en
    Septembre 2003
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 21
    Points : 22
    Points
    22
    Par défaut
    OK problème résolu.

    J'ai refais ma page depuis le début et je n'ai plus de souci.

    Merci de voter aide.


    (Je mets résolu définitivement cette fois-ci )

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

Discussions similaires

  1. Utilisation des alias dans la clause WHERE d'une requête SELECT
    Par OursRêveur dans le forum MS SQL Server
    Réponses: 14
    Dernier message: 13/07/2013, 05h34
  2. [AC-2010] Clause WHERE dans une requète
    Par Brëzz dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 12/04/2013, 16h38
  3. [VBA] Modification de la clause where d'une requête
    Par Julien Dufour dans le forum VBA Access
    Réponses: 6
    Dernier message: 05/10/2007, 17h44
  4. Réponses: 2
    Dernier message: 29/01/2007, 14h41
  5. Clause Where sur une Date
    Par Zebulonn dans le forum Installation
    Réponses: 31
    Dernier message: 20/10/2005, 12h56

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