0
我試圖創建一個網頁,用戶可以提交他們知道的信息並選擇他們想要返回的信息。例如,如果他們知道他們提交的ID號碼,他們可以輸入它並要求返回的值是ID號和產品名稱。輸入值和選擇返回數據
正在檢索的信息存儲在MySQL數據庫中,並且HTML頁面佈局了選擇菜單,文本框和複選框(以便用戶可以選擇名稱或輸入其他信息,然後使用複選框選擇他們想要返回的其他信息)。
下面是相關的HTML:
<table><tr>
<form name="input" method="post" action="next.php">
<td width="120">Flowcell ID:<br />
<select name = "Flowcell_ID">
<option disabled="disabled" selected="selected">
Select...
</option>
<?php
$link = mysqli_connect("localhost","user","pass","db");
$query = "SELECT DISTINCT ID FROM table";
$result = mysqli_query($link, $query);
while ($row = mysqli_fetch_array($result)){
$id = $row['ID'];
echo "<option value=\"$id\">$id</option>";
}
mysqli_close($link);
?>
</select></td>
</tr><tr>
<td width="120">Name:<input type="text" name="Name" /></td>
</tr><tr>
<td width="120">Date:<input type="text" name="Date" /></td>
</tr><tr>
<td width="120">Group:<input type="text" name="Group" /></td>
</tr><tr>
<td width="120"><input type="checkbox" name="options[]" value="ID">ID</input></td>
<td width="120"><input type="checkbox" name="options[]" value="Name">Name</input></td>
<td width="120"><input type="checkbox" name="options[]" value="Date">Date</input></td>
<td width="120"><input type="checkbox" name="options[]" value="Group">Group</input></td>
</tr></table>
我迄今爲止唯一的PHP是:
$id = $_POST['ID'];
$name = $_POST['Name'];
$date = $_POST['Date'];
$group = $_POST['Group'];
我怎麼會產生一個MySQL查詢,看起來像
SELECT [checked checkboxes] FROM table WHERE [information field] = [user-entered information]
?
謝謝!
出於某種原因,它不接受'作爲'for'聲明$後=> $ mysql'。而不是「foreach」? – user1504538 2012-07-09 18:42:20
好的,對不起評論兩次。它適用於一個'foreach'聲明(我敢肯定,只有他們使用'$ x作爲$ y => $ z'),並且它沒有返回任何錯誤。但是,即使選中了複選框,它也會死亡,並且在我註釋掉該部分時忽略它們。 'if(''== $ comma)...'實際上做了什麼?它是如何工作的?謝謝! – user1504538 2012-07-09 18:47:57
@ user1504538'if('== == $ comma)'將在沒有選項被選中時返回true。請注意'$ comma'作爲循環前的空格開始,如果字段數組中的某個鍵具有與其關聯的值(即,被選中),則它被設置爲「','」。所以這個條件只是檢查'$逗號'是否仍然保留其原始值(沒有用戶輸入會改變它)。 – FlyingMolga 2012-07-09 20:10:16