设计“按桌面排序”查询表

时间:2016-01-08 11:57:43

标签: php css sql

我已经制作了一个脚本,通过desc 0,5 sql查询根据大多数积分给我前五名玩家 这是在一个表中,但它实际上并不像我要去做什么,它做的是它给表头的每一行,而不是它作为1表(see this screenshot

这是我的php和css:

<?php
    include('connect.php');
    $result = $db->prepare("SELECT * FROM `tbl_users` WHERE `credits` >'0' ORDER BY `credits` DESC LIMIT 0,5");
    $result->execute();
    for($i=0; $row = $result->fetch(); $i++){
?>

<!DOCTYPE html>
<html>

    <head>
        <link rel="stylesheet" href="style2.css">
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
        <link href='https://fonts.googleapis.com/css?family=Great+Vibes' rel='stylesheet' type='text/css'>
    </head>

    <body>

    <div class="floated_elements">

    <table>

    <thead>
    <tr>
    <th> ID </th>
    <th> Wie </th>
    <th> Hoeveel </th>
    <th> email </th>
    </tr>
    </thead>

    <tbody>

    <tr>
    <td><?php echo $row['userID']; ?></td>
    <td><?php echo $row['userName']; ?></td>
    <td><?php echo $row['credits']; ?></td>
    <td><?php echo $row['userEmail']; ?></td>
    </tr>

    </tbody>

    </table>


    <?php
    }
    ?>

    </div> <!-- Closing floated elements -->

    <script>
    $('table tr').each(function(){
    $(this).find('th').first().addClass('first');
    $(this).find('th').last().addClass('last');
    $(this).find('td').first().addClass('first');
    $(this).find('td').last().addClass('last');
    });

    $('table tr').first().addClass('row-first');
    $('table tr').last().addClass('row-last');
    </script>

    </body>
</html>

我发现 for 规则并试图应用它但没有真正给出正确的结果

编辑提供额外的代码原因

1 个答案:

答案 0 :(得分:0)

您已启动for循环并将所有内容都放入其中。这不是一个正确的方法。请尝试以下方法:

<?php
include('connect.php');
?>
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style2.css">
<script
    src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<link href='https://fonts.googleapis.com/css?family=Great+Vibes'
    rel='stylesheet' type='text/css'>
</head>
<body>
    <div class="floated_elements">
        <table>
            <thead>
                <tr>
                    <th>ID</th>
                    <th>Wie</th>
                    <th>Hoeveel</th>
                    <th>email</th>
                </tr>
            </thead>
            <tbody>
                <?php
                $result = $db->prepare("SELECT * FROM `tbl_users` WHERE `credits` >'0' ORDER BY `credits` DESC LIMIT 0,5");
                $result->execute();
                for($i=0; $row = $result->fetch(); $i++){ ?>
                <tr>
                    <td><?php echo $row['userID']; ?></td>
                    <td><?php echo $row['userName']; ?></td>
                    <td><?php echo $row['credits']; ?></td>
                    <td><?php echo $row['userEmail']; ?></td>
                </tr>
                <?php } ?>
            </tbody>
        </table>
    </div>
    <script>
    $('table tr').each(function(){
        $(this).find('th').first().addClass('first');
        $(this).find('th').last().addClass('last');
        $(this).find('td').first().addClass('first');
        $(this).find('td').last().addClass('last');
    });
    $('table tr').first().addClass('row-first');
    $('table tr').last().addClass('row-last');
    </script>
</body>
</html>