如何从两个表中获取sql数据并打印到一个?

时间:2017-01-13 05:51:33

标签: php html mysql html-table

我是PHP和SQL的新手。我还在学习。 所以,我在我的数据库3表中有一个名为 ps_plr ps_plr_ids_name ps_plr_victms 的表。

  • ps_plr ,我需要专栏: 排名
  • ps_plr_ids_name ,我需要专栏: 名称
  • ps_plr_victms ,我需要2列: 杀死 死亡

在所有这些表中,我都有 plrid 列作为基础。

我需要输出一个html表,其中包含: 等级,姓名,杀戮和死亡

我尝试了以下可以打印排名和 plrid 的代码,但我并不是真的需要桌面上的 plrid ,正如我所说,就像找到我需要的其他表格的基础。

<?php
$servername = "localhost";
$username = "root";
$password = "********";
$dbname = "psychostats3_1";

$mysqli = new mysqli($servername,$username,$password,$dbname);

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query  = "SELECT ps_plr.rank, ps_plr.plrid FROM ps_plr;";
$query .= "SELECT ps_plr_ids_name.name FROM ps_plr_ids_name plrnk, ps_plr plrst;";
$query .= "WHERE plrid=name";


//select task.id, task.name, proj.id, proj.name
//from tasks task, projects proj
//where proj.id=task.project_id; 

/* execute multi query */
if ($mysqli->multi_query($query)) {
    do {
        /* store first result set */
        if ($result = $mysqli->store_result()) {
            while ($row = $result->fetch_row()) {
                printf("<tr><td>" . $row[0] . "</td>");
                printf("<td>" . $row['2'] . "</td></tr>");
            }
            $result->free();
        }
        /* print divider */
    } while ($mysqli->next_result());
}

/* close connection */
$mysqli->close();
?>

2 个答案:

答案 0 :(得分:0)

+-----------------+----------------+
| tutorial_author | tutorial_count |
+-----------------+----------------+
| mahran          |             20 |
| mahnaz          |           NULL |
| Jen             |           NULL |
| Gill            |             20 |
| John Poul       |              1 |
| Sanjay          |              1 |
+-----------------+----------------+

说这是一张表tcount_tbl 我的另一张桌子tutorials_tbl

+-------------+----------------+-----------------+-----------------+
| tutorial_id | tutorial_title | tutorial_author | submission_date |
+-------------+----------------+-----------------+-----------------+
|           1 | Learn PHP      | John Poul       | 2007-05-24      |
|           2 | Learn MySQL    | Abdul S         | 2007-05-24      |
|           3 | JAVA Tutorial  | Sanjay          | 2007-05-06      |
+-------------+----------------+-----------------+-----------------+

现在执行查询。

SELECT a.tutorial_id, a.tutorial_author, b.tutorial_count
    -> FROM tutorials_tbl a, tcount_tbl b
    -> WHERE a.tutorial_author = b.tutorial_author;

这就是我如何加入两个表,就像你没有提到整个列名所以我只是假设并给你一个简短的连接示例。您可以进行更多连接,如左连接等,从3个表中获取 Source fetching from 3 tables

答案 1 :(得分:0)

<table align="center" border="1" width="100%">
<tr>
<th>Rank</th>
<th>Name</th>
<th>Kills</th>
<th>Deaths</th>
</tr> 

   $res=mysql_query("SELECT c.* , p.*,d.* FROM ps_plr c,ps_plr_ids_name p,ps_plr_victms d WHERE c.plrid=p.plrid and c.plrid = d.plrid ");
    while($row=mysql_fetch_array($res))
    {
     ?>
        <tr>
        <td><p><?php echo $row[' Rank']; ?></p></td>
        <td><p><?php echo $row['Name']; ?></p></td>
        <td><p><?php echo $row['Kills']; ?></p></td>
        <td><p><?php echo $row['deaths']; ?></p></td>
        </tr>
        <?php
    }
    ?>
</table>

尝试希望这有效..