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 :

Données pré-seléctionnées menu déroulant PHP/MySQL


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2015
    Messages : 37
    Par défaut Données pré-seléctionnées menu déroulant PHP/MySQL
    Bonsoir à tous,
    Je reviens vers votre professionnalisme sur le sujet ci dessous si vous pouvez m'aider SVP.Depuis un moment que je réfléchis sans arriver à mon objectif :-)
    En effet j 'ai mon script ci dessous qui me permet de modifier mes données et les réinserer dans ma base MySQL.

    Sauf que lorsque je modifie par exemple le nom et le login sans toucher aux deux menus déroulants les données prennent les valeurs NULL (les entrées de début des deux menus déroulants).
    Mon but est d'avoir ma donnée déjà sélectionnée dans mon menu déroulant (PLACE et MATRICULE) et si je dois la modifier de défile le menu sinon elle ne changera pas.

    Code PHP : 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
     
    $cn=mysql_connect("localhost","root","");
    mysql_select_db("bdmou",$cn)or die(mysql_error()); 
     
    	if($_GET['ID']) {
    		$id = $_GET['ID'];
     
    		$req = "SELECT `ID`, `LAST_NAME`, `FIRST_NAME`, `LOGIN`,`PLACE`, `MATRICUL` FROM `user` WHERE ID ='$id'";
    		$res = mysql_query($req, $cn)or die (mysql_error());
    		  if($result = mysql_fetch_object($res))
      {
      ?>
     
    <table width="400" align="CENTER" bgcolor="#CCCCCC" cellspacing="1" cellpadding="1">
     
      <form name="insertion" action="modification3.php" method="POST">
      <input type="hidden" name="ID" value="<?php echo($id) ;?>">
     
        <tr align="lift">
     
    	     <label><td>Non:</td>
     
          <td><input type="text" name="LAST_NAME" value="<?php echo($result->LAST_NAME) ;?>"></label></td>
        </tr>
    	  <tr align="lift">
    	     <td>Prénom:</td>
     
          <td><input type="text" name="FIRST_NAME" value="<?php echo($result->FIRST_NAME) ;?>"></td>
        </tr>
    	  <tr align="lift">
            <td>Login:</td>
     
          <td><input type="text" name="LOGIN" value="<?php echo($result->LOGIN) ;?>"></td>
        </tr>
     
     
        <tr align="lift">
             <td>Choisir une Place:</td>
      <td>
     
      <?php  
     
    $req = mysql_query("SELECT ID, PLACE FROM EMPLACEMENT");
    echo '<select name="PLACE"><option value="">Choisir une place</option>';
    while ($data = mysql_fetch_assoc($req)) {
    echo '<option value="'.htmlentities($data['PLACE']).'">'.$data['PLACE'].'</option>';
    } 
    ?> 
    </td>  
         </tr>
     
     
      <?php  
    $req = mysql_query("SELECT ID, MATRICULE FROM MATRIC");
    echo '<select name="MAT"><option value="">Choisir Matricule</option>';
    while ($data = mysql_fetch_assoc($req)) {
    echo '<option value="'.htmlentities($data['MATRICULE']).'">'.$data['MATRICULE'].'</option>';
    } 
    ?> 
    </td>  
        </tr>
     
     
          <tr align="center">
    	    <td bgcolor="red"><label>
     
       <input type=button  onClick="location.href='rech.php'" style ="background-color: #E8E5DF;" value='Annuler'>
     
     
           <td bgcolor="red" colspan="8"><input type="submit" value="Envoyer les modifications"></td>
    	    </label> 
        </tr>
     
    </form>
     
         </table>
      <?php
      }
    }
      ?>
      </center>
     
    </html>
    De plus j'ai mis ma table MATRIC en "unique" donc quand j’essaie de mettre une donnée déjà existante le MySQL m'informe que c'est impossible ce qui est normal! Mais ce que je voulais c'est d'avoir par exemple un popup qui me disait donnée existante et si je clique sur OK il me renvoi vers mon formulaire.

    Merci par avance à tous.

  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
    Par défaut
    Par exemple pour PLACE :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while ($data = mysql_fetch_assoc($req)) {
        $selected = $data['PLACE'] == $result->PLACE ? ' selected="selected" ' : '';
        echo '<option value="'.htmlentities($data['PLACE']).'"' . $selected . '>'.$data['PLACE'].'</option>';
    }
    Attention n'oublie pas de sécuriser tes requêtes (ici pour un ID numérique) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req = "SELECT `ID`, `LAST_NAME`, `FIRST_NAME`, `LOGIN`,`PLACE`, `MATRICUL` FROM `user` WHERE ID =" . intval($id);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2015
    Messages : 37
    Par défaut
    Merci Sabotage . ta proposition est très pertinente.
    Tu n'aurais pas une idée pour le popo en cas de doublon sans faire des IF en masse?

  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
    Par défaut
    C'est quoi un "popo" en cas de doublon ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2015
    Messages : 37
    Par défaut
    Citation Envoyé par sabotage Voir le message
    C'est quoi un "popo" en cas de doublon ?
    En faite au lieu d'avoir le message SQl (par exemple dans mon cas j'ai eu cette erreur 'Duplicate entry 'PLAC2334. ' for key 'EMPLACEMENT'). car ma table emplacement est UNIQUE . donc ce que je voudrais c'est d'avoir un POP UP qui me dit que la donnée existe déjà. Sinon y -a-t-il une autre solution pour faire disparaitre dans le menu déroulant la donné déjà enregistrée dans la table?
    Désolé pour la faute de frappe.
    Merci

  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
    Soit tu interpretes le code de retour d'echec de l'insertion, soit tu fais avant l'insertion une requête SELECT pour savoir si la donnée existe déjà.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

Discussions similaires

  1. [MySQL] Insertion données grâce à un menu déroulant dans un formulaire PHP
    Par clementdevelop dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 07/05/2013, 09h49
  2. [MySQL] Récupérer les données sous forme de tableau PHP MySQL
    Par brajae85 dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 16/05/2008, 17h11
  3. [MySQL] Script PHP pour Menu déroulant ->BDD MySQL
    Par BENLEMALIN dans le forum PHP & Base de données
    Réponses: 21
    Dernier message: 06/12/2006, 16h12
  4. [Tableaux] Menu déroulant et MySQL
    Par dunbar dans le forum Langage
    Réponses: 3
    Dernier message: 28/07/2006, 00h14
  5. [SGBD] Probleme menu css /php / mysql / javascript
    Par vincedjs dans le forum Administration
    Réponses: 14
    Dernier message: 21/02/2006, 17h51

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