在提交后的选择框中获取所选值。 我用:
$product = mysqli_real_escape_string($conn, $_GET['product']);
$brand = mysqli_real_escape_string($conn, $_GET['brand']);
$conn = new mysqli($servername, $username, $password, $dbase);
if(empty($_GET['product']||$_GET['brand'])){ //fields contain no value
die('please input a search!'); // kill the database connection
}
if ($conn->connect_error) {
echo "Connection failed: ". $conn->connect_error;
}else{
$sql = "SELECT * FROM products WHERE product = $product AND brand = $brand";
$result = $conn->query($sql);
//echo $sql;
}
//THIS IS WHERE IT SAYS THE ERROR OCCURS, "if($result->num_rows>0"
//specifically
if ($result->num_rows > 0){
//output each row
while($row = $result->fetch_assoc()){
echo "Product: " . $row["product"]. " Brand: " . $row["brand"]. "
Age: " . $row["age"]. " Cost: " . $row["cost"]. " Specification: " .
$row["specification"]. " Image: " . $row["image"]. "<br>";
}
}else{
echo "Sorry, we could not find any products relating to your search.";
}
mysqli_close($conn);
在PHP中使用数组时如何获取多个项目?
<option value="<?=$row["status"]?>" <?=($row["status"]==$status) ? 'selected' : ''?> >
答案 0 :(得分:1)
尝试以下方法:
在循环之前添加:
$selectedItems = [];
if(isset($_POST['status'])) {
$selectedItems = $_POST['status'];
}
循环内的变化:
<option value="<?=$row["status"]?>" <?=(in_array($row["status"], $_POST['status'])) ? 'selected' : ''?> >
<?=$row["status_omschr"]?>
</option>
答案 1 :(得分:0)
您可以在下面的条件下使用in_array()功能来执行此操作。
<option value="<?=$row["status"]?>" <?php if(isset($_POST['status']) and !empty($_POST['status'])){ ?> <?=(in_array($row["status"], $_POST['status'])) ? 'selected' : ''?> <?php }?> >
<?=$row["status_omschr"]?>
</option>