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 :

Communication et questions concernant php/MySql [Débutant(e)] [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre habitué

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 289
    Points : 161
    Points
    161
    Par défaut Communication et questions concernant php/MySql
    Bonjour tout le monde,

    j'aimerais faire un site web en php qui utilise un base de données de type MySql.

    J'ai crée ma base de données relationelle et y ait inséré quelques enregistrements.

    En fait, j'ai une table qui se nomme pays et qui contient 2 champs : id_pays et nom_pays.

    Je voudrais svp savoir comment crée un menu déroulant pour que l'utilisateur (qui interrogera la base) puisse choisir les pays dans ce menu déroulant. (je connais le code pour avoir tout les enregistrements du champs nom_pays : mysql_query = select * from pays ... )

    Ensuite, je me demande comment récupérer (en php) le nom_pays qu'il a sélectionné pour l'insérer là où il faut dans ma requête sql. (where nom_pays = ???)

    Merci beaucoup de me mettre sur les rails.

    Ash_rmy

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 653
    Points : 183
    Points
    183
    Par défaut
    Bonjour ash_rmy

    Le plus simple est qu'une fois que tu as écris ton code pour faire le menu déroulant, tu fasse un echo du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?
    $sql = mysql_query("SELECT * nomtable"); 
    while($ligne = mysql_fetch_array($sql)) 
    { 
    $nom = $ligne["nom_pays"]; 
    echo "<a href='http://www.nomdusite.com/detail.php?nom-du-pays=$nom'><font color='#000000'>$nom</font></a><br />";
    }
    ?>
    dans ta page detail.php
    tu récupére la variable $nom, et ensuite tu écrits un autre code pour afficher les autres infos :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?
    $nom=@$_GET['nom']; 
    $sql = mysql_query("SELECT * nomtable where nom_pays='$nom'"); 
    while($ligne = mysql_fetch_array($sql)) 
    { 
    $id = $ligne["id_pays"]; 
    $ville = $ligne["ville_pays"];
    //etc... 
    echo "<font color='#000000'>$id</font> - <font color='#000000'>$ville</font><br />";
    }
    ?>
    Bonne journée

  3. #3
    Membre habitué

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 289
    Points : 161
    Points
    161
    Par défaut
    bonjour kaolivier , je te remercie beaucoup de ton aide. Cependant j'ai pas trop bien compris ton code.

    surtout ce bout de code echo
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "<a href='http://www.nomdusite.com/detail.php?nom-du-pays=$nom'><font color='#000000'>$nom</font></a><br />";
    Je comprends pas, peux-tu me ré - expliquer stp.

    J'ai réussi en fouillant sur le net à trouver comment afficher mes noms de pays dans une liste déroulante. C'est le code ci-dessous.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    
    mysql_connect("localhost", "login", "mot_de_passe");
    mysql_select_db("base");
    $sql = "SELECT id_pays, nom_pays FROM pays";
    $result = mysql_query($sql);
    $contenu = "<select name='menu'>\n";
    while ($row = mysql_fetch_array($result) ) {
    $contenu .= "<option value='" . $row['id_pays'] . "'>" . $row['nom_pays'] . "</option>\n";
    }
    echo $contenu;
    Après, on est obligé d'enregistrer le nom du pays via une sorte de bouton valider non ? et c'est ça qui utilise le code $nom=@$_GET['nom'] en le mettant dans une requête sql d'interrogation ?

    par exemple, juste pour un test simple, récupérer l'identifiant du nom de pays soumis : $sql=mysqj_query("select id_pays from pays where nom_pays=$nom");

    Comment code t on ce "bouton" svp ?

    merci de votre aide - ash_rmy.

  4. #4
    Membre habitué

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 289
    Points : 161
    Points
    161
    Par défaut Récupérer une valeur d'une requête
    Bonjour tout le monde, j'avance un peu plus sur la programmation mais je bloque toujours.

    Voici mon problème, j'ai une table pays qui 2 champs : id_pays et nom_pays.

    J'ai crée un menu déroulant qui m'affiche tout mes noms de pays. Et un bouton valider qui m'éxécutera une requête sql d'interrogation.

    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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
       <head>
     
    <?php
     
    mysql_connect("localhost", "ashley", "mot_de_passe");
    mysql_select_db("base");
    $sql = "SELECT * FROM pays";
    $result = mysql_query($sql);
    $contenu = "<select name='menu1'>\n";
    while ($row = mysql_fetch_array($result) ) {
    $contenu .= "<option value=''>" . $row['nom_pays'] . "</option>\n";
    }
    echo $contenu;
    ?>
    <form method="post" action="http://127.0.0.1/base/verif3.php">
    <input type="submit" value="OK">
    </form>
    </body>
    </html>
    Et voici mon code pour qu'il m'éxécute la requête :

    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
    <?php
     
    mysql_connect("localhost", "ashley", "mot_de_passe");
    mysql_select_db("base");
    $sql = "SELECT * FROM pays";
      	$sql = "SELECT * FROM pays WHERE nom_pays = '".$_POST['menu1']."';";
    	$query = mysql_query($sql);
    	$nb = mysql_num_rows($query);
    	if ( $nb>0 ) {
    	echo 'Aucun pays';
     	} else {
     	while ( $list = mysql_fetch_array( $query ) ) {
     
    echo '<option value="'.$list['id_pays'].'">'.$list['nom_pays'].'</option>';
    	}
    	}
    ?>
    et ça ne marche pas

    Merci infiniment de votre aide.

    ash_rmy

  5. #5
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Citation Envoyé par ash_rmy
    et ça ne marche pas
    ça nous avance pas trop ...

    tu peux nous en dire plus ? message d'erreurs , actions , reactions ? etc ...
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  6. #6
    Membre habitué

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 289
    Points : 161
    Points
    161
    Par défaut
    Bpnjour,

    En fait, j'ai de message d'erreur : la liste déroulante marche bien (je récupére bien mes noms des pays) et j'ai bien une bouton pour valider. Lorsque je clique sur le bouton valider - rien ne se passe et il m'affiche aucun message d'erreur.

    voila,
    merci de votre aide - ash_rmy

  7. #7
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    C'est parce qu'il faut mettre tes OPTION à l'intérieur de ton FORM, déplace donc la balise d'ouverture FORM et ça ira mieux.

    Au passage c'est une erreur de faire la requête sur les noms de pays, les ids servent à ça, c'est bien l'id des pays que tu dois transmettre à ta page de traitement, et il faut faire la requête en se basant sur ces ids. D'ailleurs c'est ce que tu fais, tu mets les ids dans les attributs VALUE de tes OPTION, donc c'est ce que tu vas récupérer derrière.
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  8. #8
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Tout simplement parce que ton menu deroulant n'est pas entre tes balises

    <form></form>

    Edit : Ultra Grilled
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  9. #9
    Membre habitué

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 289
    Points : 161
    Points
    161
    Par défaut
    Merci beaucoup ! ça marche.

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

Discussions similaires

  1. [MySQL] Question technique PHP/MySql
    Par ArHacKnIdE dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 02/03/2008, 12h22
  2. Diverses questions concernant mysql et php
    Par chnain dans le forum Requêtes
    Réponses: 3
    Dernier message: 22/08/2006, 18h42
  3. [Question] Php - MySQL
    Par Badaboumpanpan dans le forum Requêtes
    Réponses: 4
    Dernier message: 20/06/2006, 17h55
  4. Question pour un site PHP/MySQL et Javascript
    Par DvP dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 22/09/2005, 08h23

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