我有点麻烦。我想检索$ tbl_name_2中列出的信息而不会弄乱登录。不确定如何做到这一点。我是自学成才,不太了解php和mysql。这是我的一些代码
<?php
session_start();
$host="";
$username="";
$password="";
$db_name="player";
$tbl_name="info";
$tbl_name_2="primary";
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$sql="SELECT $tbl_name.* FROM $tbl_name WHERE userid='$userid' and passid='$passid'";
$result=mysql_query($sql);
while($rows=mysql_fetch_array($result)):
//From $tbl_name
$id = $rows['id'];
$cash = $rows['cash'];
$level = $rows['level'];
//From $tbl_name_2 Primary
$name = $row['name'];
$buy = $row['buy'];
?>
<p>
<?php echo $_SESSION["userid"]; ?>[<?php echo "$id"; ?>]
</p>
<p>
<?php if ($cash < 0): ?>
<span> -$<?php echo ($cash * -1); ?></span>
<?php else: ?>
<span> $<?php echo $cash; ?></span>
<?php endif; ?>
</p>
<p>
<?php echo $name ; ?>
</p>
<?php
endwhile;
mysql_close();
?>
以下是关于表格的一些信息:
info table
id userid cash level primaryid
----------------------------------------------
1 user1 100 1 2
2 user2 150 2 2
3 user2 300 4 1
primary table
primaryid name buy sale
------------------------------------
1 AR15 10 5
2 M16 50 10
我想做的是:
userid level cash name bought for
------------------------------------------------
user1 1 100 M16 50
并且能够将每个玩家所拥有的任何项目放在我的页面上的任何位置。
答案 0 :(得分:0)
查看使用JOINS,以便从多个表中检索值,查看http://dev.mysql.com/doc/refman/5.0/en/join.html
答案 1 :(得分:0)
这个问题有点难以理解,但我认为你要做的是:
从第一个表(信息)获取用户信息(ID,现金和级别),但您也希望从第二个表(主要)中获取该名称。
要实现此目的,您必须使用SQL JOIN。为了能够连接表,您必须在第二个表中有一个标识符,这将创建指向第一个表中特定行的链接。
示例:
Table1
id cash level
----------------------
1 5 2
2 10 4
Table2
id infoid name
----------------------
1 2 Robin
2 1 Adam
使用这种表格布局,您可以轻松编写类似这样的SQL查询:
SELECT Table1.id, Table1.cash, Table1.level, Table2.name FROM Table1 INNER JOIN Table2 ON Table1.id = Table2.infoid
该查询将返回table1和table2中的数据,方法是将table2中的infoid与table1中的id相同。
回报将是:
id cash level name
1 5 2 Adam
2 10 4 Robin
有一些很好的例子