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 :

Récupération value d'une boîte à liste


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 402
    Par défaut Récupération value d'une boîte à liste
    Bonsoir,

    J'utilise un script JavaScript ayant pour effet d'ajouter une boîte à liste permettant de faire un sélection dans une autre boîte
    Mon code HTML/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
    <form method ="post" action ="essai INSERT INTO.php">
    <TABLE>
    <TR>
    <TD>
    <SELECT NAME="SelectList" ID="SelectList" SIZE="5">
    <option value=''>Aucun</option>
    <?php
     
    $res = mysql_query("SELECT LIB.NOM_LIBRAIRIE AS librairie,LIB.ID_LIBRAIRIE AS id_librairie
     
    FROM LIBRAIRIE LIB
     
    
    ORDER BY LIB.NOM_LIBRAIRIE");	
     
    while($row = mysql_fetch_assoc($res)){
     
     
    echo "<option value='".$row["id_librairie"]."'>".$row["librairie"]."</option>";
     
     }?>
     
     </select>	
    </TD>
    <TD>
    <INPUT TYPE="BUTTON" VALUE="->" ONCLICK="addIt();"></INPUT>
    <BR>
    <INPUT TYPE="BUTTON" VALUE="<-" ONCLICK="delIt();"></INPUT>
    </TD>
    <TD>
    <SELECT NAME="PickList" ID="PickList" SIZE="5">
     
    </SELECT>
    </TD>
    </TR>
    </TABLE>
    Le script fonctionne mais j'éprouve des difficultés dans la récupération du $_POST. En vue de l'insertion dans une base de données, je souhaite récupérer les values du
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
     <SELECT NAME="PickList" ID="PickList" SIZE="5">
    (boîte à liste de droite ). J'ai pensé à faire du NAME un tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    NAME="PickList []"
    $PickList_insert= (isset($_POST["PickList"]))? ($_POST["PickList"]):array();
    Je bute ensuite...d'ailleurs je ne sais pas si je suis sur la bonne voie. Pouvez-vous m'aider à obtenir l'effet recherché ? Merci.

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    ce que tu veux faire s'écrit comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    (isset($_POST["PickList"]))?$PickList_insert = $_POST["PickList"]:
    $PickList_insert = array();
    sinon le plus simple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    $PickList_insert = $_POST["PickList"];

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 402
    Par défaut
    Merci pour ta réponse mais je n'arrive pas à mes fins. Je n'arrive pas récupérer les values du $_POST["PickList"]. Mon code est le suivant :

    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
     
     
     
    <form method ="post" action ="essai INSERT INTO.php">
    <TABLE>
    <TR>
    <TD>
    <SELECT NAME="SelectList" ID="SelectList" SIZE="5">// 1ere liste déroulante qui liste tous les genres
     
     
    <?php 
     $requete_genres = "SELECT G.ID_GENRE,G.NOM_GENRE
     FROM GENRE G
     ORDER BY G.NOM_GENRE ASC
     ";
     
     $resultat_genres = mysql_query($requete_genres) or die('Erreur SQL !'.$requete_genres.'<br>'.mysql_error());
     
     
    	while($data_genres = mysql_fetch_assoc($resultat_genres))
     
     
    		{
     
     
     
    echo '<option value="'.$data_genres['ID_GENRE'].'"'.(isset($_POST['SelectList']) && $_POST['SelectList'] == $row['SelectList'] ? ' selected="selected"' : '').'>'.$data_genres['NOM_GENRE'].'</option>';
    //affichage dynamique de la liste des genres : opérationnel
     
    }
     
    ?>	
     
     </select>	
    </TD>
    <TD>
    <INPUT TYPE="BUTTON" VALUE="->" ONCLICK="addIt();"></INPUT>
    <BR>
    <INPUT TYPE="BUTTON" VALUE="<-" ONCLICK="delIt();"></INPUT>
    </TD>
    <TD>
    <SELECT NAME="PickList[]" ID="PickList" SIZE="5"> 
    // 2nd liste déroulante (vierge au départ) qui se remplit en fonction des sélections faites dans la 1ere liste. Assimilable à une liste déroulante à  sélection multiple ? Je liste des livres qui peuvent avoir plusieurs genres (donc plusieurs values à ajouter en même temps).
     
    </SELECT>
    </TD>
    </TR>
    </TABLE>
     
     
    $numero_insere = mysql_insert_id();// récupération de l'id_livre
     
    (isset($_POST["PickList"]))?$PickList_insert = $_POST["PickList"]:
    $PickList_insert = array(); 
     
    foreach($PickList_insert as $genres) {
     
    $sql = 'INSERT INTO `thematise` (`id_genre`, `id_livre`) VALUES("'. mysql_real_escape_string(trim($genres)).'","'. mysql_real_escape_string(trim($numero_insere)).'" )'; 
    mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());  }
    L'insertion ne se fait pas dans la table thematise : id_genre et id_livre (récupéré grâce à $numero_insere) ne sont pas ajoutés...
    J'espère avoir bien décrit ma problématique. Pouvez-vous m'apporter une aide complémentaire ? Merci.

  4. #4
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    on commence donc par le début, un fichier ne prend ni espace ni accent.

    donc ici déjà il y une erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <form method ="post" action ="essai INSERT INTO.php">

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 402
    Par défaut
    Au temps pour moi... Mais même après avoir enlevé les espaces dans le nom du fichier, cela ne résout pas mon problème Vois-tu d'autres anomalies dans mon code ? Merci encore.

  6. #6
    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
    Par défaut
    il n'y a pas de fin de formulaire ni de bouton submit ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. Réponses: 16
    Dernier message: 09/07/2007, 17h45
  2. [PHP-JS] Récupération valeur d'une liste déroulante
    Par vandeyy dans le forum Langage
    Réponses: 12
    Dernier message: 29/01/2007, 16h03
  3. Réponses: 1
    Dernier message: 03/01/2007, 21h34
  4. Récupération d'une value d'une liste déroulante
    Par Yaz dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 23/06/2006, 16h03
  5. plusieurs value dans une liste deroulante
    Par lepierre dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 16/11/2004, 14h53

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