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érer les données d'une liste déroulante


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 37
    Points : 20
    Points
    20
    Par défaut Récupérer les données d'une liste déroulante
    Bonjour,

    J'ai une erreur dans mon code que je n'arrive pas à résoudre et j'aurai aimer avoir votre aide pour m'aider.

    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
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    <!-- En tête -->
    <?php require_once("header.php"); ?>
    <!-- Calendrier -->
    <?php include("calendar_entre.php") ?>
    
    <?php $req2 = "SELECT REFERENCE FROM disque"; //recupère référence de disque
    	$result2 = mysql_query($req2) or die("Requete pas comprise"); 
    	$reference = $_POST['reference']; 
    	echo $reference;
    	?>
    
    
    <!-- Début form Gest_disque -->
    <form name="Gest_disque" action="Gest_disque2.php" method="POST">
    
    <!-- Tableau des Disques -->
    <table width="457" border="0" align="center">
      <tr>
      <!-- choix reference si modification ou suppression -->
         <td colspan="2" align="center">Référence Distributeur :
              <select name="reference">
                <option value="" selected onChange="javascript:modifier()"> </option>
    <?php  				 
    				while ($row2=mysql_fetch_array($result2))
    					{			
    						echo '<option value="'.$row2[0].'">'.$row2[0].'</option>';
    					}
    ?>
    </select>
    <?php
    
    $req3 = "SELECT * FROM disque WHERE REFERENCE='$reference'";
    $result3 = mysql_query($req3) or die("Requete pas comprise");
    $donnee = mysql_fetch_assoc($result3)
    
    ?>
    		        
          </td>
      </tr>
      <!-- champs données enreg ou a enreg -->
      <tr>
        <td height="15" colspan="2"> </td>
      </tr>
      <tr>
        <th scope="col" colspan="2"><h1>Créer ou Modifier un Disque</h1></th>
    </tr>
      <tr>
        <td colspan="2"></td>
        </tr>
      <tr>
        <td width="219">Référence :</td>
        <td width="324" align="center"><input type="text" name="reference" value= <?php $donnee["REFERENCE"] ?> /></td>
        </tr>
      <tr>
        <td>Code S.D.R.M. :</td>
        <td align="center"><input type="text" name="Code_SDRM" value= <?php $donnee["CODE_SDRM"] ?> /></td>
        </tr>
      <tr>
        <td>Code EAN 13 :</td>
        <td align="center"><input type="text" name="Code_EAN13" value= <?php $donnee["CODE_EAN13"] ?> /></td>
        </tr>
      <tr>
        <td>Titre du Phonographe :</td>
        <td align="center"><input type="text" name="Titre_disque" value= <?php $donnee["TITRE_DISQUE"] ?> /></td>
        </tr>
      <tr>
        <td>Artiste :</td>
        <td align="center"><input type="text" name="Artiste" value= <?php $donnee["ARTISTE"] ?> /></td>
        </tr>
      <tr>
        <td>Nombre de  tirage du disque :</td>
        <td align="center"><input type="text" name="Nb_disque_paru" value= <?php $donnee["NB_DISQUE_PARU"] ?> /></td>
        </tr>
      <tr>
        <td>Année de sortie :</td>
        <td align="center"><input onClick="ds_sh(this);" name="annee_sortie" readonly="readonly"  style="cursor: text" value= <?php $donnee["ANNEE_SORTIE"] ?> /></td>
        </tr>
      <tr>
        <td>Année d'enregistrement :</td>
        <td align="center"><input onClick="ds_sh(this);" name="annee_enreg" readonly="readonly"  style="cursor: text" value= <?php $donnee["ANNEE_ENREG"] ?> /></td>
        </tr>
      <tr>
        <td align="center"><input type="submit" value="Ok" /></td>
        <td align="center"><input type="reset" value="Annuler" /></td>
      </tr>
    </table>
    </div>
    
    </form>
    <!-- Fin form disque -->
    
    <br>
    <br>
    <!-- Pied de page -->
    <?php require_once ("footer.php"); ?>
    
    
    		<!-- Récupèration des données -->
    		 <?php  
    			if (isset($_POST['reference']))
    			{
    				$ref=$_POST['reference'];
    				$sdrm = $_POST['Code_SDRM'];
    				$ean13 = $_POST['Code_EAN13'];
    				$titre = $_POST['Titre_disque'];
    				$nb_disque = $_POST['Nb_disque_paru'];
    				$artiste = $_POST['Artiste'];
    				//$sortie = $_POST['annee_sortie'];  Date
    				//$enreg = $_POST['annee_enreg'];  Date
    				
    				
    				//Insertion des données dans la BDD
    				$requete2 = "INSERT INTO disque values ('$ref', '$sdrm', '$ean13', '$titre', '$nb_disque', '$artiste', '', '')" ;
    				
    				mysql_query($requete2) or die(mysql_error()); 
    			}
    		?>
    L'erreur : Notice: Undefined index: reference in C:\wamp\www\site_emouvance1\Gest_disque2.php on line 8

    -----> J'ai mis en gras et souligner la ligne <------

    Le problème vient surement du fait que je n'arrive pas à récupérer la référence séléctionner dans la liste déroulante.


    Merci d'avance pour votre aide.

  2. #2
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    salut,

    Normal, $_POST['reference'] n'existe pas avant de valider le formulaire, tu dois d'abord faire un contrôle

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if(is_set($_POST)){
      $reference = $_POST['reference']; 
      echo $reference;
    }
    Voilà, A+
    Développeur | Zend Certified Engineer

    Étapes Pour mieux se servir du forum:
    1. Commencez par lire les cours et tutoriels ;
    2. Faites une recherche;
    3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

    Nix>_Rien n'est plus pratique que la théorie

  3. #3
    Membre éclairé Avatar de Korko Fain
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    632
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 632
    Points : 718
    Points
    718
    Par défaut
    Euh juste c'est pas is_set mais isset ^^

  4. #4
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 37
    Points : 20
    Points
    20
    Par défaut
    Fatal error: Call to undefined function is_set() in C:\wamp\www\site_emouvance1\Gest_disque2.php on line 8

    le nouveau problème :O

  5. #5
    Membre éclairé Avatar de Korko Fain
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    632
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 632
    Points : 718
    Points
    718
    Par défaut
    Tu as vu mon message ?

  6. #6
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 37
    Points : 20
    Points
    20
    Par défaut
    oui justement c'est ce qu'il renvoi après avoir modifier
    je sais qu'avec ce code (en modifiant quelque truc) sa peut marcher. je l'ai fait il y a qq temps mais le problème est que la page ne s'est pas enregistrer comme il fallait et je m'en suis apercu trop tard

  7. #7
    Membre éclairé Avatar de Korko Fain
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    632
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 632
    Points : 718
    Points
    718
    Par défaut
    Visibilement tu n'a pas regardé lol

    Je t'ai dit que c'est isset et pas is_set ^^

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(isset($_POST['reference'])){
      $reference = $_POST['reference']; 
      echo $reference;
    }

  8. #8
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    Citation Envoyé par Korko Fain Voir le message
    Euh juste c'est pas is_set mais isset ^^
    Zut! merci Korko
    Développeur | Zend Certified Engineer

    Étapes Pour mieux se servir du forum:
    1. Commencez par lire les cours et tutoriels ;
    2. Faites une recherche;
    3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

    Nix>_Rien n'est plus pratique que la théorie

  9. #9
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 37
    Points : 20
    Points
    20
    Par défaut
    ah oui Merci beaucoup

    Le soucis vient donc de :

    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
      <!-- choix reference si modification ou suppression -->
         <td colspan="2" align="center">Référence Distributeur :
              <select name="reference">
                <option value="" selected onChange="javascript:modifier()"> </option>
    <?php  				 
    				while ($row2=mysql_fetch_array($result2))
    					{			
    						echo '<option value="'.$row2[0].'">'.$row2[0].'</option>';
    					}
    ?>
    </select>
    <?php
    
    $req3 = "SELECT * FROM disque WHERE REFERENCE='$reference'";
    $result3 = mysql_query($req3) or die("Requete pas comprise");
    $donnee = mysql_fetch_assoc($result3)
    
    ?>
    Je suis pas sur qu'il faille faire la requete ainsi

  10. #10
    Membre éclairé Avatar de Korko Fain
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    632
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 632
    Points : 718
    Points
    718
    Par défaut
    Si $reference n'est définie que si $_POST['reference'] est défini, je verrai plus un code comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if( isset($_POST['reference']) ) {
        $req3 = 'SELECT * FROM disque WHERE REFERENCE="'.mysql_real_escape_string($reference).'"';
        $result3 = mysql_query($req3) or die("Requete pas comprise");
        $donnee = mysql_fetch_assoc($result3);
    }
    else {
        die('No reference given');
    }

  11. #11
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 37
    Points : 20
    Points
    20
    Par défaut
    Je ne peux pas faire sa ainsi car la référence n'est récupérer qu'après ouverture de la page ...

    En gros je séléctionne la référence puis les données qui lui corresponde s'affiche, grace au javascript.

  12. #12
    Membre éclairé Avatar de Korko Fain
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    632
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 632
    Points : 718
    Points
    718
    Par défaut
    Si la référence n'est pas donnée en paramètre POST, tu dois faire quelque chose alors soit en prendre une par défaut soit arreter volontairement ton script, c'est à toi de décider

  13. #13
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 37
    Points : 20
    Points
    20
    Par défaut
    Je vais s'en doute paraitre embetante mais je suis convaincu qu'il y a juste qq trucs a modifier pour que cela marche, sa a deja était fait mais par des gens plus expérimenté que moi et je ne trouve plus la solution...

    Si je fais ce qui a était dis j'ai pour résultat:

    No reference given

    Puisque la référence est récupérer après ouverture de la page par mon code en javascript :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function modifier()
    			      {
    			        var t = document.Gest_disque.reference.value;
    			        document.Gest_disque.action="Gest_disque2.php?reference=t";
    			        document.Gest_disque.submit();
    			      }

  14. #14
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    Citation Envoyé par Korko Fain Voir le message
    Euh juste c'est pas is_set mais isset ^^
    Zut! merci Korko
    Développeur | Zend Certified Engineer

    Étapes Pour mieux se servir du forum:
    1. Commencez par lire les cours et tutoriels ;
    2. Faites une recherche;
    3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

    Nix>_Rien n'est plus pratique que la théorie

Discussions similaires

  1. Comment récupérer les données d'une liste déroulante en java
    Par Christophe39 dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 05/11/2013, 15h58
  2. Récupérer les données d'une liste déroulante
    Par flippaeti dans le forum Langage
    Réponses: 17
    Dernier message: 27/02/2009, 15h22
  3. [MySQL] Récupérer les données d'une liste déroulante
    Par RootsRagga dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 03/12/2008, 01h04
  4. Réponses: 11
    Dernier message: 26/04/2007, 10h40
  5. Récupérer les données d'une liste dans un $_POST
    Par Sangdrax1604 dans le forum Langage
    Réponses: 4
    Dernier message: 19/10/2006, 10h55

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