[RESOLU] Liste déroulante dans un formulaire lié à une base

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Liste déroulante dans un formulaire lié à une base

Codes à mettre en place dans l'entete

par EsthetiqueSurg » 03 nov. 2016, 11:29

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Ceci est un titre</title>
    <META NAME="robots" CONTENT="index,follow">
    <meta name="description" content="Ceci est une description de mon site ">
	<meta name="Author" content="name"/>
Je mets dans mon site ces codes métas et codes d'encodage pour faciliter l'indexation de mon site chirurgie

Re: Liste déroulante dans un formulaire lié à une base

par ninouee » 26 oct. 2016, 19:47

Bonsoir Moogli,

Oui le code affichait quel que chose. C'est à dire le le bouton de la liste de choix et le valider.

Pour l'apparence du code oui c'est vraie que quand je vois ce que vous arrivez à créer et ce que ça donne avec moi c'est pas folichon. Je crois voir que vous avez fait fait en sorte d'avoir une seule balise php alors que moi j'en ai fait plein. En effet ça simplifie.

J'espère arriver à cela avec la pratique.

Je vais de ce pas comparer les deux code pour voir où je me suis trompée.

Merci à vous!

Re: Liste déroulante dans un formulaire lié à une base

par moogli » 26 oct. 2016, 13:17

salut,

il y a quelque chose dans le code html généré ?

c'est pas simple à lire ton affaire tu peux faire plus clair
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<body >
<form action="personnalite.php" method="post">
<label for="Sexe">Sexe :</label><select name="Sexe">
<?php
// Connexion à la base de données
include('cnxBdd.php');

$sexe = $bdd->query('select id, snom from sexe order by sexMin ASC');

// Afficher les enregistrements
while ($donnees = $sexe->fetch()) {
    echo '<option value="',$donnees['id'],'"';
    if (!empty($_POST['Sexe']) && $_POST['Sexe'] == $donnees['id']) {
        echo ' selected="selected"';
    }
    echo '>', $donnees['snom'],'</option>';
}
$sexe->closeCursor();
?>
</select><br/><br/>
<input type="submit" value="Envoyer"/>
</form>
</body>
</html>
(et encore peu mieux faire ;) )
J'ai corrigé le problème sur la sélection automatique de la valeur déjà sectionnée à la soumission du formulaire.

A priori ta liste devrait être alimentée.

@+

Re: Liste déroulante dans un formulaire lié à une base

par ninouee » 25 oct. 2016, 22:04

Bonjour à tous!

Après avoir fait une pause et avoir retravaillé mon code je pense ne pas être trop loin de ma liste de sélection. Toutefois il y a une erreur que je n'arrive pas à trouver.

Auriez-vous une piste pour m'aider à trouver mon erreur?

Voila ce que j'ai fait:

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <body > <form action="personnalite.php" method="post"> <label for="Sexe">Sexe :</label><select name="Sexe"> <?php // Connexion à la base de données include ('cnxBdd.php'); $sexe = $bdd -> query('select sexMin, id, snom from sexe order by sexMin ASC'); // Afficher les enregistrements while ($donnees = $sexe->fetch())?> <option value="<?php echo $donnees['id'];?>" <?php if(isset($_POST['snom'])) { if ($_POST['snom']==$donnees['id']){?> selected="selected" <?php } } ?>><?php echo $donnees['snom'];?></option> <?php $sexe->closeCursor(); ?> </select><br/><br/> <input type="submit" value="Envoyer"/> </form> </body> </html>
Ca m'affiche bien le forumlaire de choix mais je n'ai rien dans la liste de choix. Quand je fais mon test pour voir ce qu'il y a dans ma table les données sont bien là.

Je pense avoir un problème dans la partie affichage des informations de la table. Mais je coince.

Merci à vous.

Re: Liste déroulante dans un formulaire lié à une base

par ninouee » 10 sept. 2016, 12:42

Bonjour

Oui c'est exactement ce que j'essaie de faire. D'ailleur je me suis baseée sur votre tutoriel qui est ici faq-tutoriels/formulaires-listes-deroul ... t4562.html

Toutefois, j'ai eu un peu de mal pour le comprendre et le décortiquer. Je tente de faire très simple pour comprendre et assimiler.

Là je me bagarre avec le code pour adapter mais il faut du temps. J'espère y arriver.

Merci

Re: Liste déroulante dans un formulaire lié à une base

par Ryle » 06 sept. 2016, 12:11

Bonjour,

Je ne comprend pas bien ce que tu veux faire. Tu veux juste alimenter une liste déroulante à partir d'une liste de valeur existante en base de données ?
Si c'est le cas, tu peux effectivement utiliser les tutos sur les listes déroulantes liées et ignorer la partie qui parle du lien :)

En gros, il te suffit de définir ta liste avec un <select></select>, lui donner un nom avec l'attribut name (name="monSelect") et de faire une requête en base pour aller chercher les éléments à afficher dans cette liste. Tu fais une boucle avec un "while" ou un "for" dans laquelle pour chaque valeur, tu créer une balise <option></option> avec un attribut value (qui te permet de définir quelle valeur de monSelect le formulaire va envoyer si cette option est sélectionnée). Entre les balises <option> et </option> tu mets le texte qui doit être affiché à l'utilisateur (qui peut donc être différent de la valeur de l'option) et le tour est joué.

Au besoin, tu peux sélectionner l'une des options par défaut (par exemple en cas de modification) en ajoutant l'attribut selected dans l'option à activer par défaut. Tu peux faire ça avec un simple test du genre " if ($valeurOptionAffichée == $valeurEnregistrement) echo 'selected="selected"'; " à placer dans tes balises options.

Voilà, et si c'est pas ce que tu voulais faire, et ben tant pis, ça servira peut être à d'autres ;)

Liste déroulante dans un formulaire lié à une base

par ninouee » 05 sept. 2016, 19:07

Bonjour à tous,

J'essaie de faire évoluer mon formulaire en l’étoffant et bien entendu ça se complique un peu. C'est le but de la manœuvre.

Actuellement j'ai un formulaire tout simple qui est lié à une base de données. En cliquant sur envoie, Ca enregistre les informations dans la base. Là rien d'exceptionnel et ça fonctionne.

Afin de simplifier certaines saisies d'informations redondantes comme les pays, les villes, le genre des personnes, j'essaie de lier une table à une liste déroulante dans un formulaire.

Mon premier test a été de voir les les données de ma table s'affichaient et c'est le cas. Toutefois là où je bloque c'est pour la partie formulaire pour avoir une liste déroulante cliquable. Un truc tout simple. Mais tout ce que je trouve concerne des liste avec des sous liste et j'en passe.

Avez-vous un tutoriel à me suggérer qui serait à ma portée?

Merci à vous.