[英]how to get value of dropdown into a mysql query in php
我希望有人可以幫助我解決這個問題。 我正在嘗試獲取下拉菜單的值並將其注入到 Mysql 查詢中。 這是我的代碼:
<form method=post onchange="putSomethingHere">
<select name="myvalue">
<option value="7225">7225</option>
<option value="7226">7226</option>
<option value="7227">7227</option>
</select>
</form>
<?php
if($dbhandle){
$q = mysqli_query($dbhandle, "
SELECT rfqlogs.id
, customers.customer
, contacts.Name
, constructions.construction
, grades.grade
, rfqlogs.dueDate
, rfqlogs.rcvDate
, rfqlogs.proccess
, rfqlogs.scope
, status.status
, rfqlogs.priority
FROM rfqlogs
JOIN contacts
ON rfqlogs.contid = contacts.cont_id
JOIN grades
ON rfqlogs.gradeId = grades.grd_id
JOIN customers
ON rfqlogs.custId = customers.cust_id
JOIN constructions
ON rfqlogs.constId = constructions.id
JOIN status
ON rfqlogs.status = status.id
WHERE rfqlogs.id='myvalue'
");
?>
您需要將輸出表單的腳本和處理表單提交的腳本分開。 您可以將兩者合並到同一個文件中,但對於基本實現,讓我們使用分離的文件。
讓我們調用 form.php 輸出表單的腳本(不包括整個 HTML 結構)。
<form method="post" onchange="putSomethingHere" action="handler.php">
<select name="myvalue">
<option value="7225">7225</option>
<option value="7226">7226</option>
<option value="7227">7227</option>
</select>
</form>
處理表單提交的腳本(我不會檢查你的 SQL,它應該是功能性的):
<?php
// $dbhandle definition goes here
$myvalue = isset($_REQUEST['myvalue']) ? $_REQUEST['myvalue'] : false;
// You can check whether `myvalue` was sent in the request or not, then take the required action.
// validate and sanitize $myvalue here, use intval() if `myvalue` must always be an integer or mysqli_real_escape_string() in case it's an string.
if($dbhandle){
$q = mysqli_query($dbhandle, "SELECT rfqlogs.id, customers.customer,
contacts.Name, constructions.construction, grades.grade,
rfqlogs.dueDate, rfqlogs.rcvDate, rfqlogs.proccess,
rfqlogs.scope, status.status, rfqlogs.priority
FROM rfqlogs
INNER JOIN contacts ON rfqlogs.contid = contacts.cont_id
INNER JOIN grades ON rfqlogs.gradeId = grades.grd_id
INNER JOIN customers ON rfqlogs.custId = customers.cust_id
INNER JOIN constructions ON rfqlogs.constId = constructions.id
INNER JOIN status ON rfqlogs.status = status.id
WHERE rfqlogs.id='$myvalue'");
?>
PD:在這種情況下,您可以同時使用 $_REQUEST 和 $_POST。
您可以使用$_POST這樣做:
嘗試這個 :
<form method="post" onchange="putSomethingHere">
<select name="myvalue">
<option value="7225">7225</option>
<option value="7226">7226</option>
<option value="7227">7227</option>
</select>
</form>
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$myvalue= $_POST["myvalue"];
}
if($dbhandle){
$q = mysqli_query($dbhandle, "SELECT rfqlogs.id, customers.customer,
contacts.Name,
constructions.construction, grades.grade, rfqlogs.dueDate, rfqlogs.rcvDate,
rfqlogs.proccess,
rfqlogs.scope, status.status, rfqlogs.priority
FROM rfqlogs
INNER JOIN contacts ON rfqlogs.contid = contacts.cont_id
INNER JOIN grades ON rfqlogs.gradeId = grades.grd_id
INNER JOIN customers ON rfqlogs.custId = customers.cust_id
INNER JOIN constructions ON rfqlogs.constId = constructions.id
INNER JOIN status ON rfqlogs.status = status.id
WHERE rfqlogs.id='".$myvalue."' ");
?>
$_POST["myvalue"];
這應該可以解決問題。 php $_POST 全局變量包含從表單發送的所有變量。 因此,通過替換數組鍵,您可以獲得所需的任何變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.