尝试在html表单的action属性中传递一个php变量,作为基于所选选项通过url传递变量的get方法的一部分。
<?php
...
$sql = "SELECT staffID, staffName
FROM staff";
$results = mysqli_query($conn, $sql)
or die ('Problem with query' . mysqli_error($conn));
?>
<form action = "task7.php?" method = "get">
<select>
<?php
while($row = mysqli_fetch_array($results))
{
$staffID = $row["staffID"];
$staffName = $row["staffName"];
?>
<option value = "<?php echo $staffID ?>"> <?php echo $staffName ?> </option>
<?php
}
?>
</select>
<br> <br>
<input type = "submit" value = "Submit">
<input type = "reset" value = "Reset">
</form>
在这种特殊情况下,我试图将staffID变量作为url的一部分传递。像这样tast7.php?staffID=12345
答案 0 :(得分:1)
您的代码中缺少的所有内容都是select
<select name="staffID"> <!-- adding the name will append the selected value to the url -->
<?php
while($row = mysqli_fetch_array($results))
{
$staffID = $row["staffID"];
$staffName = $row["staffName"];
?>
<option value = "<?php echo $staffID ?>"> <?php echo $staffName ?> </option>
<?php
}
?>
</select>
答案 1 :(得分:1)
在php中,
<form action = "task7.php" method = "get">
<select name="staffID">
<?php
while($row = mysqli_fetch_array($results))
{
?>
<option value = "<?php echo $row["staffID"]; ?>"> <?php echo $row["staffName"]; ?> </option>
<?php
}
?>
</select>
<br> <br>
<input type = "submit" value = "Submit">
<input type = "reset" value = "Reset">
</form>
您可以轻松地使用jQuery / JS。
例如:(使用jQuery)
function formSubmit(element){
var url = $("#test").attr("action", "");
url += "?" + element.name + "=" + element.value;
$("#test").attr("action", url);
$("#test")[0].submit();
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<form action="test.php" method="get" id="test">
<select name="id" onChange="formSubmit(this)">
<option value="abc">abc</option>
<option value="xyz">xyz</option>
</select>
</form>
&#13;
答案 2 :(得分:0)
试试这个
$id = 1;
//later
<form action = "task7.php?staffID="+<?= $id ?> method = "get">
答案 3 :(得分:0)
你的想法太复杂了。尝试这样:
<form action = "task7.php" method = "get">
<select name="staffID">
<?php
while($row = mysqli_fetch_array($results))
{
$staffID = $row["staffID"];
$staffName = $row["staffName"];
?>
<option value = "<?php echo $staffID ?>"> <?php echo $staffName ?> </option>
<?php
}
?>
</select>
<br> <br>
<input type = "submit" value = "Submit">
<input type = "reset" value = "Reset">
</form>
你要找的是不是“php变量”。客户端不存在这样的事情。相反,您只需要将为<select>
标记选择的值作为简单的“HTTP GET”参数提交。这正是方法GET
的表单标记所做的。您只需为选项命名,即全部:<select name="staffID">