繁体   English   中英

PHP 使用 JOINS 显示来自 MySQL 的数据

[英]PHP displaying data from MySQL with JOINS

我使用 PHP 5.6 并且我有 php 错误和一切我没有。

我的 PHP 代码

$GetAllServers  = $db->select("SELECT * FROM panel_servers ORDER BY id ASC");
$GetAllGroups   = $db->select("SELECT * FROM panel_admin_groups ORDER BY id");
$GetAllAdmins   = $db->select("SELECT *, s.name server_name, g.name group_name, a.pid pid
    FROM panel_admins a 
    LEFT JOIN panel_players p ON a.pid = p.id 
    LEFT JOIN panel_admin_groups g ON a.gid = g.id 
    LEFT JOIN panel_countries c ON p.country = c.country_code 
    LEFT JOIN (SELECT `username`, `pid` FROM panel_players_username GROUP BY pid ORDER BY last_used DESC) u ON a.pid = u.pid 
        LEFT JOIN panel_servers s ON a.sid = s.id WHERE (TIMESTAMPDIFF(MINUTE, add_time, now()) < g.usetime OR g.usetime = 0) ORDER BY immunity DESC");

我的 HTML 代码

<?php
$Players = array();
foreach ((array)$GetAllAdmins as $admin)
    if(!in_array($admin['steamid'], $Players))
        array_push($Players, $admin['steamid']);
        $avatars = GetPlayersAvatars($Players);
?>
<?php foreach ((array) $GetAllAdmins as $admin) { 
    if(!empty($admin['steamid'])){?>
        <tr>
            <td class="coutryrow"><img src="<?=WEBSITE;?>/img/flag/<?=$admin['country_name'];?>.png" title="<?=$admin['country_name'];?>" class="flag"></td>
            <td>
                <a target="_blank" href="http://steamcommunity.com/profiles/<?=$admin['steamid'];?>">
                    <img src="<?=$avatars[$admin['steamid']]?>" class="player-avatar">
                    <?=(!empty($admin['player_username'])) ? htmlspecialchars($admin['player_username']) : htmlspecialchars($avatars['username-'.$admin['steamid']]);?>
                </a>
             </td>
             <td class="centerrow"><?=htmlspecialchars($admin['group_name']);?></td>
             <td class="centerrow"><?=htmlspecialchars($admin['server_name']);?></td>
             <td class="centerrow"><?=date(TIMEFORMAT, strtotime($admin['add_time']));?></td>
             <td class="centerrow"><a href="<?=$CurrentURL;?>edit/<?=intval($admin['aid']);?>/" class="btn btn-info btn-mini"><span class="icon"> <i class="icooo-on-edit"></i> </span><?= _("Edit");?></a></td>
         </tr>

         <?php } else {echo "<tr><td>-</td></tr>";} } ?>

我想在 HTML 中显示添加到数据库中的所有管理员的列表,但例如名称在一个表中,而标志在另一个表中。 如您所见,使用 JOINS 以及我想在 html 上显示的所有内容。

如果您希望在数据库中添加最后一个管理员,请使用此查询

$GetAllAdmins   = $db->select("SELECT steamid, s.name server_name, g.name group_name, a.pid pid FROM panel_admins a 
                                        LEFT JOIN panel_admin_groups g ON a.gid = g.id 
                                        LEFT JOIN panel_servers s ON a.sid = s.id WHERE (TIMESTAMPDIFF(MINUTE, add_time, now()) < g.usetime OR g.usetime = 0) ORDER BY immunity DESC");

您需要 3 列。 如果要添加过滤器,请将其添加到 WHERE 子句中

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM