Intereting Posts
Точно определите тип ОС, на котором работает PHP. Не удается подключиться к GMail SMTP (PHPMailer) – проверка сертификата не выполнена Как отсортировать столбец по имени, по возрастанию и описанию Почему PHP-код выполняется перед HTML? Преобразуйте эту строку в datetime Каскадные ячейки выбора с Backbone.js несколько функций – одна большая функция в PHP? Как заставить ssl в codeigniter? Как усечь строку в PHP до предложения, ближайшего к определенному числу символов? parse csv (данные заключены в кавычки), используя fgetcsv () не работает должным образом Объединяйте дни, где часы работы аналогичны Как установить Pdftk на моем сервере? Установите корень документа в приложении Zend Framework 1.12.x в службе Azure Cloud Service symfony2 добавить динамический параметр для маршрутизации, попробуйте с помощью пользовательского загрузчика CodeIgniter все страницы перенаправляются на главную страницу?

Mysqli fetch array nth row

У меня есть следующий код, который извлекает одну строку:

$query = "SELECT * FROM translations WHERE iddoc = '$id' AND submitted = 1;"; $result = mysqli_query($query); $row = mysqli_fetch_array($result); 

Я знаю, что это полезно в цикле while, где вы можете просто просмотреть результаты.

Но мне нужно уметь захватывать определенные строки, соответствующие этому условию. Что-то, что следует за этим псевдокодом:

 $query = "SELECT * FROM translations WHERE iddoc = '$id' AND submitted = 1;"; $result = mysqli_query($query); $arrayofrows = mysqli_fetch_arrayofrows($result); $arrayofrows[0] //(to get the first row) $arrayofrows[1] //(2nd row) 

и так далее…

Как я могу это сделать?

Вы можете попробовать что-то вроде этого

 $arrayofrows = array(); while($row = mysqli_fetch_array($result)) { $arrayofrows = $row; } 

Теперь у вас есть

 $arrayofrows[0] //(to get the first row) $arrayofrows[1] //(2nd row) 

Я думаю, что функция, которую вы ищете, – mysqli_fetch_all, как показано ниже. Это позволяет избежать необходимости создания дополнительной структуры цикла или функции для выполнения уже предоставленного.

 $query = "SELECT * FROM translations WHERE iddoc = '$id' AND submitted = 1;"; $result = mysqli_query($query); $arrayofrows = mysqli_fetch_all($result); $arrayofrows[0] //(to get the first row) $arrayofrows[1] //(2nd row) 

Это зависит от того, требуется ли вам весь набор результатов или нет, но я думаю, что LIMIT можно использовать как:

 $query = "SELECT * FROM translations WHERE iddoc = '$id' AND submitted = 1 LIMIT 200,200;"; 

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