gpt4 book ai didi

php - 在php中填充下拉框

转载 作者:行者123 更新时间:2023-11-29 14:38:44 25 4
gpt4 key购买 nike

我只是想快速填充三个下拉框来过滤数据,每个下拉框都会影响下一个。

我想要的是

下拉菜单 1 有公司

选择下拉列表 1 后,第二个下拉列表将填充该公司的分支机构

一旦选择,第三个下拉菜单将由该分支机构该公司的员工填充,然后当我按下搜索时,它应该提取该 1 名员工的数据。所有信息都在一张表中

我的 table 叫做“stafflist”

列是“公司”、“分支机构”和“员工姓名”,每个员工都有一个自动编号 ID 字段,我将其用作名为“staffID”的查找

感谢您的帮助

问候缓慢

最佳答案

让我们举一个简单的例子,这是一个 JavaScript 解决方案。我正在使用这个并且它工作得非常好。如果您选择一个国家/地区,该脚本将在第二个下拉列表中填充其相应的城市。您可以采取一些想法并将其用于您可以分别处理三个下拉菜单的情况。

这是国家/地区下拉菜单:

<?php
$countrylist=mysql_query("SELECT * FROM country ORDER BY name ASC");
echo "<select name='country' id='country' onchange=\"reload(this.form)\" title='Country e:g; United Kingdom,Pakistan'><option value='0'>Select Country</option>";
while($clist=mysql_fetch_array($countrylist))
{
echo "<option value='$clist[Name]'>$clist[Name]</option>"."<br/>";
}
echo "</select>";
?>

这是区域下拉列表:

<select name="region" id="region" ></select>

现在创建一个名为 crlist.js 的单独文件,并将其包含在具有上述代码的页面中,如下所示:

<script  type="text/javascript" src="crlist.js"> </script>

crlist.js 代码:

var request = false;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
try {
request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
request = false;
}
}
@end @*/
function fillSelect(country,path) {
var url = path+"crlist.php?country=" + country;
request.open("GET", url, true);
request.onreadystatechange = go;
request.send(null);
}

function go() {
if (request.readyState == 4) {
//if (request.status == 200) {

var response = request.responseText;

var list=document.getElementById("region");
for (i = list.length - 1; i>=0; i--) {
list.remove(i);
}
var records=response.split('|');
for (i=1; i<records.length; i++) {
//alert("rcord="+records[i]);
var record=records[i].split('*');
var region=record[0];
//alert("region="+region);
var regionid=record[1];
//alert("regionid="+regionid);
var x=document.createElement('option');
//var y=document.createTextNode(region);
x.text=region;
//x.value=region;
//alert(x.text);
//x.appendChild(y);
//list.appendChild(x);
list.options.add(x);
}
//}
}
}

function initCs(path) {

if (!request && typeof XMLHttpRequest != 'undefined') {
request = new XMLHttpRequest();
}
var country=document.getElementById('country');
country.onchange=function() {

if(this.value!="Select") {

var list=document.getElementById("region");
for (i = list.length - 1; i>=0; i--) {
list.remove(i);
}
//while (list.childNodes[0]) {
//list.removeChild(list.childNodes[0]);
//}
}
fillSelect(this.value,path);
//alert(this.value);

}
//fillSelect(country.value);
}

现在创建一个名为 crlist.php 的单独文件。

crlist.php 代码:

<?php
require_once 'yourconfigfile.php';

$cname = $_GET['country'];

$query="select ID,Name from city where CountryCode=(select code from country where name='$cname') Order By Name ASC";
$res = mysql_query($query) or die(mysql_error());
while($region = mysql_fetch_array($res)){
echo "<option value='".$region['Name']."'>".$region['Name']."</option>";
}
?>

现在在具有下拉菜单的页面上添加以下脚本:

<script  type="text/javascript" src="crlist.js"> </script>
<script>
$(document).ready(function() {

initCs("");

});
</script>

这是我自己的脚本,我假设您已经创建了国家和地区表。但是您需要根据您的数据库结构调整查询和上面的代码。在您的情况下,您必须为公司、分支机构和员工创建表。

希望这有帮助。

关于php - 在php中填充下拉框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8443927/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com