[英]Checkbox Form with Submit Button doesn't echo values from database php html sql
[英]How to correctly echo database results from checkbox form with submit button into table?
大家好,我是php,mysql和html的新手,對於我正在從事的項目,它有一個具有ID,產品,價格和條件的簡單數據庫。 在我的html表單上,我有四個復選框,其價格范圍為0-25、25-50、50-75和75-100。 這是我要嘗試執行的示例:如果用戶選擇0-25的復選框,則應該在表中回顯所有價格為0-25的產品的ID,產品,價格和條件。復選框的值保存在數組中,但是我現在完全迷失了。 如何在復選框的數據庫中輸出值。
PS我聽說過PDO,但是我們必須在該項目中使用mysql。 這是我的html:
<form action="pricefilter.php" method="post">
<br><b>Filter By Price:</b><br><br>
<input type="checkbox" name="priceFilter[]" id="Price" value="025"/> $0-$25<br><br>
<input type="checkbox" name="priceFilter[]" id="Price" value="2550"/> $25-$50<br><br>
<input type="checkbox" name="priceFilter[]" id="Price" value="5075"/> $50-$75<br><br>
<input type="checkbox" name="priceFilter[]" id="Price" value="75100"/> $75-$100<br><br>
<input type="checkbox" name="priceFilter[]" id="Price" value="100"/> $75-$100<br><br>
<input type="submit" name="submit" value="Submit" />
</form>
這是我的PHP:
<?php
mysql_connect ("localhost", "root","root") or die (mysql_error());
mysql_select_db ("XUSWAPSAMPLE");
$priceFilter = $_GET['priceFilter'];
$filteredResponse = array ();
foreach($priceFilter as $range)
{
if($range == 025)
{
$query = "select * from Books where Price <= 25";
$sql = mysql_query($query);
array_push($filteredResponse, $sql);
}
if($range == 2550)
{
$query = "select * from Books where Price >= 25 AND Price <=50";
$sql = mysql_query($query);
array_push($filteredResponse, $sql);
}
if($range == 5075)
{
$query = "select * from Books where Price >= 50 AND Price <=75";
$sql = mysql_query($query);
array_push($filteredResponse, $sql);
}
if($range == 75100)
{
$query = "select * from Books where Price >= 75 AND Price <=100";
$sql = mysql_query($query);
array_push($filteredResponse, $sql);
}
if($range == 100)
{
$query = "select * from Books where Price >= 100";
$sql = mysql_query($query);
array_push($filteredResponse, $sql);
}
您的代碼有兩點錯誤
1)您使用的是post方法提交表單,但嘗試使用$ _GET獲取值,因此您應該使用$ _POST
2)您應該使用php的isset屬性來檢查值是否存在。
所以解決方案是嘗試
if (isset($_POST['priceFilter']) && ($_POST['priceFilter']!="")) {
$priceFilter = $_POST['priceFilter'];
// put your remaining code here
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.