[問題]如何在RPG的樂透中心,加入虛擬銀行之存款

phpBB 2 MOD Support
無論是官方或非官方認證之外掛,安裝與使用問題討論。
(發表文章請按照公告格式發表,違者砍文)

版主: 版主管理群

主題已鎖定
w2812451
星球公民
星球公民
文章: 255
註冊時間: 2005-07-16 21:38

[問題]如何在RPG的樂透中心,加入虛擬銀行之存款

文章 w2812451 »

第一個問題已經解決了,現在換第二個!
我上次有提到在viewtopic.php加入其他作者的銀行存款,
現在跑到樂透中心去了!
這次他沒有poster_id
而是直接用資料庫內的檔案進行排名

代碼: 選擇全部

$sql = 'SELECT username, (user_money) as money_total, user_money, user_posts, user_id FROM phpbb_users ORDER BY 2 DESC LIMIT 0, 10';
if( !($result = $db->sql_query($sql)) )
{
	message_die(GENERAL_ERROR, '無法取得富豪列表!!', '', __LINE__, __FILE__, $sql);
}

if ( $row = $db->sql_fetchrow($result) )
{
	$i = 1;
	$moneylist = '<table class="forumline" width="80%" cellspacing="1" cellpadding="3" border="0">
		<tr><td align="center" class="catLeft"><b><span class="gen">#</span></b></td>
		<td align="center" class="catLeft"><b><span class="gen">富豪名稱</span></b></td>
		<td align="center" class="catLeft"><b><span class="gen">?#123;金</span></b></td>
		<td align="center" class="catLeft"><b><span class="gen">存款功能</span></b></td>
		<td align="center" class="catLeft"><b><span class="gen">?#93;產總額</span></b></td>
		<td align="center" class="catLeft"><b><span class="gen">發表篇數</span></b></td></tr>';
	do
	{
		$moneylist .= '<tr><td class="row3" align="center"><span class="gensmall">' . $i .
				'</span></td><td class="catLeft"><span class="gensmall">' . $row['username'] .
				'</span></td><td align="right" class="catLeft"><span class="gensmall">' . number_format($row['user_money']) .
				'</span></td><td align="right" class="catLeft"><span class="gensmall">功能暫停'.
				'</span></td><td align="right" class="catLeft"><span class="gensmall">' . number_format($row['money_total']) .
				'</span></td><td align="right" class="catLeft"><span class="gensmall">' . $row['user_posts'] .
				'</span></td></tr>';
		$i++;
	}
	while ( $row = $db->sql_fetchrow($result) );
	$moneylist .= '</table>';
}
上面有看到功能暫停這個東西,其實我是想把它弄成顯示前十名玩家的bank
可是她是直接用phpbb_users內的玩家金錢,文章,財產總額進行排名
金錢和文章大家都知道
財產總額則是\r
金錢+存款\r
可是存款的資料庫根金錢的資料庫又不一樣!

所以...............
混亂~

請各位大大幫忙小弟!
最後由 w2812451 於 2005-10-01 16:18 編輯,總共編輯了 2 次。
吉川拓也
竹貓忠實會員
竹貓忠實會員
文章: 1215
註冊時間: 2003-02-09 18:24
來自: [ G.I.T ]
聯繫:

文章 吉川拓也 »

要作陣列讀取才行 ...
你用讀單一程式碼的方式來改當然只能看到單一結果啊@_@||

你可以參考我 這篇 炮製一下 :lol:
善用 搜尋 可以解決您 90% 的問題
頭腦清晰,選擇正確。 (╯▔︹▔)╯~╘═╛
頭像
hentaibbc
版面管理員
版面管理員
文章: 342
註冊時間: 2005-09-01 18:01

文章 hentaibbc »

$userdata['user_id']指的是"登入者"的ID....
在phpBB2的程式碼中....幾乎都是這樣\r

用這個當做WHERE的依據...
那麼每一篇讀到的....
都是使用者自己....
w2812451
星球公民
星球公民
文章: 255
註冊時間: 2005-07-16 21:38

文章 w2812451 »

非常完整的做到了!
感謝第二位大大的提醒,不然就會照著吉川大大的方法在那裡滾來滾去......
因為phpbb_bank中的cash是有關開戶型的
他並非放在phpbb_users內!
所以第一個方法完全行不通
我照著自己的方法做一點點的修正就完成了!

原本的改為\r

代碼: 選擇全部

$sql = "SELECT * FROM " . STOCK_BANK_TABLE . " WHERE account_id = ".$postrow[$i]['poster_id'];
if( !($result = $db->sql_query($sql)) )
{
	message_die(GENERAL_ERROR, 'Could not query categories list', '', __LINE__, __FILE__, $sql);
}
$bank_row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);

if( empty($bank_row['cash']) )
{
$bank_row['cash'] = '0';
}
就這樣~多簡單~
吉川拓也
竹貓忠實會員
竹貓忠實會員
文章: 1215
註冊時間: 2003-02-09 18:24
來自: [ G.I.T ]
聯繫:

文章 吉川拓也 »

檔案是死的 , 活用才是正確之路啊 :-D
好幾次我都是自己看書鑽死胡同最後才豁然開朗啊 ~
此時一位 jt3 學長都會跟我說 書是死的 , 活用才會成長 :oops:
善用 搜尋 可以解決您 90% 的問題
頭腦清晰,選擇正確。 (╯▔︹▔)╯~╘═╛
w2812451
星球公民
星球公民
文章: 255
註冊時間: 2005-07-16 21:38

文章 w2812451 »

吉川拓也 寫:檔案是死的 , 活用才是正確之路啊 :-D
好幾次我都是自己看書鑽死胡同最後才豁然開朗啊 ~
此時一位 jt3 學長都會跟我說 書是死的 , 活用才會成長 :oops:
恩!懂了!不過有新的問題了!
看最上面那一篇@@
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8547
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

To w2812451:

以下的修改, 提供您參考:
ps.
假設您的" 存款" 欄位是" user_bank".
#
#-----[ OPEN ]-----
#

代碼: 選擇全部

rpg/gamble.php
#
#-----[ FIND ]-----
#

代碼: 選擇全部

$sql = 'SELECT username, (user_money) as money_total, user_money, user_posts, user_id FROM phpbb_users ORDER BY 2 DESC LIMIT 0, 10';
#
#-----[ REPLACE WITH ]-----
#
$sql = 'SELECT username, (user_money+user_bank) as money_total, user_money, user_bank, user_posts, user_id FROM phpbb_users ORDER BY 2 DESC LIMIT 0, 10';
#
#-----[ FIND ]-----
#

代碼: 選擇全部

if ( $row = $db->sql_fetchrow($result) ) 
{ 
   $i = 1; 
   $moneylist = '<table class="forumline" width="80%" cellspacing="1" cellpadding="3" border="0"> 
      <tr><td align="center" class="catLeft"><b><span class="gen">#</span></b></td> 
      <td align="center" class="catLeft"><b><span class="gen">富豪名稱</span></b></td> 
      <td align="center" class="catLeft"><b><span class="gen">?#123;金</span></b></td> 
      <td align="center" class="catLeft"><b><span class="gen">存款功能</span></b></td> 
      <td align="center" class="catLeft"><b><span class="gen">?#93;產總額</span></b></td> 
      <td align="center" class="catLeft"><b><span class="gen">發表篇數</span></b></td></tr>'; 
   do 
   { 
      $moneylist .= '<tr><td class="row3" align="center"><span class="gensmall">' . $i . 
            '</span></td><td class="catLeft"><span class="gensmall">' . $row['username'] . 
            '</span></td><td align="right" class="catLeft"><span class="gensmall">' . number_format($row['user_money']) . 
            '</span></td><td align="right" class="catLeft"><span class="gensmall">功能暫停'. 
            '</span></td><td align="right" class="catLeft"><span class="gensmall">' . number_format($row['money_total']) . 
            '</span></td><td align="right" class="catLeft"><span class="gensmall">' . $row['user_posts'] . 
            '</span></td></tr>'; 
      $i++; 
   } 
   while ( $row = $db->sql_fetchrow($result) ); 
   $moneylist .= '</table>'; 
}
#
#-----[ REPLACE WITH ]-----
#

代碼: 選擇全部

if ( $row = $db->sql_fetchrow($result) ) 
{ 
   $i = 1; 
   $moneylist = '<table class="forumline" width="80%" cellspacing="1" cellpadding="3" border="0"> 
      <tr><td align="center" class="catLeft"><b><span class="gen">#</span></b></td> 
      <td align="center" class="catLeft"><b><span class="gen">富豪名稱</span></b></td> 
      <td align="center" class="catLeft"><b><span class="gen">?#123;金</span></b></td> 
      <td align="center" class="catLeft"><b><span class="gen">存款</span></b></td> 
      <td align="center" class="catLeft"><b><span class="gen">?#93;產總額</span></b></td> 
      <td align="center" class="catLeft"><b><span class="gen">發表篇數</span></b></td></tr>'; 
   do 
   { 
      $moneylist .= '<tr><td class="row3" align="center"><span class="gensmall">' . $i . 
            '</span></td><td class="catLeft"><span class="gensmall">' . $row['username'] . 
            '</span></td><td align="right" class="catLeft"><span class="gensmall">' . number_format($row['user_money']) . 
            '</span></td><td align="right" class="catLeft"><span class="gensmall">' . number_format($row['user_bank']) . 
            '</span></td><td align="right" class="catLeft"><span class="gensmall">' . number_format($row['money_total']) . 
            '</span></td><td align="right" class="catLeft"><span class="gensmall">' . $row['user_posts'] . 
            '</span></td></tr>'; 
      $i++; 
   } 
   while ( $row = $db->sql_fetchrow($result) ); 
   $moneylist .= '</table>'; 
}
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
w2812451
星球公民
星球公民
文章: 255
註冊時間: 2005-07-16 21:38

文章 w2812451 »

嗯!我的想法和你一樣簡單!
重點是銀行的存款並非放在phpbb_users內!
而是放在phpbb_bank內\r
如果我依照你的方式做,會發生錯誤的~
因為phpbb_users內並沒有存款啊~

好難喔~難道要同時執行兩個SQL?
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8547
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

w2812451 寫:嗯!我的想法和你一樣簡單!
重點是銀行的存款並非放在phpbb_users內!
而是放在phpbb_bank內\r
如果我依照你的方式做,會發生錯誤的~
因為phpbb_users內並沒有存款啊~

好難喔~難道要同時執行兩個SQL?
可能是虛擬銀行的版本不同,
所以產生 user_bank 的地方不同.

如果您的 user_bank 是在 phpbb_bank 裡頭的話,
那麼上頭的 $sql 語法, 可能要更改如下:
$sql = 'SELECT u.username, (u.user_money+b.user_bank) as money_total, u.user_money, b.user_bank, u.user_posts, u.user_id FROM " . USERS_TABLE . " u, " . BANK_TABLE . " b ORDER BY 2 DESC LIMIT 0, 10';
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
w2812451
星球公民
星球公民
文章: 255
註冊時間: 2005-07-16 21:38

文章 w2812451 »

抱歉把文章又拉了回來!因為後來發現捕手大大有回覆~剛剛試了這個方法完全不行!
因為如果我同時使用了phpbb_users 跟phpbb_bank兩個資料庫!
那麼排行的話,會同時有兩個使用者出現!
該怎麼解決?
故天將降大任於是人也,必先苦其心志,勞其筋骨,餓其體膚,空乏其身,行拂亂其所為,所以動心忍性,曾益其所不能。然後知生於憂患而死於安樂也。
☆╮¥藍 天 星 雨£╭★
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8547
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

w2812451 寫:抱歉把文章又拉了回來!因為後來發現捕手大大有回覆~剛剛試了這個方法完全不行!
因為如果我同時使用了phpbb_users 跟phpbb_bank兩個資料庫!
那麼排行的話,會同時有兩個使用者出現!
該怎麼解決?
當您同時使用兩個資料表時, 您必須去指定( WHERE) 相關的欄位;
那個語法只是給您參考, 畢竟我並不清楚, 您加入此銀行外掛後, 所建立的資料表裡頭, 究竟有哪些欄位? :roll:

或者您可以清楚列出 phpbb_bank 此資料表裏頭的所有欄位,
如此一來, 可能比較利於解決您的問題.
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
主題已鎖定

回到「外掛問題討論」