我尝试创建一个允许在下拉列表中选择员工ID的表单。一旦在选择时做出选择,通过从数据库中提取信息自动填写其他字段。
<form method="post"action="">
<select name="id_em">
<?php
try
{
$bdd = new PDO('mysql:host=localhost;dbname=gestion;charset=utf8','root','');
}
catch (Exception $e)
{
die('ERREUR : '.$e->getMessage());
}
$res = $bdd->query('select * from employe');
while ($ligne=$res->fetch())
{?>
<option> <?php echo $ligne['id_em']; ?> </option>
<?php }
$res->closeCursor();
?>
<?php
$requete = $bdd->prepare("select * from employe where id_em=?");
$requete->execute(array($_POST["id_em"]));
if(isset($_POST['id_em'])){
while($res1 = $requete->fetch()){
?>
<input type="text"name="nom_em" value="<?php echo $res1["nom_em"] ?>">
<?php
}
}
$requete->closecursor();
?>
</select>
</form>
下拉列表显示效果很好,但是当我做出选择时,没有任何反应。我知道我们会使用JavaScript,但问题是我还是初学者而且我不知道该怎么做。
答案 0 :(得分:0)
至少应该在列表选择发生变化时调用JavaScript函数:
function changeId(sel) {
alert('id changed to '+sel.value);
}
&#13;
Options
<select name="id_em" onchange="changeId(this)">
<option>(none)</option>
<option>Option 1</option>
<option>Option 2</option>
<option>Option 3</option>
<option>Option 4</option>
</select>
&#13;
有关如何使用AJAX技术将数据库中的内容加载到html页面的进一步提示,请参阅Web中的一些优秀教程,如下所示:https://www.w3schools.com/php/php_ajax_database.asp