我正在制作网上商店,需要检索商品的价格 我现在一直在阅读和搜索几周而没有任何运气,这里的任何人都有答案吗?
- > 小解释:
问题:
函数getPrice()
在我无法检查的情况下不会返回任何内容。
它似乎也没有产生任何错误。
我的代码:
<?php
$servername = "localhost";
$username = "beegeeky";
$password = "pwd";
$dbname = "beegeeky";
$conn = new mysqli($servername, $username, $password, $dbname);
function getPrice($id){
$sql = "SELECT MIN(price) FROM item_price WHERE size_id IN (SELECT id FROM item_size WHERE item_id =".$id.");";
$lowestprice = $conn->query($sql);
return $lowestprice;
}
$sql = "SELECT * FROM item ORDER BY id DESC;";
$qresult = $conn->query($sql);
if ($qresult->num_rows > 0) {
while($item = $qresult->fetch_assoc()) {
?>
<div class="item" id="item_<?php echo $item["id"]; ?>" onclick="itemClick('item_<?php echo $item["id"]; ?>')">
<div class="likeHitBox" onclick="like('like_<?php echo $item["id"]; ?>')"></div>
<div class="like<?php if ($conn->query("SELECT * FROM item_like WHERE item_id = ". $item["id"] . " AND user_id = ". $userID .";")->num_rows > 0){?> liked<?php } ?>" id="like_<?php echo $item["id"]; ?>"></div>
<div class="iconContainer"></div>
<div class="itemImg">
<img src="../img/<?php echo "BoneConductingHeadphones/BCH.png"; ?>">
</div>
<div class="price">
<?php echo getPrice($item["id"]); ?>
</div>
<div class="priceContainer"></div>
</div>
<?php
}
}
$conn->close();
?>
如果我需要添加任何内容,只需询问:)
**编辑:** 谢谢,我对功能进行了一些更改,我现在拥有的是:
function getPrice($id){
global $conn;
$sql = "SELECT MIN(price) FROM item_price WHERE size_id IN (SELECT id FROM item_size WHERE item_id =".$id.");";
$lowestprice = $conn->query($sql)->fetch_assoc();
return $lowestprice[0];
}
这会返回一个数组(yay现在返回一些东西),但是数组似乎是空的,那就是为另一个SO问题工作
谢谢!
答案 0 :(得分:0)
答案 1 :(得分:0)
之间缺少几行
$lowestprice = $conn->query($sql);
和
return $lowestprice;
你需要记录集的技术结果,就像你使用$ qresult一样。
答案 2 :(得分:0)
试试这个:
function getPrice($conn, $id)
{
$sql = "SELECT MIN(price) FROM item_price WHERE size_id IN ( " .
" SELECT id FROM item_size WHERE item_id =" . $id .
")";
$lowestprice = $conn->query($sql);
return $lowestprice;
}
您必须将MySQLi
连接作为输入包含在函数中才能生效。