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] envoyer via POST les champs d'une seule ligne


Sujet :

Langage PHP

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 27
    Points : 15
    Points
    15
    Par défaut [Tableaux] envoyer via POST les champs d'une seule ligne
    Salut à tous,
    j'ai un tableau ou je récupère les données d'un fichier xml à l'intérieur de champs de texte.
    nommons-les 'nom', 'prénom', 'age'.

    je vais donc obtenir un tableau comme cela :

    nom1 prénom1 age1
    nom2 prénom2 age2
    ....... ........... ......
    nomn prénomn agen

    avec un code qui ressemble à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <td><input name="nom" type="text" value="{.}" /> </td>
    <td><input name="prénom" type="text" value="{../../principal/@prenom}" /> </td>
    <td><input name="age" type="text" value="{../../principal/@age}" /> </td>
    je souhaite mettre un bouton ou un lien au bout de chaque ligne qui me permette d'envoyer les données de la ligne concernée et celle-ci uniquement.

    Lors de mes essais avec un bouton de validation de formulaire et une action POST, je récupère systématiquement la dernière ligne, quelque soit la ligne cliquée...

    J'ai pensé alors mettre un lien sur chaque ligne du style pour faire passer les données via l'url avec une fonction GET
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    href="/modif.php?nom=&prenom=&age=">récupération des données de la ligne
    mais, d'une part je ne me rappelle plus la syntaxe pour inclure la valeur des champs dans l'url (au boulot l'accès à internet est limité, mais ils nous ont quand même laissé "developper.com" !), et d'autre part je pense qu'une fonction POST sera plus puissante (en fait je n'ai pas uniquement 3 champs à transférer).

    Merci, si vous le voulez bien, de m'aider à finir tout ça !

  2. #2
    Membre confirmé
    Inscrit en
    Mai 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 673
    Points : 624
    Points
    624
    Par défaut
    Ca va dans forum HTML ça !
    Sinon, met des balises <form> pour chque lignes.

  3. #3
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Citation Envoyé par gloubi
    Sinon, met des balises <form> pour chque lignes.
    +1
    C'est ce que j'allais te proposer, c'est le plus simple, ca évite que chaque ligne écrase la valeur du précédent, et ca évite de devoir y mettre du javascript.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 27
    Points : 15
    Points
    15
    Par défaut
    ah désolé si je ne suis pas au bon endroit, je pensais naïvement que PHP/Formulaires était le bon endroit...

    sinon je vais essayer de mettre le form sur chaque ligne, il faut juste que je vois comment faire passer ça avec la répétition...
    merci en tout cas !

  5. #5
    Membre éclairé
    Inscrit en
    Septembre 2006
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 685
    Points : 658
    Points
    658
    Par défaut
    Un form pour chaque ligne ?

    Les tableaux sont pour moi plus adéquates.

  6. #6
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Citation Envoyé par Xunil
    Un form pour chaque ligne ?

    Les tableaux sont pour moi plus adéquates.
    Je ne vois pas trop comment puisque le but est d'envoyer une seule des n lignes quand on clique sur le bouton correspondant de la ligne. Aurais-tu du code pour montrer ton fonctionnement?

  7. #7
    Membre éclairé
    Inscrit en
    Septembre 2006
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 685
    Points : 658
    Points
    658
    Par défaut
    Bah, je voyais en effet plus ça dans l'envoi de plusieurs lignes...

    Mais en utilisant un submit pour chacune des lignes, ou des checkbox pour l'envoi de plusieurs lignes.

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <form action="" method="post">
    <p>
      <input type="text" name="text[1]" value="1" />
      <input type="submit" name="envoi[1]" />
    </p>
    <p>
      <input type="text" name="text[2]" value="2" />
      <input type="submit" name="envoi[2]" />
    </p>
    </form>

    Il suffit de prendre l'index du submit pour récupérer la valeur correspondante.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $_POST['text'][key($_POST['envoi'])];

  8. #8
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Citation Envoyé par Xunil
    Il suffit de prendre l'index du submit pour récupérer la valeur correspondante.
    Oui ce qui fait une requete POST qui peut etre très lourde dans le cas d'une centaine de lignes. Ca ne me parait pas beaucoup plus propre/pratique/léger que un formulaire pour chaque ligne.

Discussions similaires

  1. Relation un à n : mettre les résultats sur une seule ligne
    Par juju33 dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 13/08/2007, 10h57
  2. sql: regrouper les critères en une seule ligne.
    Par matybouch dans le forum Access
    Réponses: 1
    Dernier message: 28/06/2007, 16h39
  3. Réponses: 6
    Dernier message: 31/07/2006, 17h01
  4. Réponses: 4
    Dernier message: 09/07/2006, 15h41
  5. aditionner les champs d'une table ligne par ligne
    Par bertrand_declerck dans le forum Bases de données
    Réponses: 3
    Dernier message: 09/08/2005, 09h38

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