从数据库中选择多行[php]

时间:2015-06-26 00:59:14

标签: php mysql sql

我目前只能从数据库中获取具有最高ID值的输出。

为了让您获得更好的视角,我无法获得具有最高自动增量的3 ID。因此,如果我将数据输入到我的数据库中10次,则会有10行,其中包含10个id,从1-10开始。

我想在HTML画布上只显示带有7-10(3个最高ID' s)的ID(我知道如何只用一行),但是我想要这样做。我混淆了如何排列3行以及我如何去做。这是我用于一行的当前代码:

 mysql_select_db($mysql_database, $con);

        $query = sprintf("SELECT * FROM games ORDER BY gid DESC LIMIT 1",
                             mysql_real_escape_string($h_team),
                             mysql_real_escape_string($a_team),
                             mysql_real_escape_string($g_date),
                             mysql_real_escape_string($g_time),
                             mysql_real_escape_string($g_place),
                             mysql_real_escape_string($gid));

        $result = mysql_query($query);

                while($row = mysql_fetch_assoc($result)) {
                    $home = $row['h_team'];
                    $away = $row['a_team'];
                    $date = $row['g_date'];
                    $time = $row['g_time'];
                    $place = $row['g_place'];
                    $id = $row['gid'];
                }

我正在使用" LIMIT 1"只显示最高ID,直到我弄清楚如何获得最高ID,然后显示出来。

任何帮助或想法都非常适合。

1 个答案:

答案 0 :(得分:0)

然后使用limit 3

select *
from games
order by gid desc
limit 3

然后:

while($row = mysql_fetch_assoc($result)) {
   $home[] = $row['h_team'];
   $away[] = $row['a_team'];
   $date[] = $row['g_date'];
   $time[] = $row['g_time'];
   $place[] = $row['g_place'];
   $id[] = $row['gid'];
}