PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 05-10-2010 20:55:41

kinslow
Membre
Inscription : 05-10-2010
Messages : 10

Envoi et recupération d'un choix à partir d'un menu déroulant

Bonsoir a tous,

Je pense que ce que je vais demander est assez simple mais je suis débutant en php, c'est pour cela que pour mon site j'ai préferé utiliser un portail php.

Ce que je vouderais c'est une page en php où il y orait une liste déroulante avec à l'intérieur une liste de noms que j'orais au préalable entrée dans ma base de donnése.
Ensuite a partir de cette liste je choisis le nom qui m'intéresse en le selectionnant et en cliquant sur envoi ca me permettrais d'enregister mon choix dans ma base de données pour pouvoir ensuite afficher ce resultat (le nom choisi) sur une autre page php.

Est ce que quelque pourais m'aider à le faire? Merci d'avance à tous

Kinslow

Hors ligne

#2 05-10-2010 22:36:09

moogli
Modérateur
Inscription : 08-05-2009
Messages : 336
Site Web

Re : Envoi et recupération d'un choix à partir d'un menu déroulant

salut,

c'est effectivement "facile".

Pour cela il te faut une requete "select" sur ta table (je te renvoie vers les tutos de ppb debutant pour cela). Il te faut prendre la clef primaire de la table et le nom à afficher wink

une liste déroulante c'est la balise <select>
chaque nom est dans une balise <option>
ton code va donc etre


<?php
// la requete sql. Je considéère que le resultat du mysql_query
$ret = mysql_query($requete);
echo '<select name="user"><option value="">- - -</option>'; // déclaration du selection + une ligne vide au début
while ($data = mysql_fetch_assoc($ret)) {
echo '<option value="'.htmlentities($data['id']).'">'.$data['nom'].'</option>';
}
echo '</select>';
?>
 

j'ai pris pour base que la clef primaire s'appelle id et que le nom de l'utilisateur s'appel nom wink

pour le reste c'est ce qui est mis dans le tuto tu doit pouvoir le faire facilement.

je t'invite à lire la doc des fonctions que pourrais ne pas connaitre => http://www.php.net

@+


Il en faut peu pour être heureux pompompompompompompompompompompom

Hors ligne

#3 06-10-2010 02:07:37

kinslow
Membre
Inscription : 05-10-2010
Messages : 10

Re : Envoi et recupération d'un choix à partir d'un menu déroulant

Effectivement j'ai bien le menu deroulant mais j'ai pas les noms d'affichés que j'ai mi dans ma base de données. J'ai juste la premier ligne vide.
J'ai créee une table uslbc_compo avec comme champs id et prenom.

Voici mon code :

<?php
$db = mysql_connect('sql.free.fr', 'uslbc2', 'mot de passe');  // 1
mysql_select_db('uslbc2',$db);                    // 2
$req = mysql_query('SELECT * FROM uslbc_compo');
           // 3
$ret = mysql_query($requete);
echo '<select name="user"><option value="">Choisir un joueur</option>'; // déclaration du selection + une ligne vide au début
while ($data = mysql_fetch_assoc($ret)) {
echo '<option value="'.htmlentities($data['id']).'">'.$data['prenom'].'</option>';
}
echo '</select>';

mysql_close($db);  // 6
?>

 

Je ne vois pas l'erreur, merci d'avance pour votre aide.

Kinslow

Hors ligne

#4 06-10-2010 05:47:55

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : Envoi et recupération d'un choix à partir d'un menu déroulant

$req = mysql_query('SELECT * FROM uslbc_compo');
           // 3
$ret = mysql_query($requete);

il faut choisir wink



a++

Hors ligne

#5 06-10-2010 07:13:59

moogli
Modérateur
Inscription : 08-05-2009
Messages : 336
Site Web

Re : Envoi et recupération d'un choix à partir d'un menu déroulant

ouep ensuite copier le code c'est bien mais je pense que tu ne l'a pas compris.
A moins, qu'au pif, je sois tombé sur les bon nom de champs wink

@+


Il en faut peu pour être heureux pompompompompompompompompompompom

Hors ligne

#6 06-10-2010 12:11:32

kinslow
Membre
Inscription : 05-10-2010
Messages : 10

Re : Envoi et recupération d'un choix à partir d'un menu déroulant

C'est bon j'ai reussi à créer mon menu déroulant, merci moogli et pierrot mais je n'arrive pas a faire la suite.

Ce que je voudrais c'est d'avoir un bouton envoyer qui permeterrai d'enregistrer mon choix dans ma base de données (dans une nouvelle table), non pas en insérant une nouvelle ligne de mon resultat dans ma nouvelle table mais en remplacant le resultat précedent par le dernier choix.

J'espère avoir été clair.

Merci,

Kinslow

Hors ligne

#7 06-10-2010 12:15:47

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : Envoi et recupération d'un choix à partir d'un menu déroulant

Cela se fait via une requête UPDATE (cf les cours sur le site). wink

Hors ligne

#8 06-10-2010 13:06:45

kinslow
Membre
Inscription : 05-10-2010
Messages : 10

Re : Envoi et recupération d'un choix à partir d'un menu déroulant

oui ca aucun souci, je n'arrive pas a recuperer la valeur que j'ai choisi dans mon menu deroulant pour pouvoir ensuite faire une update.

Hors ligne

#9 06-10-2010 13:26:55

moogli
Modérateur
Inscription : 08-05-2009
Messages : 336
Site Web

Re : Envoi et recupération d'un choix à partir d'un menu déroulant

fait nous un wall de ton code que l'on puisse voir où tu en ai.
donne nous une explication clair et simple de ce que tu veut faire.

@+


Il en faut peu pour être heureux pompompompompompompompompompompom

Hors ligne

#10 06-10-2010 13:34:35

kinslow
Membre
Inscription : 05-10-2010
Messages : 10

Re : Envoi et recupération d'un choix à partir d'un menu déroulant

Voici la page avec le menu deroulant et le bouton envoyer :


<html>
<form method="POST" action="add.php">
<center>
<?php
$db = mysql_connect('sql.free.fr', 'uslbc2', 'mot de passe');  
mysql_select_db('uslbc2',$db);                    
$req = mysql_query('SELECT nom FROM compo');

echo '<select name="user"><option value="">Choisir un joueur</option>';
while ($data = mysql_fetch_assoc($req)) {
echo '<option value="'.htmlentities($data['id']).'">'.$data['nom'].'</option>';
}
 
mysql_close($db);
?>
<input type="submit" value="Envoyer" name="envoyer">
</center>
</form>
</html>
 

Et voici la page apres avoir cliquer sur envoyer :

<?php


     
$db = mysql_connect('sql.free.fr', 'uslbc2', 'mot de pass')  or die('Erreur de connexion '.mysql_error());


    mysql_select_db('uslbc2',$db)  or die('Erreur de selection '.mysql_error());
     
   
    $sql = "INSERT INTO convocations(id, nom) VALUES('','$resultat')";
     
 
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

 
    echo 'Vos infos on été ajoutées.';

    mysql_close();  
     
?>

 

Voila j'aimerais recupérer la valeur que j'ai choisi dans mon menu deroulant pour l'ulitiser dans mon code insert $sql = "INSERT INTO convocations(id, nom) VALUES('','$resultat')";


Rien de bien compliqué je pense, enfin pour vous,

Merci

Dernière modification par kinslow (06-10-2010 13:35:16)

Hors ligne

#11 06-10-2010 14:29:48

moogli
Modérateur
Inscription : 08-05-2009
Messages : 336
Site Web

Re : Envoi et recupération d'un choix à partir d'un menu déroulant

je vois,

quel champ y a t il dans la table compo ?

Parce que la deja ton select n'est pas bon (manque un champ) ensuite tu n'utilise pas la super globale $_POST (d'ou sort $resultat) sur la seconde page

je t'invite à lire / relire => http://www.phpdebutant.org/article56.php ainsi que les cours 11 à 17 (particulièrement le 13 sur update.

@+


Il en faut peu pour être heureux pompompompompompompompompompompom

Hors ligne

#12 07-10-2010 00:53:14

kinslow
Membre
Inscription : 05-10-2010
Messages : 10

Re : Envoi et recupération d'un choix à partir d'un menu déroulant

il y a juste id et prenom dans ma table compo. Je veux juste recuperer le prenom (grace a mon menu deroulant) et l'insérer dans une nouvelle table grace a envoi, ca doit pas etre bien dur...

Hors ligne

#13 07-10-2010 12:19:48

moogli
Modérateur
Inscription : 08-05-2009
Messages : 336
Site Web

Re : Envoi et recupération d'un choix à partir d'un menu déroulant

non et je t'ai donné tous ce qu'il faut seulement tu a fait un copier collé sans réfléchie, c'est normal que cela ne fonctionne pas.

Le tuto que je t'ai indiqué te montre :
- comment récupérer des valeurs d'une table mysql
- comment récupérer les informations soumise par un formulaire
- comment faire une insertion dans une table mysql.

le code que tu nous montre est :
- un copier / collé du mien
- ne montre rien des tutos précité.

ce que tu veut faire est simple et est expliqué dans les tutos.

Je ne le ferais pas si non tu n'apprendra pas.

@+


Il en faut peu pour être heureux pompompompompompompompompompompom

Hors ligne

#14 08-10-2010 00:19:15

kinslow
Membre
Inscription : 05-10-2010
Messages : 10

Re : Envoi et recupération d'un choix à partir d'un menu déroulant

merci, j'ai reussi à trouver et j'ai compris comment faire. a+

Hors ligne

Pied de page des forums