【发布时间】:2015-03-05 20:25:52
【问题描述】:
所以我试图通过从玩家表中获取我的 playerID 来填充下拉列表,同时与我的 Payments 表共享相同的 playerID。
当我把我的查询如下,它工作正常。
$sql = "SELECT playersID FROM players";
但是当我想将两个表连接在一起时,我得到一个空的下拉列表。
<?php
include "dbconnect.php";
$sql = "SELECT players.playersID FROM players INNER JOIN Payments ON Payments.playersID = players.playersID";
if (!$result = mysql_query($sql, $conn))
{
die('Error in querying the database' . mysql_error());
}
echo "<br><select name = 'listbox' id = 'listbox' onclick = 'populate()'>";
while ($row = mysql_fetch_array($result))
{
$playersID = $row['playersID'];
$allText = "$playersID,";
echo "<option value = '$allText'> $playersID</option>";
}
echo "</select>";
mysql_close($conn); ?>
注意我以前从未做过 INNER JOIN,所以这可能是一个简单的问题。该代码的目的是将支付信息输入表单并将数据保存到数据表中。我想在付款表中显示 playerID,以显示特定玩家为此产品付款。
干杯!
【问题讨论】:
-
发布两个表的示例数据源和
CREATE TABLE语句 -
@Alex 我事先创建了两张表,玩家表中充满了条目。付款表是一个新表,还没有条目。示例数据源,我不确定您说的是什么..
-
我之前发现this 非常有用。
-
@BudgieBr0phy 如果您在
payments中没有记录,那么ON Payments.playersID = players.playersID"会返回 0 条记录。这正是你所拥有的! -
@Alex 对,明白了。但我想做的是通过使用表单将记录添加到支付表中,当我选择一个 playerID 时,它将在我的支付表中显示 paymentID = 1 playerID = 4 如果这有意义的话。
标签: php mysql select inner-join