Liste déroulante

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

  • Votes
  • Date
  • Date décroissante
  1. 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);}
    }

    ?>