我使用它来显示来自Wordpress中查询数据库的信息。它显示正确的信息,但它循环次数太多。它设置为从SELECT查询显示,并且根据db的最后一个条目,它似乎是每个条目打印的是双倍还是三倍。
foreach ($result as $row) {
echo '<h5><i>'.$row->company.'</i> can perform your window installation for <i>$'.$row->cost.'</i><br>';
echo 'This price includes using<i> '.$row->material.'</i> as your material(s)<br>';
echo '<hr></h5>';
}
有谁知道可能产生此错误的原因是什么? 感谢
为该脚本提供支持的查询是:
$result = $wpdb->get_results( "SELECT bp.*, b.company
FROM `windows_brands_products` bp
LEFT JOIN `windows_brands` b
ON bp.brand_id = b.id
JOIN Windows_last_submissions ls
JOIN windows_materials wm
JOIN Windows_submissions ws
WHERE ws.username = '$current_user->user_login'
AND bp.width = ROUND(ls.width)
AND bp.height = ROUND(ls.height)
AND bp.material IN (wm.name)
AND bp.type = ls.type
AND IF (ls.minimumbid != '0.00',bp.cost BETWEEN ls.minimumbid AND ls.maximumbid,bp.cost <= ls.maximumbid)
ORDER BY b.company ASC");
我似乎无法看到副本,但我同意它必须存在。 编辑 - 当我将WHERE子句替换为WHERE ws.username =&#39;密码&#39; ,它仍然重复。每次结果都有用户名=&#39;密码&#39;它会显示结果。 ,并显示两次设置。
答案 0 :(得分:0)
如果您使用MySQLi,我认为您需要以下内容:
while ($row = $result->fetch_object()) {
echo '<h5><i>'.$row->company.'</i> can perform your window installation for <i>$'.$row->cost.'</i><br>';
echo 'This price includes using<i> '.$row->material.'</i> as your material(s)<br>';
echo '<hr></h5>';
}
答案 1 :(得分:0)
我的查询中的冗余JOIN子句几乎从两个表中拉出相同的结果(其中一个只是另一个的VIEW)。