1 頁 (共 1 頁)

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

發表於 : 2005-09-30 19:33
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
可是存款的資料庫根金錢的資料庫又不一樣!

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

請各位大大幫忙小弟!

發表於 : 2005-09-30 20:01
吉川拓也
要作陣列讀取才行 ...
你用讀單一程式碼的方式來改當然只能看到單一結果啊@_@||

你可以參考我 這篇 炮製一下 :lol:

發表於 : 2005-09-30 20:37
hentaibbc
$userdata['user_id']指的是"登入者"的ID....
在phpBB2的程式碼中....幾乎都是這樣\r

用這個當做WHERE的依據...
那麼每一篇讀到的....
都是使用者自己....

發表於 : 2005-09-30 21:10
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';
}
就這樣~多簡單~

發表於 : 2005-09-30 21:29
吉川拓也
檔案是死的 , 活用才是正確之路啊 :-D
好幾次我都是自己看書鑽死胡同最後才豁然開朗啊 ~
此時一位 jt3 學長都會跟我說 書是死的 , 活用才會成長 :oops:

發表於 : 2005-10-01 16:19
w2812451
吉川拓也 寫:檔案是死的 , 活用才是正確之路啊 :-D
好幾次我都是自己看書鑽死胡同最後才豁然開朗啊 ~
此時一位 jt3 學長都會跟我說 書是死的 , 活用才會成長 :oops:
恩!懂了!不過有新的問題了!
看最上面那一篇@@

發表於 : 2005-10-01 21:56
心靈捕手
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>'; 
}

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

好難喔~難道要同時執行兩個SQL?

發表於 : 2005-10-01 22:55
心靈捕手
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';

發表於 : 2005-10-11 21:59
w2812451
抱歉把文章又拉了回來!因為後來發現捕手大大有回覆~剛剛試了這個方法完全不行!
因為如果我同時使用了phpbb_users 跟phpbb_bank兩個資料庫!
那麼排行的話,會同時有兩個使用者出現!
該怎麼解決?

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

或者您可以清楚列出 phpbb_bank 此資料表裏頭的所有欄位,
如此一來, 可能比較利於解決您的問題.