Получить нужные строки из таблицы по порядку - PullRequest
0 голосов
/ 27 декабря 2018

Я работаю на странице, где он показывает таблицы из базы данных.Допустим, у меня есть 100 строк.Как показать 21-30-й ряд?

В таблице есть несколько полей, не только адрес электронной почты, имя и описание.Итак, я использовал mysqli_fetch_assoc

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

. $num показывает желаемое число, но сама таблица показывает данные с 1-го по 10-е.Я хочу, чтобы он показывает данные с 21 по 30

Ответы [ 3 ]

0 голосов
/ 27 декабря 2018

Пожалуйста, попробуйте с SQL-запросом, где вы определили ограничение количества строк, таких как начало от строки № до конца строки №.Я написал один SQL-запрос ниже:

Синтаксис :

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

Пример :

 SELECT * from MYTABLE LIMIT 20,10;
0 голосов
/ 27 декабря 2018

Вы уже можете исправить свой код с помощью SQL-запросов (для повышения производительности), добавив LIMIT 20, 10 (получите 10 записей, начинающихся со строки 21)

, но если у вас есть другая логика, которая будет применяться к вашему коду (как если бы вы отображали динамические записи)

$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>";
}
0 голосов
/ 27 декабря 2018

Вы можете сделать это двумя способами

Первый

SELECT * from MYTABLE LIMIT 20, 10

Второй

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

 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...