I'm having problem with getting the value of select and query it to another data. When I run this I'm getting this error:
Warning: Invalid argument supplied for foreach() in C:\\wamp\\www\\pizza.php on line 49
pizza.php
<ul class="products" >
<?php
include 'core/admin/admin_db.php';
$sql = "SELECT DISTINCT product_id, product_name, product_description, product_image FROM products WHERE pro_cat_id IN ('105','106') GROUP BY product_name";
echo "<div class='scroll2'>";
foreach($conn->query($sql) as $row){
$product_name = $row['product_name'];
echo "<li>";
echo "<form class='form-item'>";
echo "<div class='grow2 pic'><img src='".$row['product_image']."'></div>";
echo "<h5>".$product_name."</h5>";
echo "<h6><i>".$row['product_description']."</i></h6> </br>";
?>
<select name="product_size" id="mySelect" onchange="myFunction()">
<option>
Select Size
</option>
<?php
$sql1="SELECT pro_size.pro_size_desc AS size, product_price, products.pro_size_id AS pro_size FROM products INNER JOIN pro_size ON products.pro_size_id=pro_size.pro_size_id WHERE product_name='$product_name'";
foreach ($conn->query($sql1) as $row1){
echo "<option value='".$row1['pro_size']."'>".$row1['size']." ---P".$row1['product_price'].".00</option>";
}
?>
</select>
<?php
$sample="<p id='demo'></p>";
echo $sample; ?>
<script>
function myFunction() {
var x = document.getElementById("mySelect").value;
document.getElementById("demo").innerHTML = "You selected: " + x;
}
</script>
<?php
$sql6="SELECT product_id from products WHERE product_name='$product_name' AND pro_size_id='$sample'";
foreach ($conn->query($sql6) as $row6){
echo "".$row6['product_id']."";
echo "<input name='product_id' type='hidden' value='{$row6['product_id']}'>";
}
echo "<button type='submit'>Add to Cart</button>";
echo "</form>";
echo "</li>";
?>
</ul>
You should read the php manual on section mysqli.
You tried to iterate a object. $con->query("query"); - returns if success a mysqli_result object. (See here: http://php.net/manual/de/class.mysqli-result.php )
foreach ($conn->query($sql1) as $row1) {...}
Correct is:
$result = $conn->query("query");
if ($result) {
while($row = $result->fetch_assoc()) {
echo $row["product_id"];
}
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.