2017-03-16 117 views
0

我已經使用PHP構建了一個下拉列表來顯示我表中的所有唯一名稱。我想使用該下拉列表,然後使用選定的值動態創建MySQL語句。如何使用從數據庫創建的動態下拉列表來創建MySQL查詢

SELECT * FROM iot_sensors WHERE Sensor_ID = [「使用下拉菜單選擇姓名」]

$select2 = "SELECT DISTINCT Sensor_ID FROM iot_sensors;"; 
$result2 = mysqli_query($conn, $select2); 
$counter2 = mysqli_num_rows($result2); 

echo "<select name ='Sensor Names'>"; 
    while ($row = mysqli_fetch_assoc($result2)){ 
    echo "<option value ='".$row['Sensor_ID']."'>".$row['Sensor_ID']." </option>"; 
} 
    $dynamic_query = "SELECT * FROM iot_sensors WHERE Sensor_ID = ['option value']"; 
echo "</select>"; 

我通常所理解,如果我手動填充的下拉菜單中的所有我必須做的就是調用選項的值,但這裏的選項值在那裏用於HTML呈現目的。

+0

如果答案解決了您的問題,請考慮接受答案。以下是http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work然後返回到此處,並使用勾號/複選標記執行相同操作,直至變爲綠色。這告知社區,找到了解決方案。否則,其他人可能會認爲這個問題仍然存在,並且可能需要發佈(更多)答案。您將獲得積分,其他人將被鼓勵幫助您。 *歡迎使用Stack!* –

回答

0

首先是一些警告:

Little Bobbyyour script is at risk for SQL Injection Attacks.瞭解prepared報表MySQLi。即使escaping the string也不安全! Don't believe it?


首先,不要對HTML元素使用帶有空格的名稱:

echo "<select name ='Sensor_Names'>"; 

一旦選定,並提交(不知道你的形式method=是什麼)的項目將是$_REQUEST數組:

$sensor_name = $_REQUEST['Sensor_Names']; 
$dynamic_query = "SELECT * FROM iot_sensors WHERE Sensor_ID = '$sensor_name'";