Vous n'êtes pas identifié(e).
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
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
une liste déroulante c'est la balise <select>
chaque nom est dans une balise <option>
ton code va donc etre
j'ai pris pour base que la clef primaire s'appelle id et que le nom de l'utilisateur s'appel nom
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
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
$req = mysql_query('SELECT * FROM uslbc_compo');
// 3
$ret = mysql_query($requete);
il faut choisir
a++
Hors ligne
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
@+
Il en faut peu pour être heureux pompompompompompompompompompompom
Hors ligne
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
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
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
Voici la page avec le menu deroulant et le bouton envoyer :
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
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
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
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
merci, j'ai reussi à trouver et j'ai compris comment faire. a+
Hors ligne