2016-03-08 67 views
0

我是virtmart的新手。添加mysql查询至德玛

虽然试图将匹配添加到virtmart产品 我在"jjws5_virtuemart_products"数据库中创建新的字段,并将其称为views

然后我说我的PHP代码,我需要它出现的地方。

templates/mytemplate/html/com_virtuemart/productdetails/default.php:

<?php //views hits 
    mysql_query("UPDATE jjws5_virtuemart_products SET views=views+1 WHERE virtuemart_product_id = '$virtuemart_product_id'"); 
    $views_hits = mysql_query("SELECT views FROM jjws5_virtuemart_products WHERE virtuemart_product_id = '$virtuemart_product_id'"); 
    while($total_views = mysql_fetch_array($$views_hits)){ 
     echo "Hits: ".$total_views['views']; 
    } 
?> 

但是,它不显示任何。

我该怎么做才能显示它?

+0

你确定**你的用户参数是[妥善转义](http://bobby-tables.com/php)?这看起来好像有一个严重的[SQL注入漏洞](http://bobby-tables.com/)。我希望你不必在Virtuemart中使用['mysql_query'](http://php.net/manual/en/function.mysql-query.php),因为该功能在PHP7中被删除了。 – tadman

+0

对不起,我不明白你 如何在这 这是我在德尔马特或Joomla的第一个编程 –

回答

0

您使用变量来获取结果(可能只是一个错字)。

变化:

while($total_views = mysql_fetch_array($$views_hits)) 

在:

while($total_views = mysql_fetch_array($views_hits)) 

而且,在未来,要记得激活我们的PHP代码错误检查:

error_reporting(E_ALL); 
ini_set('display_error', 1); 

错误检查,我们的原始代码产生此错误:

PHP Warning: mysql_fetch_array() expects parameter 1 to be resource, null given in (...)

+0

谢谢,我编辑了这个,但仍然没有显示任何东西 –

+0

@MohamedMehanny所以你的查询失败。 1)你有没有激活错误检查?如果不是,那么做; 2)'$ virtuemart_product_id'的内容是什么?不要想象它,打印它看看是否如预期的那样; 3)在phpMyAdmin中重现您的查询以查看它是否有效 – fusion3k

+0

是的,我激活从joomla管理员到开发人员的错误检查,并使用您的代码,但没有显示任何东西,$ virtuemart_product_id是“jjws5_virtuemart_products”表中的主键,这个工作在phpMyAdmin当将“id”定义为任何产品时 –