Liste deroulante extrait d'un BDD sql

per333 -  
 per333 -
Bonjour,
Je voudrai créer une liste déroulante ou les données sont extrait d'une table de ma base de données.
une demande a besoin d'un sujet de presentation et je voudrai affiche tout les sujet et que l'utilisateur choisit le sujet dans la liste déroulante et qu'il s'insere dans la table demande.

CREATE TABLE IF NOT EXISTS 'demande' (
'numdemande' int(11) NOT NULL AUTO_INCREMENT,
'datedemande' date NOT NULL,
'classe' varchar(20) NOT NULL,
'eleveclasse' int(11) NOT NULL,
'dateheurepropo' varchar(50) NOT NULL,
'numdem' int(11) NOT NULL,
'codeetab' int(11) NOT NULL,
numsujet,int (11) NOT NULL,
PRIMARY KEY ('numdemande')
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

-- --------------------------------------------------------
A voir également:

2 réponses

tartefion Messages postés 34 Statut Membre 7
 
Bonjour !
Je te propose ce code,

$querySujet="SELECT * FROM sujet";
$ressourceSujet=mysql_query($querySujet);

echo "<form action='ta_page.php' method='POST'> <select name='choixSujet'>";
while($row=mysql_fetch_array($ressourceSujet))
{
     echo '<option value='.$row['numsuj'].'>'.$row['libsuj'].'</option>';
}
echo "</select><input type='SUBMIT'></form>";

if(isset($_POST['choixSujet']))
{
     $idSujet=$_POST['choixSujet'];
     $queryInsert="INSERT INTO demande      (numdemande,datedemande,classe,eleveclasse,dateheurepropo,numdem,codeetab,numsujet)
     VALUES ('','$datedemande','$classe','$eleve','$dateheurepropo','$numdem','$codeetat','$idSujet')";
     mysql_query($queryInsert);
}


Par contre les variables dans VALUES (à l'exception de $idSujet), tu dois les renseigner au préalable. =)=)=)
0
vincentdu76
 
Ou sinon autre exemple :

<!-- CATEGORIE -->
		<p>
		<label for="categorie">Catégorie</label> <br />
		<SELECT NAME="categorie" style="width:120px">
		<?php
		
		$requete ="SELECT * FROM t_categorie order by nom_categorie ";
		$requete_exec= mysql_query($requete) or die(mysql_error());
		echo '<option value="" selected></option>';
		while($donnees = mysql_fetch_assoc($requete_exec))
		{
			?>
			
			<OPTION VALUE="<?php echo $donnees['id_categorie'] ?>"><?php echo $donnees['nom_categorie']?>
		
			<?php
		}
		?>		
		
		</SELECT>
		
		</p>
		<!-- FIN CATEGORIE -->
0
per333
 
Déjà, merci a toi d'avoir répondu.
Mais je suis désolé je n'arrive pas a mettre en place la liste deroulante, cela doit venir de moi qui débute. Je met tout le code php et html pour voir si voit quel est le problème.
merci

Cette page se nomme demandepresentation.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans nom</title>
<style type="text/css">
body,td,th {
color: #009;
}
h1 {
font-size: 24px;
color: #006;
text-align: center;
}
h2 {
font-size: 16px;
color: #009;
}
h3 {
font-size: 10px;
color: #F00;
}
#form5 p label {
text-align: justify;
}
#form5 p label {
text-align: justify;
}
body {
background-color: #E6FFDF;
background-image: url();
background-repeat: no-repeat;
text-align: center;
}
</style>
</head>

<body>

<form id="form1" name="form1" method="post" action="php/adddemande.php">
<label for="datedemande">Date de la demande</label>
<input type="text" name="datedemande" id="datedemande" />

<h1> Demande d'une Presentation chimie</h1>
<h2>Etablissement :</h2>

<p>
<label for="etab"></label>
<select name="etab" id="etab">
<option value="College">Collége</option>
<option value="Lycee">Lycée</option>
<option value="College & lycee">Collége & Lycée</option>
</select>

</p>

<p>
<label for="nometab">Nom</label>
<input type="text" name="nometab" id="nometab"/>
</p>

<p>
<label for="rueetab">Rue </label>
<input type="text" name="rueetab" id="rueetab
"/>
</p>

<p>
<label for="cpetab">Code postal</label>
<input type="text" name="cpetab" id="cpetab" />
</p>

<p>
<label for="villeetab"> Ville</label>
<input type="text" name="villeetab" id="villeetab" />
</p>

<p>
<label for="teletab">Telephone</label>
<input type="text" name="teletab" id="teletab" />
</p>

<h2>Demandeur :</h2>

<p>
<label for="civilité">Civilité</label>
<select name="civilité" id="civilité">
<option value="mr">Mr</option>
<option value="mme">Mme</option>
<option value="mlle">mlle</option>
</select>
</p>

<label for="nomdem">nom</label>
<input type="text" name="nomdem" id="nomdem" />

<label for="prenomdem">Prenom
<input type="text" name="prenomdem" id="prenomdem" />
</label>
</p>

<p>
<label for="fonctiondem">Fonction</label>
<select name="fonctiondem" id="fonctiondem">
<option value="principal">Principal</option>
<option value="principal adjoint">Principal adjoint</option>
<option value="conseiller d'education">Conseiller d'education</option>
<option value="professeur principal">Professeur principal</option>
<option value="professeur physique chimie">Professeur physique chimie</option>
<option value="autres">Autres</option>
</select>
</p>

<p>
<label for="maildem">Email</label>
<input type="text" name="maildem" id="maildem" />
</p>

<p>
<label for="telfixdem">Telephone fix </label>
<input type="text" name="telfixdem" id="telfixdem" />
</p>

<p>
<label for="telmobiledem">Telephone mobile</label>
<input type="text" name="telmobiledem" id="telmobiledem" />
</p>

<h3>( Le choix de la date et de l'heure de la presentation en fonction des emplois du temps des intervenants Senior, Junior, Professeur(s) nécessite le plus souvent plusieurs communications email ou téléphone. Les resultats de ces échanges (ex : date et heure de la presentation) seront portés dans la fiche de suivi de votre demande, accessible au Demandeur, au Senior et au Junior intervenant. )</h3>

<p>
<label for="classe">Classe</label>
<input type="text" name="classe" id="classe" />

<label for="eleveclasse">Nombre d'eleves</label>
<input type="text" name="eleveclasse" id="eleveclasse" />
</p>
<p>
<label for="numsuj">Choix sujet</label> <br />
<select name="numsuj" style="width:120px">
<option value="<?php echo $donnees['numsuj'] ?>">
</SELECT>
</p>

<h3>( Pour les classes de 3 ème, "La chimie au quotidien" est recommandé )</h3>
<p>Date et heure souhaitées, durée 1 heure 30 recommandée</p>

<p>
<label for="dateheurepropo"></label>
<textarea name="dateheurepropo" id="dateheurepropo" cols="45" rows="5"></textarea>
</p>

<h3>( Ex : Les jeudi de 14:00 à 16:00, ou les mardi matin, entre le 15/10/10 et 15/12/10 )</h3>

<p>La date et l'heure seront finalisées par les intervenants en tenant compte des emplois du temps respectifs et des contraintes de dèplacements. Vous aurez accès aux coordonnées du Senior et du Junior intervenant ainsi qu'à la situation de votre demande en vous connectant sur ce site.</p>

<p>
<label for="id">Choisissez votre identifiant</label>
<input type="text" name="id" id="id" />
ex : votre nom</p>

<p>
<label for="mp">Ainsi que votre mot de passe</label>
<input type="password" name="mp" id="mp" />
</p>

<input type="submit" name="Valider" id="Valider" value="Envoyer" />
</form>
<p> </p>
<p> </p>
<p> </p>
<p><img src="file:///C|/Documents and Settings/Marine DEMEURE/Bureau/Stage UIC/Site/Image/pied_de_page.jpg" width="734" height="196" /></p>
</body>
</html>

cette page s'appel adddemande.php
<?php
// On commence par récupérer les champs
if(isset($_POST['datedemande'])) $datedemande=$_POST['datedemande'];
else $datedemande="";

if(isset($_POST['etab'])) $etab=$_POST['etab'];
else $etab="";

if(isset($_POST['nometab'])) $nometab=$_POST['nometab'];
else $nometab="";

if(isset($_POST['rueetab'])) $rueetab=$_POST['rueetab'];
else $rueetab="";

if(isset($_POST['cpetab'])) $cpetab=$_POST['cpetab'];
else $cpetab="";

if(isset($_POST['villeetab'])) $villetab=$_POST['villeetab'];
else $villeetab="";

if(isset($_POST['teletab'])) $teletab=$_POST['teletab'];
else $teletab="";

if(isset($_POST['civilité'])) $civilité=$_POST['civilité'];
else $civilité="";

if(isset($_POST['nomdem'])) $nomdem=$_POST['nomdem'];
else $nomdem="";

if(isset($_POST['prenomdem'])) $prenomdem=$_POST['prenomdem'];
else $prenomdem="";

if(isset($_POST['fonctiondem'])) $fonctiondem=$_POST['fonctiondem'];
else $fonctiondem="";

if(isset($_POST['maildem'])) $maildemb=$_POST['maildem'];
else $maildem="";

if(isset($_POST['telfixdem'])) $telfixdem=$_POST['telfixdem'];
else $telfixdem="";

if(isset($_POST['telmobiledem'])) $telmobiledem=$_POST['telmobiledem'];
else $telmobiledem="";

if(isset($_POST['classe'])) $classe=$_POST['classe'];
else $classe="";

if(isset($_POST['eleveclasse'])) $eleveclasse=$_POST['eleveclasse'];
else $eleveclasse="";

if(isset($_POST['numsuj'])) $numsuj=$_POST['numsuj'];
else $numsuj="";

if(isset($_POST['libsuj'])) $libsuj=$_POST['libsuj'];
else $libsuj="";

if(isset($_POST['sujet2'])) $sujet2=$_POST['sujet2'];
else $sujet2="";

if(isset($_POST['sujet3'])) $sujet3=$_POST['sujet3'];
else $sujet3="";

if(isset($_POST['dateheurepropo'])) $dateheurepropo=$_POST['dateheurepropo'];
else $dateheurepropo="";

// connexion à la base
$bdd = mysql_connect('localhost','root', '') or die('Erreur de connexion '.mysql_error());

// sélection de la base
mysql_select_db('UIC',$bdd) or die('Erreur de selection '.mysql_error());

// on écrit la requête sql
$sql = "INSERT INTO etablissement(codeetab, nometab, rueetab, cpetab, villeetab, teletab, etab) VALUES('','$nometab','$rueetab', '$cpetab', '$villeetab', '$teletab','$etab')";

// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

// on récupère l'id_site qui vient d'être généré
$codeetab = mysql_insert_id();

$sql = "INSERT INTO demandeur(numdem, nomdem, prenomdem, fonctiondem, maildem, telfixdem, telmobiledem, codeetab) VALUES('','$nomdem','$prenomdem', '$fonctiondem', '$maildem', '$telfixdem', '$telmobiledem', '$codeetab')";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
$numdem = mysql_insert_id();

$requete ="SELECT * FROM sujet order by numsuj ";
$requete_exec= mysql_query($requete) or die(mysql_error());
echo '<option value="" selected></option>';
while($donnees = mysql_fetch_assoc($requete_exec))

$sql = "INSERT INTO demande(numdemande, datedemande, classe, sujet1, sujet2, sujet3, codeetab, numdem, numsuj) VALUES('','$datedemande','$classe',', '$numsuj','$codeetab','$numdem')";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

// on affiche le résultat pour le visiteur
echo 'Vos infos on été ajoutées.';

mysql_close(); // on ferme la connexion

?>

-- phpMyAdmin SQL Dump
-- version 3.2.0.1
-- https://www.phpmyadmin.net/
0