正如标题所说,我想隐藏一个项目,因为该项目名称不存在。
这里的问题是.. 当它为用户显示产品时,它实际上在放置//show nothing 的地方什么也没显示,而不是显示具有产品名称的新产品。
所以有时显示 10 个产品,有时显示 5 个产品,这不是我想要的。
我希望它在没有产品名称的情况下显示新产品。
关于我在代码中所做更改的任何线索?
我当前的代码是:
从数据库中随机选取 12 个产品:
$dynamicList = "";
$sql = mysql_query("SELECT * FROM products ORDER BY RAND() LIMIT 12");
为用户显示产品:
if($product_name == ''){
//Show nothing
}else{
$dynamicList .=
'<table border="0" id="indexproducts" style="margin-left:22px; margin-bottom:20px;">
<tr>
<td id="indexproductfoto" align="center">
<a href="http://www.mysite.com/id/'.$id.'/'.$seo8.'/">
<img src="http://www.mysite.com/inventoryimages/'.$id.'.jpg" onerror="this.src=\'http://www.mysite.com/inventoryimages/x.jpg\';" />
</a>
</td>
</tr>
<tr>
<td id="indexproducttext2"><strong>'.$product_name.'</strong><br />
</td>
</tr>
<tr>
<td style="color:#F00" id="indexproducttext"><strong>Pris: '.round($price).':-</strong></td>
</tr>
<tr>
<td style="color:#F00" id="indexproducttext"><strong>(Exkl.moms: '.round($price1).':-)</strong></td>
</tr>
<tr>
<td id="indexproducttext"><a href="http://www.mysite.com/id/'.$id.'/'.$seo8.'/">Produktinformation</a></td>
</tr>
</table>';
}
}
最佳答案
正如我评论的那样
试试这个 SQL 查询
SELECT * FROM products WHERE IFNULL(productname, "") <> "" ORDER BY RAND() LIMIT 12
运算符在哪里<>
表示“不等于”,与 !=
相同因此,您查找名称不为空且名称不为 NULL 的所有产品。
http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#operator_not-equal
关于php - 如果产品名称不存在则隐藏项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17339349/