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 :

[Tableaux] Passage de paramètres en PHP


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 29
    Points : 22
    Points
    22
    Par défaut [Tableaux] Passage de paramètres en PHP
    Bonjour à tous,

    Je travaille actuellement à la modification d'une application de gestion de dossier en php.

    Sur ma page de recherche de dossier par multi critere j'ai pour commencer un formulaire qui me demande plein d'infos, je valide et je retrouve un tableau contenant les nom et prenom de personne etc...

    Mon problème est :
    Je voudrais permettre en cliquant sur l'en-tête d'une colonne, de recharger le tableau en triant par celle ci (Par exemple, un clic sur 'nom', recharge le tableau avec les noms dans l'odre alphabétique).


    La méthode que j'utilise c'est donc de mettre un lien href=multicritere.php?tri='nom' et de récupéré la valeur de tri avec $_GET le problème est que je ne récupère plus tous ce qui avait été envoyé en POST et le fait que le bouton valider a déjà était cliqué (isset[$_POST['valider']).


    Comment faire ?

    J'espère mettre fait comprendre ( je ne suis pas convaincue )

    Merci d'avance

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    214
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 214
    Points : 208
    Points
    208
    Par défaut
    Salut,
    j'ai eu le même pb et comme tu le dis si bien, si tu ne postes pas, tu perds le contenu de ton post.
    Deux solutions :
    - dans ton get, tu rajoutes tout ce qu'il y avait dans le post précédent (c'est peut-être un peu lourd)
    - le contraire, c'est-à-dire que tu rajoutes un champ caché qui va récupérer les infos (genre le nom de la colonne à trier, et sa valeur - croissante ou décroissante) et tu repostes le tout (donc pas un href mais un submit).
    J'espère que c'est clair...

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 29
    Points : 22
    Points
    22
    Par défaut
    Ok, je vais essayer mais je peux faire en sorte que isset['valider'] fonctionne ? (valider est un bouton). dois-je lui mettre une valeur du style ?valider=1&... ?

    Merci

  4. #4
    Membre averti
    Homme Profil pro
    Lead Dev Web
    Inscrit en
    Avril 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Lead Dev Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2005
    Messages : 282
    Points : 390
    Points
    390
    Par défaut
    Sinon voit du côté de solutions en Javascript...

  5. #5
    Membre éclairé
    Avatar de djayp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 295
    Points : 687
    Points
    687
    Par défaut
    Salut !

    J'utilise pour ma part des champs cachés avec les informations de mon formulaire, et du javascript pour définir la colonne de tri et valider le formulaire.

    Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form name="test" action="recherche.php">
    <input type="hidden" name="tri" />
    <input type="hidden" name="nom" value="<?php echo $nom; ?>" />
    <input type="hidden" name="date" value="<?php echo $date; ?>" />
    </form>
    Au niveau javascript :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function trier(tri) {
    document.forms['test'].elements['tri'].value=tri;
    document.forms['test'].submit();
    }
    Dans les entetes de ma colonne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <a href="javascript:trier('nom'); return false;">Nom</a>
    <a href="javascript:trier('date'); return false;">Date</a>
    A++

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    214
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 214
    Points : 208
    Points
    208
    Par défaut
    Si valider est un bouton, il sera forcément posté, donc isset n'est pas pertinent.
    Pour résoudre le pb, j'avais du passer par un bout de javascript.
    quand tu cliques sur l'une de tes colonnes, cela appelle une fonction javascript qui donne une valeur certaine à un champ caché.
    Ensuite, la fonction poste le formulaire.
    Quand tu récupères le contenu de ton post, tu regardes la valeur de ton champ caché.
    Par exemple, s'il vaut 1, c'est un tri sur le nom, 2 sur le prénom, etc.
    Ca se complique si tu veux pouvoir faire le tri dans les 2 sens pour chaque colonne, mais l'idée générale est la même.

  7. #7
    Membre averti
    Homme Profil pro
    Lead Dev Web
    Inscrit en
    Avril 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Lead Dev Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2005
    Messages : 282
    Points : 390
    Points
    390
    Par défaut
    Sinon pour faire simple :
    http://tablesorter.com/docs/

  8. #8
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Points : 356
    Points
    356
    Par défaut
    Tu peux certainement essayer avec de l'AJAX qui te premettrait de mettre à jour ta page tout en gardant les infos de recherche sur celle-ci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <div id='divRecherche'>
     Ton formulaire avec tes contrôles 
     <input type='button' onclick='recherche(triParDefaut)'>
    </div>
    <div id='divResultat'>
     Tes résultats avec colonnes qui comportent sur chaque entête un onclick='recherche(triParColonneSelectionnee)'
    </div>
    La fonction recherche(typeTri) étant une fonction javaScript te premettant de faire de l'Ajax en mettant à jour ton divRecherche.

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

Discussions similaires

  1. Passage de paramètres entre php
    Par GYK dans le forum Langage
    Réponses: 11
    Dernier message: 23/01/2009, 15h20
  2. [Tableaux] PHP en console et passage de paramètres
    Par FrankOVD dans le forum Langage
    Réponses: 2
    Dernier message: 31/01/2007, 17h02
  3. passage de paramètre en php sans formulaire
    Par cout dans le forum Langage
    Réponses: 6
    Dernier message: 30/05/2006, 15h45
  4. [Tableaux] Passage de paramètre
    Par vincevg dans le forum Langage
    Réponses: 11
    Dernier message: 15/03/2006, 14h44
  5. appel d'une page php et passage de paramètres via un SRC
    Par yoda_style dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 26/01/2006, 20h54

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