php—按表的顺序从表中获取所需的行

62o28rlo  于 2021-06-17  发布在  Mysql
关注(0)|答案(3)|浏览(518)

我正在为一个显示数据库中的表的页面工作。假设我有100排。如何显示21-30排?
在表中,有一些字段,不仅是email、name和description。所以,我用 mysqli_fetch_assoc ```
for($num=21;$num<=30;$num++){
$row=mysqli_fetch_assoc($result);
echo "";
echo "".$num."";
echo "".$row['email']."";
echo "".$row['name']."";
echo "".$row['description']."";
echo "";
}

这个 `$num` 显示所需的数字,但表格本身显示的是从1到10的数据。我要显示21-30号的数据
x8diyxa7

x8diyxa71#

您已经可以使用sql查询(为了更快的性能)来修复代码,添加限制20、10(获取从第21行开始的10条记录)
但是如果您有其他逻辑要应用到代码上(就像您显示动态记录一样)

$row=mysqli_fetch_assoc($result);
for($num=0; $num<=$result->num_rows; $num++) {
    if($num>=21 && $num<=30){
        echo "<tr>";
        echo "<td>".$num."</td>";
        echo "<td>".$row['email']."</td>";
        echo "<td>".$row['name']."</td>";
        echo "<td>".$row['description']."</td>";
        echo "</tr>";
    }
}

你可以考虑的另一件事是使用foreach

$row=mysqli_fetch_assoc($result);
$num = 0;
foreach (range(21, 30) as $row) {
    $num++;

    echo "<tr>";
    echo "<td>".$num."</td>";
    echo "<td>".$row['email']."</td>";
    echo "<td>".$row['name']."</td>";
    echo "<td>".$row['description']."</td>";
    echo "</tr>";
}
kqlmhetl

kqlmhetl2#

请尝试使用sql查询,您在其中定义了行的限制,例如从行号开始到行号结束。我在下面编写了一个sql查询:
语法:

SELECT column1, column2, ...
FROM table_name
LIMIT offset, count;

例子:

SELECT * from MYTABLE LIMIT 20,10;
nkkqxpd9

nkkqxpd93#

两种可能性你可以这样做
第一 SELECT * from MYTABLE LIMIT 20, 10 第二

// 0,1,2,3....19 19 is record of 20
for($num=19;$num<=29;$num++){

 }

相关问题