我正在尝试获取 5 位数据,其中 5 位来自 tbl_playerstats这些列是

StatsID

Score

Kills

Deaths

Rank

我正在努力解决 StatsID 链接到另一个名为 tbl_playerdata 的表
在这个表中 PlayerIDStatsID 相同,它们的值是数字,也在这个 tbl_playerdataSoldierName ,这是我试图代替 StatsID 的东西,最终目标是只有这些显示:
SoldierName

Score

Kills

Deaths

Rank

到目前为止,我的代码看起来像这样(减去数据库连接详细信息
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT StatsID, Score, Kills, Deaths, Rounds FROM tbl_playerstats Limit 10";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo "<br> Soldier: ". $row["StatsID"]. "<p> Score: ". $row["Score"]. "<p> Kills: ". $row["Kills"]. " <p>Deaths: " . $row["Deaths"] . $row["Rounds"] . "<br>";
    }
} else {
    echo "0 results";
}

$conn->close();

我用谷歌搜索过,看起来使用 JOIN 是可行的方法,我发现的示例对我不起作用,这可能是因为我不知道我想要做什么。

最佳答案

使用 StatsIDPlayerID 连接两个表

<?php
$sql = "SELECT tps.*, tpd.* FROM tbl_playerstats tps, tbl_playerdata tpd WHERE tps.StatsID = tpd.PlayerID Limit 10";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
  while($row = $result->fetch_assoc()) {
    echo "<br> Soldier: ". $row["SoldierName"]. "<p> Score: ". $row["Score"]. "<p> Kills: ". $row["Kills"]. " <p>Deaths: " . $row["Deaths"] . $row["Rounds"] . "<br>";
  }
} else {
  echo "0 results";
}?>

关于php - 2张表,3列需要1个值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45278028/

10-11 23:05