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 :

Récupérer la valeur choisit par l'utilisateur [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 61
    Par défaut Récupérer la valeur choisit par l'utilisateur
    Bonjour,

    J'ai besoin un petit coup de pouce. Je m'explique :

    J'ai une table qu'on appellera ici Theme : dans cette table j'ai des thèmes et des sous-thèmes. Je souhaite proposer à l'utilisateur de pouvoir sélectionner dans une liste déroulante un thème ( que je récupère avec une requête dans ma BD):

    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
    <?php
    $libelleTheme = isset($_POST['libelleTheme']) ? $_POST['libelleTheme'] : '';
    $soustheme = isset($_POST['soustheme']) ? $_POST['soustheme'] : '';
    ?>
    <form method="POST">
    <?php
    $connexion=mysql_connect('localhost','root',"") or die ("connexion impossible.");
    $db=mysql_select_db('bd',$connexion) or die ("base de données non accessible");
    $sql = 'select `libelleTheme` from `Theme`'
            . ' where `niveau`=\'1\';';
     
    ?>
    <p>Choisissez un thème </p>
    <select name="libelleTheme" id="id">
    <?php
    $resultat=mysql_query($sql) or die ("requète non executé");
    if (! $resultat) { echo "Erreur requete"; exit;} 
    while ($ligne=mysql_fetch_array($resultat))
    {
    ?>
    <option>
    <?php echo "<option>".$ligne["libelleTheme"]."</option>\n";?> 
    <?php
    mysql_close($connexion);
    }?>
    <option selected><?php echo "$libelleTheme ";?></option>
    <input type="submit" value="OK"/>	
    </form>
    <?php
    mysql_close($connexion);
    }?>
    Jusque-là tout va bien.
    Ensuite, je voudrais que en fonction du clic de l'utilisateur, je lui propose une autre liste des sous-themes (comportant les sous-thèmes du thème déjà sélectionné par l'utilisateur).

    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
    <?php if (isset($_POST['libelleTheme'])) {
     
    	echo '<br/><b>' . $_POST['libelleTheme'] . '</b>';
    ?>
    <form method="POST">
     
    <?php
    //Connexion a la base de donnée
    $connexion=mysql_connect('localhost','root',"") or die ("connexion impossible.");
    $db=mysql_select_db('bd',$connexion) or die ("base de données non accessible");
    $sql1 = 'select `libelleTheme` from `Theme`'
            . ' where `niveau`= \'2\' and `themeParent`= '
            . ' (select `numTheme` from `Theme` where `libelleTheme`=\'. $_POST[\'libelleTheme\'] . \')';
     
    ?>
    <p>Choisissez un sous - thème </p>
    <select name="soustheme" id="id">
    <?php
    $resultat=mysql_query($sql1) or die ("requète non executé");
    if (! $resultat) { echo "Erreur requete"; exit;} 
    while ($ligne=mysql_fetch_array($resultat))
    {
    ?>
    <option>
    <?php echo "<option>".$ligne["libelleTheme"]."</option>\n";?> 
    <?php
    mysql_close($connexion);
    }?>
    <option selected><?php echo "$soustheme ";?></option>
    <input type="submit" value="OK"/>	
    </form>
    Et bien, la $sql1 ne fonctionne pas, donc j'ai aucune sortie dans ma 2eme liste déroulante. Par contre si à la place de $_POST[\'libelleTheme\'] dans la sql1, j'écris n'importe quel thème existant dans la BD, ça marche.

    Je sature un peu du code et j'arrive pas à voir mon problème.
    Merci d'avance.
    Nooby.

  2. #2
    Membre éclairé Avatar de randimby
    Inscrit en
    Décembre 2003
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 64
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $sql1 = 'select `libelleTheme` from `Theme`'
            . ' where `niveau`= \'2\' and `themeParent`= '
            . ' (select `numTheme` from `Theme` where `libelleTheme`=\''
            . mysql_real_escape_string($_POST['libelleTheme'])
            . '\')';

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 61
    Par défaut
    Merci, ça marche ! (J'ai honte, j'avais essayé le "mysql_real_escape_string" mais j'ai eu droit à une grosse erreur j'avais vite abandonné).

    Cordialement,

    Nooby.

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

Discussions similaires

  1. Récupérer une valeur entrée par un utilisateur
    Par phyfab dans le forum Interfaces Graphiques
    Réponses: 0
    Dernier message: 10/12/2013, 12h03
  2. Récupérer une valeur saisie par un utilisateur
    Par sheep_one dans le forum Windows
    Réponses: 1
    Dernier message: 22/04/2010, 17h04
  3. Garder en mémoire les valeurs entrées par l'utilisateur
    Par dessinateurttuyen dans le forum Langage
    Réponses: 11
    Dernier message: 17/08/2006, 09h15
  4. Réponses: 1
    Dernier message: 31/07/2006, 13h54
  5. Réponses: 5
    Dernier message: 27/09/2005, 17h25

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