显示mysql中的记录/表。问题

时间:2018-03-21 14:24:03

标签: php mysql twitter-bootstrap

我想在我的php页面上显示来自mysql的数据。一切都运作良好,但......

我有两张桌子。球员和战斗。

在玩家我给了username,unique_id

在战斗中我有unique_id,杀死,死亡。

我希望拆分连接这两个表并使用此代码/表

显示它们

enter image description here

我的代码

 <?php  
 $connect = mysqli_connect("localhost", "root", "password", "dbname");  
 $query ="SELECT * FROM player ORDER BY unique_id DESC";  
 $result = mysqli_query($connect, $query);  
 ?>  
 <!DOCTYPE html>  
 <html>  
      <head>  
           <title>Player Data</title>  
           <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>  
           <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />  
           <script src="https://cdn.datatables.net/1.10.12/js/jquery.dataTables.min.js"></script>  
           <script src="https://cdn.datatables.net/1.10.12/js/dataTables.bootstrap.min.js"></script>            
           <link rel="stylesheet" href="https://cdn.datatables.net/1.10.12/css/dataTables.bootstrap.min.css" />  
      </head>  
      <body>  
           <br /><br />  
           <div class="container">  
                <h3 align="center"> Player Data</h3>  
                <br />  
                <div class="table-responsive">  
                     <table id="employee_data" class="table table-striped table-bordered">  
                          <thead>  
                               <tr>  
                                    <td>username</td>  
                                    <td>unique_id</td>  

                               </tr>  
                          </thead>  
                          <?php  
                          while($row = mysqli_fetch_array($result))  
                          {  
                               echo '  
                               <tr>  
                                    <td>'.$row["username"].'</td>  
                                    <td>'.$row["unique_id"].'</td>
                               </tr>  
                               ';  
                          }  
                          ?>  
                     </table>  
                </div>  
           </div>  
      </body>  
 </html>  
 <script>  
 $(document).ready(function(){  
      $('#employee_data').DataTable();  
 });  
 </script>

1 个答案:

答案 0 :(得分:1)

您可以在SQL中使用INNER JOIN来连接共享值上的两个表。

我假设unique_id中的值是两个表共有的列。

如果您将数据库查询更改为:

SELECT 
    player.unique_id,  
    player.username,
    combat.kills,
    combat.deaths
FROM 
    player
INNER JOIN 
    combat ON player.unique_id = combat.unique_id
ORDER BY 
    player.unique_id DESC

此查询将连接列unique_id具有相同值的两个表。

现在您可以像以前一样回复内容:

<td>'.$row["username"].'</td>  
<td>'.$row["unique_id"].'</td>
<td>'.$row["kills"].'</td>
<td>'.$row["deaths"].'</td>

您可以在此处详细了解INNER JOINhttp://www.mysqltutorial.org/mysql-inner-join.aspx