簡體   English   中英

如何根據表mysql更改下拉菜單

[英]How to change dropdown menu depending on table mysql

大家好:我有2個下拉列表,它們分別來自兩個不同的表。 第一個表(ID | Project_Name | isActive)。 第二個表是針對用戶(Project_Id | Name)的,我想根據從第一個下拉列表中選擇的內容來顯示第二個下拉列表中的選項。 例如,在第一個表中,我有3個項目:1:Project1 2:Project2 3:Project3

在第二個表上,該表適用於用戶:用戶的ID取決於第一個表中的項目:用戶A在Project1上工作用戶B在Project1上工作用戶C在Project2上工作

<html>
<body>
<script type="text/javascript">
function changeProject()
{
alert(document.getElementById("ProjOptionId_id").value);
}
</script>
<form method="POST" action="page.php">
<table>
<tr>
<td>
<?php Insertprojects(); ?>
</td>
</tr>
<tr>
<td>
<?php InsertUsers(); ?>
</td>
</tr>
<form>
</body>
</html>

<?php
function Insertprojects()
{
$Search ="SELECT * FROM proj_database";
$query= mysql_query($Search);
echo "<select name=\"ProjOptionId\" id=\"ProjOptionId_id\" onchange=\"changeProject()\">";
$bFirstLoop=0;
while($Row = mysql_fetch_array($query))
echo "<option value=\"$Row[ID]\">$Row[Project_Name]</option>";
if($bFirstLoop==0)
{
$GLOBALS['sProjectId'] = $Row['ID'];
}
$bFirstLoop++;
}
echo "</select>";
}
?>

我做了javascript函數來獲取下拉列表的索引,因此我可以根據所選元素更改第二個下拉列表。

當您在第一個下拉菜單中選擇Project1,在第二個下拉菜單中出現僅與Project1配合使用的用戶,如此類而無需重新加載頁面時,我該怎么辦。

我設法通過jQuery解決此問題:

$(function() 
{
$("#projectSelector").change(function() 
{
$("#customerSelector").load("getter.php?project_id=" + $("#projectSelector").val());
});
});

這是我的第一個下拉列表:

<select id="projectSelector" name="projectSelector">
<option selected value="base">--Select an option--</option>
<?php
/*Code to populate from Mysql query
SELECT* FROM......*/
?>
</select>

第二個下拉菜單則根據從第一個下拉菜單中選擇的內容取值

<select id="customerSelector">
<option>--Select an Option--</option>
</select>

而getter.php是一個外部文件,其中包含一個在下拉列表值更改時使用的變量:

<?php
$sProjectId = $_GET['project_id'];
mysql_query = SELECT * FROM database1 WHERE tablecolum = $sProjectId;
while ($row = mysql_fetch_array($result)
{
echo "<option>".$row['tablecolumn']."</option>";
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM