gpt4 book ai didi

php - 在 PHP 中填充两个下拉列表

转载 作者:行者123 更新时间:2023-11-29 23:16:48 25 4
gpt4 key购买 nike

  • 我有 3 张 table 。
  • 公司表、部门表和imei号码表。
  • 有 2 个下拉列表。
  • 数据库中列出的第一个公司。
  • 选择公司后,它应该显示所选公司的所有 IMEI 号码以及第二个下拉列表,其中包含所选公司数据库中的部门列表。

代码:

$query = mysql_query ("SELECT `imei` FROM `devicemanager` WHERE `companyid` = '".$_SESSION['companyid']."' ORDER BY `imei` ASC");   
  • 现在已选择一家公司。
  • 然后从下一个列表中选择一个部门。
  • 然后它应该显示所选部门和所选公司的所有 IMEI 号码。

代码:

 $query = mysql_query ("SELECT `imei` FROM `devicemanager` WHERE `companyid` = '".$_SESSION['companyid']."' AND `depid` = '".$_SESSION['depid']."' ORDER BY `imei` ASC");
  • 如果您想选择同一公司的另一个部门,则应显示第二个部门和所选公司的所有 IMEI 号码。
  • 到目前为止,一切正常。
  • 我为此使用了 IF 循环。
  • 它检查 depid $_SESSION['depid'] 的 session 变量值。
  • 当您想要查看另一家公司的 IMEI 号码时,您可以选择另一家公司。
  • 然后 $_SESSION['companyid'] 将发生更改。
  • 但是 $_SESSION['depid'] 将保留之前选择的部门的 depid。
  • 因此,由于$_SESSION['depid']不为空,else部分将再次执行。
  • 这意味着

代码:

$query = mysql_query ("SELECT `imei` FROM `devicemanager` WHERE `companyid` = '".$_SESSION['companyid']."' AND `depid` = '".$_SESSION['depid']."' ORDER BY `imei` ASC");

将被执行。

  • 但是,在此查询中,$_SESSION['companyid'] 将是第二个选择的公司的公司 ID,而 $_SESSION['depid'] 将是先前选择的部门的部门 ID。
  • 这表示$_SESSION['depid']不属于所选的$_SESSION['companyid']
  • 数据库中没有该组合的任何 IMEI 号码。
  • 因此,由于无法执行查询,因此它不会给出第二个选择的公司的 IMEI 号码列表。
  • 我也尝试过 unset($_SESSION['depid']),但没有成功。
  • 当已经选择了有部门的公司时,如何查看第二选择的公司的 IMEI 号码列表?

  • 还有其他方法可以做到这一点吗?超过 IF 循环

整个代码工作

<?php
session_start();
//$_SESSION['companyid'] = $_POST['companyid'];
//$_SESSION['depid'] = $_POST['depid'];
(isset($_POST['companyid']) ? $_SESSION['companyid'] = $_POST['companyid'] : unset($_SESSION['companyid']));
(isset($_POST['depid']) ? $_SESSION['depid'] = $_POST['depid'] : unset($_SESSION['depid']));

include "dbconnect.php";
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>

<?php
echo "<input type='hidden' id='comp' value='".$_SESSION['companyid']."'/>";
echo "<input type='hidden' id='dept' value='".$_SESSION['depid']."'/>";
echo "<input type='hidden' id='dept2' value='".$_SESSION['depid2']."'/>";

echo "<form method='post'>";
if ($_SESSION['depid'] == 0){
$companyid = $_POST['companyid'];
echo "<select name='companyid' id='companyid' onchange='form.submit()'>";
echo "<option value=''>Select Company</option>";
$query = mysql_query ("SELECT * FROM `company` ORDER BY `companyid` ASC") or die (mysql_error());
while ($row = mysql_fetch_assoc($query)){
echo "<option ".(($_SESSION['companyid'] == $row['companyid'])? 'selected==selected':'')." value='".$row['companyid']."'>".$row['company']."</option>";
}
echo "</select></br>";

$depid = $_POST['depid'];
$query = mysql_query("SELECT `depid`, `department` FROM `department` WHERE `companyid` = '".$_SESSION['companyid']."' ORDER BY `depid` ASC") or die (mysql_error());
echo "</br>";
echo "<select name='depid' id='depid' onchange='form.submit()'>";
echo "<option value=''>Select Department</option>";
while ($row = mysql_fetch_assoc($query)){
echo "<option ".(($_SESSION['depid'] == $row['depid']) ? 'selected==selected':'')." value='".$row['depid']."'>".$row['department']."</option>";
}
echo "</select></br>";
//$query = "SELECT `depid`, `department` FROM `department` WHERE `companyid` = '".$_SESSION['companyid']."'";
//echo $query;
$query = mysql_query("SELECT `depid`, `department` FROM `department` WHERE `companyid` = '".$_SESSION['companyid']."'") or die (mysql_error());

echo "<table>";
echo "<tr>";
echo "<th>IMEI NO.</th>";
echo "</tr>";
echo "</table>";
$query = mysql_query ("SELECT `imei` FROM `devicemanager` WHERE `companyid` = '".$_SESSION['companyid']."' ORDER BY `imei` ASC");
echo "<table>";
while ($row = mysql_fetch_assoc($query)){
echo "<tr>";
echo "<td>".$row['imei']."</td>";
echo "</tr>";
}
echo "</table>";
}
else {
$companyid = $_POST['companyid'];
echo "<label>test</label>";
echo "<select name='companyid' id='companyid' onchange='form.submit()'>";
echo "<option value=''>".$row['company']."</option>";
$query = mysql_query ("SELECT * FROM `company` ORDER BY `companyid` ASC") or die (mysql_error());
while ($row = mysql_fetch_assoc($query)){
echo "<option ".(($_SESSION['companyid'] == $row['companyid'])? 'selected==selected':'')." value='".$row['companyid']."'>".$row['company']."</option>";
}
echo "</select></br>";

$depid = $_POST['depid'];
$query = mysql_query("SELECT `depid`, `department` FROM `department` WHERE `companyid` = '".$_SESSION['companyid']."' ORDER BY `depid` ASC") or die (mysql_error());
echo "</br>";
echo "<label>test</label>";
echo "<select name='depid' id='depid' onchange='form.submit()'>";

echo "<option value=''>Select Department</option>";

while ($row = mysql_fetch_assoc($query)){
echo "<option ".(($_SESSION['depid'] == $row['depid']) ? 'selected==selected':'')." value='".$row['depid']."'>".$row['department']."</option>";
}
echo "</select></br>";

//$query = "SELECT `imei` FROM `devicemanager` WHERE `companyid` = '".$_SESSION['companyid']."' AND `depid` = '".$_SESSION['depid']."'";
//echo $query;
echo "<table>";
echo "<tr>";
echo "<th>IMEI NO.</th>";
echo "</tr>";
echo "</table>";

$query = mysql_query ("SELECT `imei` FROM `devicemanager` WHERE `companyid` = '".$_SESSION['companyid']."' AND `depid` = '".$_SESSION['depid']."' ORDER BY `imei` ASC");
echo "<table>";
while ($row = mysql_fetch_assoc($query)){
echo "<tr>";
echo "<td>".$row['imei']."</td>";
echo "</tr>";
}
echo "</table>";
}
echo "</form>";
?>

</body>
</html>

最佳答案

首先,您确实应该清理您的查询并使用 mysqli .

更改代码:

$_SESSION['companyid'] = $_POST['companyid'];
$_SESSION['depid'] = $_POST['depid'];

至:

(isset($_POST['companyid']) ? $_SESSION['companyid'] = $_POST['companyid'] : unset($_SESSION['companyid']));
(isset($_POST['depid']) ? $_SESSION['depid'] = $_POST['depid'] : unset($_SESSION['depid']));

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

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