Paginate result set, написав запрос с помощью подготовленных операторов,

Я использовал классы разбиения на страницы, когда делал это до традиционного способа, но теперь, когда я пришел, чтобы делать запросы с помощью подготовленных операторов, через оператор $ stmt-> fetch (), я не знаю, как теперь разбивать страницы , Я просматриваю и проверяю литературу stackoverflow, и кажется, что для нее есть какое-то готовое решение, некоторые команды или некоторые: sort-> stuff.

Как вы разбиваете страницы, которые выходят из этого цикла? Есть ли какие-то команды в «мире подготовленных заявлений»? любая ссылка, страница или сеть, где это показано?

while( $stmt->fetch() ) { printf("%s%s%s%s", $Email, $Webpage, $Telephone, $Mobile); } 

Метод 1: get_result() :

* Примечание. Этот метод работает только с PHP> = 5.3, с собственным драйвером mysqlnd.

Предполагая, что это было сделано с MySQLi, и вы связали эти переменные как результат vars через bind_result() , я бы вместо этого использовал get_result() чтобы перенести его в ресурс результата MySQLi и извлечь строки как массивы в массив, содержащий все строки. Затем используйте любой способ разбивки на страницы или плагин, который вы обычно используете для данных массива:

 // Don't use bind_result()... // execute your statement $stmt->execute(); // Get result set into a MySQLi result resource $result = $stmt->get_result(); // array to hold all results $rowset = array(); // And fetch with a while loop while ($row = $result->fetch_assoc()) { $rowset[] = $row; } 

var_dump ($ Rowset);

Теперь используйте $rowset как 2D-массив, с помощью которого вы можете использовать любой метод разбиения на страницы, который работает с регулярными массивами.

Метод 2: постройте массив со связанными выходными vars

Если у вас нет родного драйвера mysqlnd (и, следовательно, нельзя использовать get_result() , продолжайте использовать bind_result() но добавьте все из них в массив:

 // array to hold all rows $rowset = array(); // All results bound to output vars while ($stmt->fetch()) { // Append an array containing your result vars onto the rowset array $rowset[] = array( 'email' => $Email, 'webpage' => $Webpage, 'telephone' => $Telephone, 'moblile' => $Mobile ); } var_dump($rowset);