1 頁 (共 1 頁)

[問題]關于把人氣指數加入到memberlist裏麵!

發表於 : 2003-07-12 15:50
iwill
竹貓對在下的幫助實在是很大,這裏感謝下先!!!

php2.04,加裝人氣指數。現在有需要把人氣指數加到memberlist裏麵以方便查詢。我自己的想法是脩改memberlist.php和memberlist.tpl這兩個文件應該就可以暸,但試暸很多次都不成功。

竹貓的人氣指數自身不是數據庫裏麵的變數,所以貼變數名沒用,隻能是粘貼全部的代碼進到memberlist.php裏麵去:

代碼: 選擇全部

// RPG Ranking Hack 
   if($postrow[$i]['user_id'] != ANONYMOUS ) 
   { 
      $sql = "SELECT COUNT(topic_id) AS count_topics, " . 
             "SUM(topic_replies) AS sum_topic_replies, " . 
             "SUM(topic_views) AS sum_topic_views " . 
             "FROM " . TOPICS_TABLE . " " . 
             "WHERE topic_poster = " . $postrow[$i]['user_id']; 

                $result = $db->sql_query($sql); 
                $rr_row = $db->sql_fetchrow($result); 

                // 發表的主題總數 
                $count_topics = $rr_row['count_topics']; 

                // 所有主題的回應總數 
                $sum_topic_replies = $rr_row['sum_topic_replies']; 

                // 主題人氣(觀看數) 
                $sum_topic_views = $rr_row['sum_topic_views']; 

      $profiledata = get_userdata_from_id($postrow[$i]['user_id']); 

                // 發文總數 
                $sum_posts = $profiledata['user_posts']; 

                // 回應文章總數 = 發文總數 - 發表的主題總數 
                $count_replies = $sum_posts - $count_topics; 

                                // 魅力值 = (發表的主題總數*100 + 所有主題的回應總數*5 + 回應文章總數*100 + 主題人氣(觀看數)) / ((發文總數+1)*100) 
      $rr_hack = ($count_topics * 100 + $sum_topic_replies * 5 + $count_replies * 100 + $sum_topic_views) / (($sum_posts+1)*100); 

                // 取小數點後一位 
                $rr_hack = "魅力值: " . sprintf("%01.2f", $rr_hack); 
   } 
   else 
   { 
      $rr_hack = "";    
   }
脩改暸很多次,可能是會員列錶隻能顯示一個用戶;最最正常的是已經可以顯示人氣指數暸,但是全部是0,在下實在不曉得是什么地方齣暸問題,還懇望高手指點一下!感激萬分!!!
?>[/php]

發表於 : 2003-07-12 15:57
godbless
你的問題其實很簡單\r

只要把人氣指數的計算公式仿照虛擬貨幣或是點數寫入資料庫中

放在phpbb_users這個table下

然後再將相關參數寫入想要顯示的頁面下,便可以有這樣的顯示功能\r

倘使,僅是單純的將相關變數寫死在檔案裡面\r

那自然僅能顯示第一個會員的狀況

發表於 : 2003-07-12 19:54
iwill
十分的感謝godbless的囬復,但是在下不是很懂mysql,不曉得應如何去寫,還請godbless詳細的講一下!另外,寫入資料庫中之后在viewtopic.php裏麵是否也就直接可以調用變數而不需要上麵的代碼暸呢?還望見告,感激!!!

發表於 : 2003-07-13 00:41
godbless
我沒試過~

發表於 : 2003-07-19 17:42
iwill
這個問題得不到解決的方法真的很遺憾。個人認為,竹貓的人氣指數的公式非常的好,是很好的用戶髮言的質量于數量的結閤體,甚至應該比虛擬貨幣更加需要加入到menberlist裏麵以方便排列。不過好像大多數的站長並不是這樣想的,不曉得到底有沒有辦法解決暸呢,如果有的話,還請見告,感謝萬分!!!

發表於 : 2003-07-19 18:00
小竹子
嗯..........概念上來說,應該是參考會員列表的檔案然後在參考 *.TPL 的風格檔,然後加入就可以了,不過沒測試過^^!!!

發表於 : 2003-07-19 18:17
iwill
小竹子大大,從理論上看是醬紫的,我也嘗試暸很多次,開始的時候並沒有把南宮大大的計算公式放到memberlist.php裏麵去,而是直接調用rr_hack,失敗時候髮現,rr_hack並不是mysql裏麵的變數,它需要調用其他幾個變數進行計算之后的結果。而在viewtopic.php裏麵是直接有這個公式的,于是我就依法砲製,把這個計算的公式放到暸memberlist.php裏麵,並且脩改memberlist.tpl。于是顯現暸兩種情況,一種是如果把公式放在檔案的幾乎末尾的地方,memberlist隻能顯示一個用戶的名字暸。如果放在前麵(和其他幾個要顯示的變數一起),顯示是正常的,但是好像公式沒有工作,所有用戶的人氣指數顯示都是零。godbless大大的想法也是很正確的,但是需要脩改資料庫,並且我想假如脩改之后,viewtopic.php裏麵也要相應的脩改暸,因為變數已經存在。到底這個問題如何解決,在下非常的期待!

btw:在下來自大陸浙江杭州,因為字碼的問題,我打的繁體中文可能有點怪怪的,還請見諒!

發表於 : 2003-07-19 18:30
御津闇慈
首先
要先把指數寫入資料庫\r
(詳細方式我忘記了~~~)

發表於 : 2003-07-22 11:26
幻狼神威
最簡單的方式就是.......

再裝一次這個MOD,不過不同的是,要把原本要放到viewtopic.php的東東,改放到memberlist.php中,不過位置你可能要自己找!^^"

相對應的tpl檔亦同,格式你也是要自己修改.......

這樣不用動到資料庫,應該簡單多了吧??

發表於 : 2003-07-28 14:31
iwill
thanks!!!!!!!!
I will try it .