Дмитрий

Дмитрий

С нами с 01 декабря 2021; Место в рейтинге пользователей: #5318

Пагинация

Доброго времени суток. Возник вопрос следующего характера. У меня есть страница на которую выводится информация из БД, в которой несколько сотен записей. Поскольку это один ресурс в котором просто выводится куча записей из БД создать пагинацию с помощью pdoPage ну никак не получается, нет нужных параметров для разбивки на страницы. Никто не подскажет, как организовать пагинацию по количеству выводимых строк из БД?
Дмитрий
30 марта 2022, 15:51
modx.pro
571
0

Передача параметра в сниппет

Добрый день всем!
Есть выборка из собственной таблицы в БД.
<?php
	$short_info = $modx->query("SELECT id, name, soname, city FROM `candidats`");
	$results = $short_info->fetchAll(PDO::FETCH_ASSOC);
	$out='';
	foreach($results as $data){
		$name = $data['name'];
		$soname = $data['soname'];
		$city = $data['city'];
		$age = $data['age'];
		$jobHistory = $data['job_history'];
		$foto = $data['foto_link'];
		$out .= $modx->getChunk('shortInfo', array('name'=>$name, 'soname'=>$soname, 'city'=>$city, 'age'=>$age));
	}
	return $out;
?>
Результаты выводятся в чанк.
Код чанка
<table>
	<th>
		<td>id</td>
		<td>Имя</td>
		<td>Фамилия</td>
		<td>Город</td>
		<td>Подробнее</td>
	</th>
	<tr>
		<td>[[+id]]</td>
		<td>[[+name]]</td>
		<td>[[+soname]]</td>
		<td>[[+city]]</td>
		<td><a href="../all-info.html">Подробнее</a></td>
	</tr>
</table>
В результате выводится список с минимальным набором данных и ссылкой на страницу полной информации.
Код сниппета для выборки полной информации
<?php
	$id = $table_id;
	$all_info = $modx->query("SELECT (*) FROM `candidats` WHERE id = $id");
	$results = $all_info->fetchAll(PDO::FETCH_ASSOC);
	foreach($results as $data){
		$name = $data['name'];
		$soname = $data['soname'];
		$city = $data['city'];
		$age = $data['age'];
		$jobHistory = $data['job_history'];
		$foto = $data['foto_link'];
	}
	return $modx->getChunk('allInfo', array('name'=>$name, 'soname'=>$soname, 'city'=>$city, 'age'=>$age, 'jobHistory'=>$jobHistory, 'foto'=>$foto));
?>
На странице вызова сниппета использую

[[!allInfo?
& param = 'allInfo'
&table_id = 1
]]

А теперь вопрос. Как при переходе по ссылке «подробнее» на страницу полной информации о человеке передать значение id в параметр &table_id?
Дмитрий
01 декабря 2021, 15:23
modx.pro
725
0