Php select from where limit

Ограничение количество выводимых записей MySQL

В этом уроке вы узнаете, как получить ограниченное количество записей из таблицы базы данных MySQL с помощью условия LIMIT.

Условие PHP MySQL LIMIT

Условие LIMIT используется для ограничения количества строк, возвращаемых оператором SELECT . Эта функция очень полезна для оптимизации времени загрузки страницы, а также для повышения читабельности веб-сайта. Например, вы можете разделить большое количество записей на несколько страниц, используя разбиение на страницы, где ограниченное количество записей будет загружено на каждую страницу из базы данных, когда пользователь запросит эту страницу, щелкнув ссылку разбиения на страницы.

Базовый синтаксис условия LIMIT может быть задан следующим образом:

Условие LIMIT принимает один или два параметра, которые должны быть неотрицательным целым числом:

  • Если указаны два параметра, первый параметр указывает смещение первой возвращаемой строки, то есть начальную точку, тогда как второй параметр указывает количество возвращаемых строк. Смещение первой строки равно 0 (а не 1).
  • В то время, когда указан только один параметр, он определяет максимальное количество строк, возвращаемых с начала набора результатов.

Например, чтобы получить первые 4 строки, вы можете использовать следующий запрос:

Чтобы получить строки от 16 до 25 (включительно), вы можете использовать оператор OFFSET :

В приведенном ниже SQL-запросе говорится: вернуть только 10 записей, начать с записи 16 (OFFSET 15):

Вы также можете использовать более короткий синтаксис для достижения того же результата:

Примеры ограничения результатов выбора

Давайте сделаем SQL-запрос, используя условие LIMIT в операторе SELECT , после чего мы выполним этот запрос, передав его функции PHP mysqli_query() , чтобы получить ограниченное количество записей. Рассмотрим следующую таблицу persons в БД demo:

Выбор данных из таблиц базы данных MySQL

Код PHP в следующем примере будет отображаться только две строки из таблицы persons:

Пример

 // Попытка выполнения запроса select $sql = "SELECT * FROM persons LIMIT 2"; if($result = mysqli_query($conn, $sql)) < if(mysqli_num_rows($result) >0)< echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; while($row = mysqli_fetch_array($result))< echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; > echo "
idfirst_namelast_nameemail
" . $row['id'] . "" . $row['first_name'] . "" . $row['last_name'] . "" . $row['email'] . "
"; // Закрыть набор результатов mysqli_free_result($result); > else < echo "Записей, соответствующих вашему запросу, не найдено."; >> else < echo "ОШИБКА: не удалось выполнить $sql. " . mysqli_error($conn); >// Закрыть соединение mysqli_close($conn); ?>
 // Попытка выполнения запроса select $sql = "SELECT * FROM persons LIMIT 2"; if($result = $mysqli->query($sql))< if($result->num_rows > 0)< echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; while($row = $result->fetch_array())< echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; > echo "
idfirst_namelast_nameemail
" . $row['id'] . "" . $row['first_name'] . "" . $row['last_name'] . "" . $row['email'] . "
"; // Free result set $result->free(); > else < echo "Записей, соответствующих вашему запросу, не найдено."; >> else< echo "ОШИБКА: не удалось выполнить $sql. " . $mysqli->error; > // Закрыть соединение $mysqli->close(); ?>
setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); > catch(PDOException $e)< die("ОШИБКА: не удалось подключиться. " . $e->getMessage()); > // Попытка выполнения запроса select try< $sql = "SELECT * FROM persons LIMIT 2"; $result = $pdo->query($sql); if($result->rowCount() > 0)< echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; while($row = $result->fetch())< echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; > echo "
idfirst_namelast_nameemail
" . $row['id'] . "" . $row['first_name'] . "" . $row['last_name'] . "" . $row['email'] . "
"; // Доступный набор результатов unset($result); > else < echo "Записей, соответствующих вашему запросу, не найдено."; >> catch(PDOException $e)< die("ОШИБКА: не удалось выполнить $sql. " . $e->getMessage()); > // Закрыть соединение unset($pdo); ?>

После выполнения сценария результат вывода будет выглядеть так:

+----+------------+-----------+----------------------+ | id | first_name | last_name | email | +----+------------+-----------+----------------------+ | 1 | Peter | Parker | peterparker@mail.com | | 2 | John | Rambo | johnrambo@mail.com | +----+------------+-----------+----------------------+

Источник

Читайте также:  Перестал работать php на хостинге
Оцените статью