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 :

simplification de multiple for each


Sujet :

Langage PHP

  1. #1
    Membre actif

    Homme Profil pro
    Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Inscrit en
    Juillet 2006
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 404
    Points : 241
    Points
    241
    Par défaut simplification de multiple for each
    Bonjour

    Ma question est peut être basique, je n'ai pas trouvé de réponse dans les FAQ.
    J'envoie de multiple variable par un formulaire sous forme de tableau.
    Existe t'il un moyen plus simple de faire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    foreach ($tab1 as $id ){
    For each($tabtitre as $titre1){
    For each($tabautre as $autre){
    n'y a t'il pas un moyen d'écrire quelque chose comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    foreach ($tab1 as $id , $tabtitre as $titre1,$tabautre as $autre){
    de plus en essayant ce n'est pas bon puisque le titre n'est pas lié à l'id.
    j'écrivais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     $tabmodif = $_POST['id'];
    $tabtitre= $_POST['titre1'];
     
        foreach ($tabmodif as $id) {
            foreach ($tabtitre as $titre1){
            echo $id." ".$titre1."<br>";
        }
        }
    mais sur mon écho j'ai 4id (nombre d'envoi du tableau) associé à chaque fois avec 4 titre différent.
    j'imagine qu'il ya une astuce au moment de construire le tableau.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Si tu indexes tes champs de formulaire :
    name="titre[1]"
    name ="autre[1]"

    Tu les récupères
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    foreach ($_POST['titre'] as $id=>$titre) {
        echo $titre . ' - ' . $_POST['autre'][$id];
    }

  3. #3
    Membre actif

    Homme Profil pro
    Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Inscrit en
    Juillet 2006
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 404
    Points : 241
    Points
    241
    Par défaut
    je ne comprend pas bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    foreach ($_POST['titre'] as $id=>$titre) {
        echo $titre . ' - ' . $_POST['autre'][$id];
    }

    la variable $id n'est pas défini, j'ai donc essayé ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $tabmodif = $_POST['id'];
     
        foreach ($tabmodif as $id) {
            echo$id." ".$_POST['titre1'][$id];
        }
    et ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      $tabid = $_POST['id'];
        $titre1=$_POST['titre1'];
     
            foreach ($tabid as $id){
            echo $id." ".$titre1."<br>";
    mais bon ça ne fonctionne pas

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Comment ça la variable id n'est pas définie ?

  5. #5
    Membre actif

    Homme Profil pro
    Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Inscrit en
    Juillet 2006
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 404
    Points : 241
    Points
    241
    Par défaut
    il y avait confusion pour moi la variable id est une variable que je récupère par mon $_POST.
    ok ça fonctionne.
    merci.

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

Discussions similaires

  1. XML-> HTML par XSLT multiple for-each
    Par ftillier dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 10/09/2008, 09h25
  2. For Each File : SearchPattern multiple
    Par Kiboumz dans le forum VB.NET
    Réponses: 1
    Dernier message: 28/06/2007, 09h04
  3. apply-templates et for-each
    Par d'Oursse dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 14/05/2004, 09h38
  4. utilisation de for each
    Par billoum dans le forum ASP
    Réponses: 5
    Dernier message: 19/03/2004, 16h30
  5. [VB6] For Each ... In ...
    Par Troopers dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 03/02/2003, 13h56

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