Php 创建下拉列表,使用选择从数据库自动填充
我正在编写一份保险表格:您选择您拥有的公司,然后它将从数据库中访问电话号码和其他值,并填写下表。然后他们只需要输入所需的信息Php 创建下拉列表,使用选择从数据库自动填充,php,jquery,dynamic,drop-down-menu,Php,Jquery,Dynamic,Drop Down Menu,我正在编写一份保险表格:您选择您拥有的公司,然后它将从数据库中访问电话号码和其他值,并填写下表。然后他们只需要输入所需的信息 $hostname = ""; $username = ""; $password = ""; $database = ""; mysql_connect($hostname,$username,$password); @mysql_select_db($database) or die( "Unable to select database"); //getFN()
$hostname = "";
$username = "";
$password = "";
$database = "";
mysql_connect($hostname,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
//getFN();
function getFN()
{
$query = "SELECT first FROM contacts";
$FNresult = mysql_query($query);
$dropdown = "<select name='contacts'>";
while( $row = mysql_fetch_assoc($FNresult) )
{
$dropdown .= "\r\n<option value='{$row['first']}'>{$row['first']}</option>";
echo getLN();
//$last .="\r\n<option value='{$row['last']}'>{$row['last']}</option>";
//echo $last;
}
$dropdown .= "\r\n</select>";
echo $dropdown;
}
// Get last name
function getLN()
{
$query = "SELECT last FROM contacts";
$LNresult=mysql_query($query);
$last;
while($row = mysql_fetch_assoc($LNresult))
{
$last = "{$row['last']}";
}
echo $last;
} //end getLN
mysql_close();
?>
<select name="fdsfd" onchange="document.getElementById('first').value = this.value">
<!-- <option value="<?//php echo $first; ?>"></option>-->
</select>
<form action="insert.php" method="post">
First Name: <input type="text" id="first" value=""><br>
Last Name: <input type="text" id="last"><br>
Phone: <input type="text" id="phone"><br>
Mobile: <input type="text" id="mobile"><br>
Fax: <input type="text" id="fax"><br>
E-mail: <input type="text" id="email"><br>
Web: <input type="text" id="web"><br>
<input type="Submit">
</form>
$hostname=”“;
$username=“”;
$password=“”;
$database=“”;
mysql\u connect($hostname、$username、$password);
@mysql_select_db($database)或die(“无法选择数据库”);
//getFN();
函数getFN()
{
$query=“从联系人中选择第一个”;
$FNresult=mysql\u query($query);
$dropdown=“”;
而($row=mysql\u fetch\u assoc($FNresult))
{
$dropdown.=“\r\n{$row['first']}”;
echo-getLN();
//$last.=“\r\n{$row['last']}”;
//回音$last;
}
$dropdown.=“\r\n”;
echo$下拉列表;
}
//姓
函数getLN()
{
$query=“从联系人中选择最后一个”;
$LNresult=mysql\u query($query);
$last;
while($row=mysql\u fetch\u assoc($LNresult))
{
$last=“{$row['last']}”;
}
回音$last;
}//结束getLN
mysql_close();
?>
名字:
姓氏:
电话:
手机:
传真:
电子邮件:
网站:
您需要结合使用AJAX和PHP,并根据服务器(DHTML)的响应动态修改页面源代码
首先,您需要了解AJAX:
其次,您需要了解jQuery:
那么现在,
您需要一种javascript唯一标识元素的方法。给它一个id属性,以及你给它的名称
一旦元素具有id
属性,jQuery就可以使用id选择器访问它
$("#[id]")...
背景脚本应该从下拉列表中获取唯一标识符,从数据库中获取数据并填充JSON编码的数组
然后可以填充表单元素
<?php
// background script
// retrieve data based on $_POST variable, set to $returnArray
/****************************
* the structure of returnArray should look something like
* array(
* 'first' => firstName,
* 'last' => lastName,
* etc.
* )
*/
echo json_encode($returnArray);
通过javascript使用AJAX和DHTML。您应该停止使用mysql.*
函数。他们被弃用了。改为使用(从PHP5.1开始支持)或(从PHP4.1开始支持)。如果您不确定要使用哪一个,.Matt我有一个问题,我想使用jquery做什么?jquery只是一个javascript库,它使在客户端操作事件处理程序变得更容易。
<!-- javascript on client-side -->
<script language="javascript" type="text/javascript">
$("#dropdown").on('change', function() {
$.post("backgroundScript.php", {
uid: $(this).val()
} function(data) {
$("#first").val(data.first);
$("#last").val(data.last);
// etc.
}, 'json'
);
});
</script>