2016-03-08 69 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」定義爲任何產品時 –