[英]Select multiple items from mysql database based on checkboxes using PHP?
我試圖基於選擇的復選框從mysql數據庫中獲取多個項目。
例:
1位用戶選擇頁面上的3個復選框,然后單擊“提交”按鈕。 2-在下一頁上,將顯示這3個產品。
我當前的代碼是這樣的:
第一頁:
<div align="center">
<input style="float:left;" type="checkbox" name="check_list[]" value="'.$product_name.'" />
<img width="67" src="../images/'.$id.'.jpg" /><br />
'.$product_name.'
</div>
上面的代碼處於while loop
,並且工作正常。 我應該從mysql數據庫中獲取所有產品。
第二頁:
<?php
if(isset($_POST['submit'])){//to run PHP script on submit
if(!empty($_POST['check_list'])){
// Loop to store and display values of individual checked checkbox.
foreach($_POST['check_list'] as $selected){
//echo $selected."</br>";
include "../config/connect.php";
// This block grabs the whole list for viewing
$products_list = "";
$sql = "SELECT * FROM products WHERE product_name='$selected'";
$query = mysqli_query($db_conx, $sql);
$productCount = mysqli_num_rows($query); // count the output amount
if ($productCount > 0) {
while($row = mysqli_fetch_array($query, MYSQLI_ASSOC)){
$id = $row["id"];
$product_name = $row["product_name"];
$gender = $row["gender"];
$products_list .= '<div align="center">
<input style="float:left;" type="checkbox" name="check_list[]" value="'.$product_name.'" />
<img width="67" src="../images/'.$id.'.jpg" /><br />
'.$product_name.'
</div>';
}
} else {
$products_list .= "You have nothing";
}
}
}
}
?>
<?php echo $products_list; ?>
第二頁上的代碼僅回顯最后檢查的項目!
但我需要顯示首頁上選中的所有項目。
有人可以幫我這個忙嗎?
謝謝。
不要做
$products_list = "";
在你的循環中。 移至之前
foreach($_POST['check_list'] as $selected){
它打印最后檢查的項目,因為您要重置每次循環插入時要回顯的字符串。 使用此代碼。
<?php
if(isset($_POST['submit'])){//to run PHP script on submit
if(!empty($_POST['check_list'])){
// Loop to store and display values of individual checked checkbox.
$products_list = "";
foreach($_POST['check_list'] as $selected){
//echo $selected."</br>";
include "../config/connect.php";
// This block grabs the whole list for viewing
$sql = "SELECT * FROM products WHERE product_name='$selected'";
$query = mysqli_query($db_conx, $sql);
$productCount = mysqli_num_rows($query); // count the output amount
if ($productCount > 0) {
while($row = mysqli_fetch_array($query, MYSQLI_ASSOC)){
$id = $row["id"];
$product_name = $row["product_name"];
$gender = $row["gender"];
$products_list .= '<div align="center">
<input style="float:left;" type="checkbox" name="check_list[]" value="'.$product_name.'" />
<img width="67" src="../images/'.$id.'.jpg" /><br />
'.$product_name.'
</div>';
}
} else {
$products_list .= "You have nothing";
}
}
}
}
?>
<?php echo $products_list; ?>
我將$products_list
移到了foreach循環之外。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.