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

PHP & Base de données Discussion :

Lecture d'un select


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 401
    Par défaut Lecture d'un select
    Bonjour,

    J'ai besoin de lire les valeurs d'un select.

    La déclaration du select et l'initialisation :
    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
    while ($formulaire = mysql_fetch_array($resultat))
    {....
    // Zone liste des formulaires sélectionnés en pièces jointes
    		$ret.='<div id="pj_select['.$x.']" style="position:absolute; visibility:hidden; left:0px;">';
    		$ret.='<select name="liste_pj_select['.$x.']" style="background:#00FFFF;">';
    		$ret.='</select>';
    		$ret.='</div>';
    		// Recherche des pièces jointes rattachées au formulaire
    		$requete_pj = 'SELECT * FROM piece_jointe WHERE pj_id = "'.$formulaire[form_id].'" ORDER BY pj_idform DESC';
    		$resultat_pj = mysql_query($requete_pj,$base);
    		if(controle_table($resultat_pj,$requete_pj))
    		{
    			while($piece_jointe = mysql_fetch_array($resultat_pj))
    				$ret.='<script>montre("pj['.$x.']");ajout_element("'.$piece_jointe[pj_idform].'","","maj_form","liste_pj_select['.$x.']")</script>';
    		}
    ....$x++;
    }
    La fontion javascript ajout_element :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    //******** Ajoute un élément dans une liste select *******
     
    function ajout_element(texte,code,nom_form,liste) 
    {
    	var position=null;
    	if (document.all) 
    		position=document.getElementsByName(liste).length;
    	var element = document.createElement('option');
    	element.text = conver_base_chaine(texte);
    	element.value = code;
     
    	document.forms[nom_form].elements[liste].options.add(element,position);
     
    }
    Le select s'initialise correctement, je l'affiche sans pb à l'écran.
    Comment faire pour récupérer les valeurs de chaque liste_pj_select[x] avec php ?

    Merci pour vos suggestions.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2003
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 285
    Par défaut
    si je ne me trompe pas, quand tu envoie ton select sous PHP il devient un tableau a 2 dimensions c'est ca ?

    le premiere element correspond au list_pj_select[x]
    et le second aux valeurs que chaque list_pj_select[x] contient ?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 401
    Par défaut
    Effectivement mais lorsque je veux afficher ce tableau il est vide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for($i=0;$i<count($form_libelle);$i++)
    {
    	echo 'liste '.$i.', valeur 0 : '.$liste_pj_select[$i][0].'</br>';
    	echo 'liste '.$i.', valeur 1 : '.$liste_pj_select[$i][1].'</br>';
    }
    Pourtant il fait bien partie de la form.

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2003
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 285
    Par défaut
    que les listes fassent parties de la form est une chose, que les elements soient séléctionnés en est une autre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    foreach($_POST["list_pj_select"] as $clef => $list){
      foreach($list as $val => $text){
        echo 'liste '.$clef.' valeur '.$val.' : '.$text.'</br>';
      }
    }
    et ca ?
    (a tester; fait a la va vite...)

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 401
    Par défaut
    Citation Envoyé par Sion_Sempai
    que les listes fassent parties de la form est une chose, que les elements soient séléctionnés en est une autre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    foreach($_POST["list_pj_select"] as $clef => $list){
      foreach($list as $val => $text){
        echo 'liste '.$clef.' valeur '.$val.' : '.$text.'</br>';
      }
    }
    et ca ?
    (a tester; fait a la va vite...)
    Tu m'as signalé qu'il fallait que les éléments soient sélectionnés donc j'ai ajouté selected à chaque élément :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	document.forms[nom_form].elements[liste].options[position-1].selected;
    Ca ne change rien, le foreach n'affiche rien.

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2003
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 285
    Par défaut
    euh, juste pour savoir... Tes select tu les envoies à une page par l'action d'un formulaire hein ?
    Tu l'envoie bien en post ?

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 401
    Par défaut
    Oui après un submit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input name="valider" type="submit" class="valider"  onmousedown="this.className=\'valider_on\'" onmouseup="this.className=\'valider\'" title="Enregistre votre saisie" value=" "></td></form>';
    Dans la form :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	$ret.='<form name="maj_form" action="../admin/document.php" method="post">';

  8. #8
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2003
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 285
    Par défaut
    Citation Envoyé par licorne
    Tu m'as signalé qu'il fallait que les éléments soient sélectionnés donc j'ai ajouté selected à chaque élément :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	document.forms[nom_form].elements[liste].options[position-1].selected;
    Il s'agit bien d'une selection à l'écran non ?
    Pourquoi faire la selection dans les listes avec javascript ?
    Et pourquoi faire l'ajout des éléments en javascript egalement plutot que directement en php ?

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 401
    Par défaut
    Le select est alimenté à 2 niveaux : il est intialisé en 1er avec les données de la base et en 2è à partir d'une autre liste si l'utilisateur a choisi de le faire.
    J'ai essayé d'ajouter selected car je pensais qu'il fallait peut-être que tous les éléments soient sélectionnés.
    La fonction ajout plutôt en javascript car je ne sais pas comment faire en php.

Discussions similaires

  1. Problème avec select lecture fichier
    Par manticore dans le forum Débuter
    Réponses: 1
    Dernier message: 04/04/2012, 10h31
  2. Select multiple - lecture JS et PHP
    Par Trini dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 24/02/2011, 17h17
  3. Modif select avec onchange et lecture
    Par michelp3 dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 28/04/2010, 17h29
  4. Pourcentage lecture d'un select
    Par comboDev dans le forum SQL
    Réponses: 10
    Dernier message: 14/11/2008, 16h06
  5. [PHP-JS] Lecture des options d'un select
    Par licorne dans le forum Langage
    Réponses: 25
    Dernier message: 09/03/2006, 16h05

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