0

我需要一个 PHP 脚本,它可以从 mysql 表中提取数据(玩家 ID)(到目前为止我知道该怎么做),然后使用该玩家 ID(1-5 位数字)在另一个表中找到相应的玩家名称。

基本上我需要显示哪个玩家在网站上发布了哪个消息。

这是脚本:

<?php
include('mysql_connection.php');

$c = mysqlConnect();

$locale = $_GET['locale'];
$last_bulletins_id = $_GET['bulletins_id'];

sendQuery ("set character_set_results='utf8'"); 
sendQuery ("set collation_connection='utf8_general_ci'"); 

if(strcmp($locale,"en") != 0)
    $locale = "en";
$result = sendQuery("SELECT * FROM bulletins WHERE id > ".$last_bulletins_id." and locale = '".$locale."' ORDER BY id DESC LIMIT 10");
echo '<table width=\"100%\">';
while($row = mysql_fetch_array($result, MYSQL_NUM))
{
    echo '<tr><td width=\"100%\"><b>Author: </b></td></tr>';
    echo '<tr><td width=\"100%\"><b>Date: </b>'.$row[2].'</td></tr>';
    echo '<tr><td width=\"100%\">'.nl2br($row[4]).'</td></tr>';
    echo '<tr><td width=\"100%\"><hr style="height: 2px; border: none; background: #515151;"></td></tr>';
}
echo '</table>';

mysqlClose($c);
?>

但是,消息行没有玩家姓名。只有他的身份证。他的名字保存在另一个数据库中。所以我不得不以某种方式提取ID,用它在另一个表中找到相应的名称并显示相应的名称。

使用什么功能来做到这一点?

4

3 回答 3

1

第一个 DB:FDB ---> 表 'user' --> 列 'user_id'

第二个数据库:SDB ---> 表“用户”-> 列“用户 ID,用户名”

SELECT FDB.user.user_id, SDB.user.user_name 
FROM FDB.user, SDB.user
WEHRE FDB.user.user_id = SDB.user.user_id
于 2012-11-30T11:08:18.697 回答
1

如果玩家名称在同一个数据库中并且只是另一个表中,您可以为此使用连接

SELECT b.*, p.username
FROM bulletins b
join players p on p.user_id = b.user_id
WHERE b.id > $last_bulletins_id
      and b.locale = '$locale'
ORDER BY b.id DESC
LIMIT 10
于 2012-11-30T10:29:50.340 回答
0

在你JOIN的mysql查询中使用ceep player name和Id的表

于 2012-11-30T10:30:04.600 回答