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 :

affichage de données via liste de choix [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
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 19
    Par défaut affichage de données via liste de choix
    Bonjour, je suis toute nouvelle en php, et je bug sur une fonction
    j'ai fait une liste de choix avec les données de ma base, et je voudrais afficher les données correspondant à l'id sélectionner dans un formulaire (pour après y modifier ou rajouter des données.)
    je n'ai réussi qu'a afficher l'id dans mon formulaire, je ne trouve pas comment afficher les autres données (nom-prenom-age) si qu'un veut bien m'aider ca serai super sympa. merci beaucoup.
    voila ma page 1 (liste de choix)

    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
    <form name="formulaire-modif" method="post" action="formulaire1.php">
    <table border="0" cellpadding="0" cellspacing="0" width="765" bgcolor="#FF9933">
    <td width="135" class="style1">
    <label for="donnees">Nom client :</label>&nbsp &nbsp<select name="LISTE"> 
    <option value="donnees">-- Choisissez -- </option> 
    <?php
    include('connexion.php');
     
                //On se connecte
    			$conn = mysqli_connect($host, $user, $password, $database);
    		 // Check connection
    if(!$conn){  
                die('Could not connect: '.mysqli_connect_error());  
             }  
             echo 'Connected successfully<br/>'; 
     
    $req = "SELECT * FROM mabase ORDER BY id ASC"; 
    $res = mysqli_query($conn,$req);
    while($donnees = mysqli_fetch_array($res))
     
    {
    //Liste déroulante 
    echo'<option value ="'.$donnees['id'].'">'.$donnees['nom'].'</option>'; 
    }
    $conn -> close();
    ?>
     
    <BR> <INPUT TYPE=submit name="affresulta" VALUE="Afficher"></input></BR>
    </select> 
    </td>
    </table>
    </form>
    <?php  echo'<a href="index.php" > retour menu</a>'; ?>
    voici ma page de reception
    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
    <html>
        <head>
            <title>Page de traitement1</title>
            <meta charset="utf-8">
        </head>
    	<form name="formulaire1" method="post" action="../action/modifier.php">
    <table width="200" border="1">
        <tr>
            <td>Nom:</td>
            <td><input name="nom" type="text" value="<?php  echo "Vous avez choisi id : " .$_POST['LISTE'] ; ?>" /></td>
        </tr>
        <tr>
            <td>Prenom:</td>
            <td><input name="prenom" type="text" value="<?php  echo "Vous avez choisi id : " .$_POST['LISTE'] ; ?>" /></td>
        </tr>
        <tr>
        <tr>
            <td>Age:</td>
            <td><input name="age" type="text" value="<?php  echo "Vous avez choisi id : " .$_POST['LISTE'] ; ?>" /></td>
        </tr>
        <tr>
            <td colspan="2">
                <div align="center">
                <input type="submit" name="Submit" value="Envoyer" />
                </div>
            </td>
        </tr>
    </table>
    </form>
     
    <p><p><p><?php  echo'<a href="index.php" > retour menu </a>'; ?>
    <p><p><p><?php  echo'<a href="liste.php" > liste donnee base </a>'; ?>
    </html>

  2. #2
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 518
    Par défaut
    Bonjour,

    Le plus simple c'est d'exécuter une requête dans la deuxième page qui est un peu similaire à la première , sauf que cette fois tu utiliseras la variable $_POST["LISTE"] (quand elle est définie):
    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
     
    <table width="200" border="1">
    <?php
    $conn=mysqli_connect("....");
     
    if(isset($_POST["LISTE"])){
       $id=$_POST["LISTE"];
       $req = "SELECT * FROM mabase where id=?"; 
       if($res =mysqli_prepare ($conn, $req )){//si la requête est préparée 
           mysqli_stmt_bind_param($res, 'i', $id);//on ajoute le paramètre $_POST["LISTE"] à la requête "i" parce que c'est un entier "int"
           mysqli_stmt_execute($res);//exécution de la requête
           $data=mysqli_stmt_get_result($res);//récupération des résultats
           mysqli_stmt_store_result($res);//stockage des résultats
           $count=mysqli_stmt_affected_rows($res);//nombre de ligne(s) retourné(s) par la requête
           if($count>0){
                 while ( $ligne = mysqli_fetch_assoc($data)){
                    echo '<tr>
                                   <td>Nom:</td>
                                   <td><input name="nom" type="text" value="'.$ligne["nom"].'" /></td>
                             </tr>
                             <tr>
                                  <td>Prénom:</td>
                                  <td><input name="prenom" type="text" value="'.$ligne["prenom"].'" /></td>
                             </tr>
                              <tr>
                                   <td>Age:</td>
                                   <td><input name="age" type="text" value="'.$ligne["age"].'" /></td>
                             </tr>';
                 }
           }
           else { echo "<tr><td colspan='2'>Aucun résultat n'a été trouvé.</td></tr>"; }
           //libération des curseurs...
           mysqli_stmt_free_result($res);
           mysqli_free_result($data);
           mysqli_stmt_close($res);  
       }
       else echo "<tr><td colspan='2'>Erreur de préparation de la requête.</td></tr>";
       mysqli_close($conn);   //fermeture de la connexion.
    }
    ?>
    <tr>
        <td colspan="2">
             <div align="center">
                   <input type="submit" name="Submit" value="Envoyer" />
             </div>
         </td>
     </tr>
    </table>

    Je n'ai pas testé le code sur pc..., donc fais moi signe si jamais tu trouves des erreurs ...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 19
    Par défaut
    merci beaucoup, ca fonctionne
    Jai déconnecter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    // else { echo "<tr><td colspan="2">Aucun résultat n'a été trouvé.</td></tr>"; }
    cette fonction qui mettait une erreur et modifier les paramètres de connexion et ca c'est afficher.
    je vais pouvoir continué
    merci beaucoup

  4. #4
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 518
    Par défaut
    Citation Envoyé par athenasst Voir le message
    Jai déconnecter
    //else { echo "<tr><td colspan="2">Aucun résultat n'a été trouvé.</td></tr>"; }
    Je n'ai pas fait attention aux guillemets de l'attribut colspan, si tu remplaces le "2" par '2', ça devrait fonctionner.

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

Discussions similaires

  1. [AC-2016] Affichage résultat requête et liste de choix requête
    Par le petit excelleur dans le forum Access
    Réponses: 1
    Dernier message: 19/10/2016, 08h12
  2. Affichage de données et listes déroulantes
    Par turkish15 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 10/04/2014, 17h33
  3. Réponses: 2
    Dernier message: 25/02/2010, 14h12
  4. Réponses: 3
    Dernier message: 24/11/2008, 14h09
  5. Affichage de données dans liste déroulante
    Par marcGR dans le forum IHM
    Réponses: 3
    Dernier message: 13/06/2008, 17h56

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