2013-06-27 38 views
1

正如标题所示,我想隐藏项目是产品名称不存在。如果产品名称不存在,隐藏项目

这里的问题是。当它显示产品的用户,它实际上什么都不显示,其中//节目没有被放置,而不是显示具有产品名称的新产品。

所以有时它显示了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>'; 
    } 
    } 
+0

SELECT * FROM WHERE PRODUCT_NAME <> “” ORDER BY RAND()LIMIT 12 – iiro

+0

@iiro邮报,作为一个答案产品。 – Barmar

+0

顺便说一下,'ORDER BY RAND()'通常不是一个好主意。请参阅http://stackoverflow.com/questions/1244555/how-can-i-optimize-mysqls-order-by-rand-function替代。 –

回答

0

我建议干脆重写查询只返回具有产品名称的产品。

SELECT * FROM产品WHERE产品名称NOT NULL ORDER BY RAND()LIMIT 12

+0

这实际上是一个好主意,但是使用ORDER BY RAND(),它似乎不起作用。 –