标题有点具体,但最好的我可以在一行中解释。
我的问题基本上是,我在我的数据库中有一个表,我查询;
<?php
include 'connect.php';
$query = mysql_query("SELECT * FROM mobs WHERE zone='Darnolth' ORDER BY lvl ") or die(mysql_error());;
echo "<table border='1' cellpadding='2' cellspacing='0' width=800 id='mob' class='tablesorter'><thead>";
echo "<tr> <th> </th> <th>Mob Name</th> <th>Level</th> <th>Health</th> <th>Drops</th> <th>Effects</th> <th>Zone</th></tr></thead><tbody>";
while($row = mysql_fetch_array( $query )) {
echo "<tr><td>";
echo $row['image'];
echo "</td><td width=200>";
echo $row['mobname'];
echo "</td><td width=50>";
echo $row['lvl'];
echo "</td><td width=50>";
echo $row['health'];
echo "</td><td width=200>";
echo $row['drops'];
echo "</td><td width=100>";
echo $row['effects'];
echo "</td><td width=75>";
echo $row['zone'];
echo "</td></tr>";
}
echo "</tbody></table>";
?>
现在这一切都很好,但是drop row需要从我的数据库中的items表中提取所有项目的图像
所以它需要在items表上调用从名称中删除的行中的图像与上面查询中的mob名称相同。
我尝试在其中添加另一个查询,但没有做任何事情,我无法想到其他任何事情。
感谢。
尝试使用INNER JOIN来修改我的代码;
<?php
include 'connect.php';
$query = mysql_query("SELECT mobs.image, mobs.mobname, mobs.lvl, mobs.health, mobs.drops, mobs.effects, mobs.zone, misc.droppedby FROM mobs JOIN misc ON mobs.drops = misc.droppedby") or die(mysql_error());;
echo "<table border='1' cellpadding='2' cellspacing='0' width=800 id='mob' class='tablesorter'><thead>";
echo "<tr> <th> </th> <th>Mob Name</th> <th>Level</th> <th>Health</th> <th>Drops</th> <th>Effects</th> <th>Zone</th></tr></thead><tbody>";
// keeps getting the next row until there are no more to get
while($row = mysql_fetch_array( $query )) {
// Print out the contents of each row into a table
echo "<tr><td>";
echo $row['image'];
echo "</td><td width=200>";
echo $row['mobname'];
echo "</td><td width=50>";
echo $row['lvl'];
echo "</td><td width=50>";
echo $row['health'];
echo "</td><td width=200>";
echo $row['drops'];
echo "</td><td width=100>";
echo $row['effects'];
echo "</td><td width=75>";
echo $row['zone'];
echo "</td></tr>";
}
echo "</tbody></table>";
?>
但现在这只是导致我的小怪表加载每个小怪我的misc表中的项目数量,所以我有mob1 100次和mob2 100次等等,但它不会从misc表中拉出图像并将它们放在小怪表中的滴剂列中。
答案 0 :(得分:0)
您需要做的事情称为JOIN。它允许您在单个SQL SELECT查询中从多个表中提取数据。
例如,要获得每本书的作者,您可以
SELECT * from
book INNER JOIN author ON book.authorId = author.ID