Liste déroulante

Fermé
pipo - 1 juin 2010 à 11:32
louloute300 Messages postés 335 Date d'inscription jeudi 3 juin 2010 Statut Membre Dernière intervention 28 novembre 2012 - 4 juin 2010 à 14:54
Bonjour, je voudrai savoir comment on peut séléctionner les données d'une liste déroulante (en php) pour pouvoir insérer des données dans une BDD (mysql).

voila une partie de mon formulaire :

<form action="ajout1.php" method="post">
//autre ligne de code
<tr><td><label for="processeur">Processeur</label></td>
<td><select name="processeur" id="processeur">
<?php
$reponse = $cnx->query('SELECT distinct num_proc_mac,des_proc
FROM processeur,Machine
where num_proc=num_proc_mac');
while ($data = $reponse->fetch())
{
?>
<option value="<?php echo $data['num_proc_mac'];?>" selected="selected">
<?php echo $data['num_proc_mac'];?><p>: </p>
<?php echo $data['des_proc']; ?></option>
<?php
}
$data=$_POST['num_proc_mac'];
$reponse->closeCursor();
?>
//autre ligne de code

<input type="submit" name="bt" value="valider"><br/>

</form>

et voici la page ajout1.php qui est appelée par le formulaire

<?php include("connexion.php"); ?>
<?php
error_reporting(E_ALL ^ E_NOTICE);

if ('$bt')
{
$req=$cnx->prepare("INSERT INTO Machine (num_mac,tatouage,nom_reseau,num_serie_mac,des_mac,
date_achat_mac,pxa_mac,capacite_dd,ram,freq_proc,
fonction_srv,num_servicepack3,port_mac,num_proc_mac,
num_sys_mac,num_mar_mac,num_sal_mac,num_four_mac,
num_pay_mac)
VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)")
or die(print_r($cnx->errorInfo()));
$req->execute(array($_POST['num_mac'],
$_POST['tatouage'],
$_POST['nom_reseau'],
$_POST['num_serie_mac'],
$_POST['des_mac'],
$_POST['date_achat_mac'],
$_POST['pxa_mac'],
$_POST['capacite_dd'],
$_POST['ram'],
$_POST['freq_proc'],
$_POST['fonction_srv'],
$_POST['num_servicepack3'],
$_POST['port_mac'],
$_POST['num_proc_mac'],
$_POST['num_sys'],
$_POST['num_mar'],
$_POST['num_salle'],
$_POST['num_four'],
$_POST['num_pay']
));

}
?>

Merci de m'éviter la noyade !!

1 réponse

louloute300 Messages postés 335 Date d'inscription jeudi 3 juin 2010 Statut Membre Dernière intervention 28 novembre 2012 29
Modifié par louloute300 le 4/06/2010 à 14:56
N'ayant vu aucune "liste déroulante dans ton code, j'ai pensé qu'en fait tu souhaité juste rentrer des données dans une bdd à partir de ce que va inscrire l'utilisateur:


<?


mysql_connect($localhost,$root,$xxx); // Code d'accès à ta bdd
mysql_select_db($basededonnee); // Nom de ta bdd

$titres=array("tatouage","moteur","Machine"); // A Modifier
$fields=array("col1","col2","col3"); // N° chp à remplir

recupenregdonnee($fields);

echo '<html><form method="post" name="form1"><H1>Entre dans une bdd les données suivantes:</h1><table align=center border=1>';
echo '<tr bgcolor="#008000" style="font-size:11;color:white"><td>Type de données</td><td>Valeur</td></tr>';

demandedonnee($titres);

echo '</table>';
echo '<center><input type=hidden name=val><input type=submit value="Envoi" onclick="document.form1.val.value=\'1\'"></center>';

function demandedonnée ($titres){
for($i=0;$i<count($titres);$i++){
echo '<tr><td>'.$titres[$i].'</td><td><input type=text name="donnee'.$i.'"</td></tr>';
}
}
function recupenregdonnee($fields){
$table="nomdelatable"; // A définir
for($i=0;$i<count($fields);$i++){
$donnees[$i]=isset($_POST['donnee'$i])?$_POST['donnee'$i]:"";
}
$sqlchp="";$sqlval="";
for ($i=0;$i<count($fields);$i++){
$sqlchp.="'".$fields[$i]."'";
$sqlval.="'".addslashes($donnees[$i])."'";
if (($i+1)<count($fields)){$sqlchp.=",";$sqlval.=",";}
}

$sql="INSERT INTO '".$table."' (".$sqlchp.") values (".$sqlval.")";
$rep=mysql_query($sql);
if ($rep<>1){echo 'Impossible à créer ';echo ($sql);}
}

?>
0