显示登录用户的查询结果

时间:2014-09-19 13:03:15

标签: php mysqli

我在上一个问题上得到了很大的帮助,有人指示我去了解数据库表格和内容,从那时起我就一直在讨论大部分被困的事情!

不幸的是,我已经遇到了另一个我无法解决的问题。

我可以合并两个表并获得结果,但我似乎无法获得登录用户的结果。例如,我显示了金币的数量'用户在左上角,我有7个用户分配了100金币,我只希望在黄金所属的用户登录时看到它们,如果你找到了我?无论是否登录,这里的内容始终如一:http://imgur.com/kgqgnPc

这里是代码

$sql = 'SELECT `stats`.`id`, `stats`.`gold`, `users`.`id` FROM stats, users WHERE username =     username';
$con=mysqli_connect("localhost","root","","game");
mysqli_select_db($con,'game');
$retval = mysqli_query($con,$sql);
if(! $retval )
{
die('Could not get data: ' . mysql_error());
}
while($row = mysqli_fetch_array($retval, MYSQL_ASSOC))
{
echo "Gold :{$row['gold']}  <br> ".

     "--------------------------------<br>";

我90%确定与#34; select / from / where&#34;但是我做了大量的研究并且做不到:(

数据库结构:http://imgur.com/DR40iv8(对不起,我不知道如何在没有命令行的情况下获取它)

2 个答案:

答案 0 :(得分:1)

我看到你在一张桌子里有金牌,在另一张桌子里有用户。黄金表中的黄金应该指向用户拥有黄金的东西。例如,owner_id指向用户id。然后你应该能够这样做:

$ sql =&#34; SELECT stats.id,stats.gold,users.id,users.username FROM stats,users WHERE users.username =&#39; $ username&#39; AND stats.owner_id = users.id&#34 ;;

这告诉用户使用$ username中指定的用户名查找,并且owner_id的gold与匹配该用户名的用户ID相同。

希望这有帮助

答案 1 :(得分:0)

尝试:

SELECT `stats`.`id`, `stats`.`gold`, `users`.`id` FROM stats, users WHERE stats.username =     users.username

由于username对两个表都是通用的(我假设),因此明确说明来自哪个表username非常重要。

编辑添加:

您仍然需要从连接表的结果中指定所需的用户名。

$sql = 'SELECT `stats`.`id`, `stats`.`gold`, `users`.`id` FROM stats, users WHERE `stats`.username =     `users`.username AND `users`.`'.$yourUserVariable.'`;