Есть страничка с товарами (в виде ссылок) и с кнопкой "Загрузить еще". Кнопка реализована на ajax method POST. По умолчанию на странице выведены 16 товаров. Кликая на товар, переходим на страничку с этим товаром.
Добавляя кнопкой "Загрузить еще " товары и переходя по ним мне нужно вернуться на предыдущую страницу на то место откуда был осуществлен клик. Для этого есть кнопка "Назад". Нажимая на "назад" меня перекидывает на предыдущую страницу, но на странице отображаются только товары по умолчанию (первые 16 шт). Не могу понять как мне попасть именно на место клика?
Вот код js
<script type="text/javascript">
$('#show_more').click(function (e) {
e.preventDefault();
let btn_more = $(this);
let count_show = parseInt($(this).attr('count_show'));
let count_add = $(this).attr('count_add');
let cat_id = '<?php echo $catid;?>';
btn_more.val('Подождите...');
$.ajax({
url: "ajax.php", // куда отправляем
type: "post", // метод передачи
dataType: "json", // тип передачи данных
data: { // что отправляем
"count_show": count_show,
"count_add": count_add,
cat_id,
},
// после получения ответа сервера
success: function (data) {
if (data.result == "success") {
$('#list').append(data.html);
btn_more.val("Загрузить еще");
btn_more.attr('count_show', (count_show + 16));
} else {
btn_more.val("Товаров нет").fadeOut(1500);
}
}
});
});
</script>
Это код ajax.php
<?php
session_start();
require("config.php"); //Подключение к бд
$countView = (int)$_POST['count_add']; // количество записей, получаемых за один раз
$startIndex = (int)$_POST['count_show']; // с какой записи начать выборку
$catId = (int)$_POST['cat_id']; // какую категорию выводить
// запрос к бд
if (!empty ($catId) ) {
$sql = mysql_query("SELECT * FROM `catalog` WHERE cat_id in ('" . $catId . "')ORDER BY FIELD(status, '2') ASC, `article` DESC
LIMIT " . $startIndex . " , " . $countView . " ") or die(mysql_error());
}else {
$sql = mysql_query("SELECT * FROM `catalog` WHERE cat_id in (7,8,9,10,11,12) ORDER BY FIELD(status, '2') ASC, `article` DESC
LIMIT " . $startIndex . " , " . $countView . " ") or die(mysql_error());
}
$row_BU = array();
while ($result = mysql_fetch_array($sql, MYSQL_ASSOC)) {
$row_BU[] = $result;
}
if (empty($row_BU)) {
// если новостей нет
echo json_encode(array(
'result' => 'finish'
));
} else {
// если новости получили из базы, то сформируем html элементы
// и отдадим их клиенту
$html = "";
foreach ($row_BU as $row) {
if ($row['status'] == 3)
$a1 = ' style="border: solid red; width:192px; height: 347px;" ';
else
$a1 = '';
if ($row['status'] == 0)
$a2 = '';
elseif ($row['status'] == 1)
$a2 = 'new';
else
$a2 = 'sold';
if ($row['price'] == 0)
$a3 = '';
else
$a3 = '€'.$row['price'];
$html .= '<li>';
$html .= '<div ' . $a1 . ' >';
$html .= '<a href="umarket_view.php?item=' . $row['id'] . '">';
$html .= '<div class="view">';
$html .= '<div class="status ' . $a2 . ' "></div>';
$html .= '<img src="../../uploads/catalog/' . $row['catalog_image'] . '" alt="' . $row['catalog_image'] . '">';
$html .= '</div>';
$html .= '<div class="title">' . $row['name'] . '</div>';
$html .= '<div class="description">' . $row['description'] . '</div>';
$html .= '<div class="size">Размер: ' . $row['size'] . '</div>';
$html .= '<div class="article">' . $row['article'] . '</div>';
$html .= '<div class="price">' . $a3 . '</div>';
$html .= '</a>';
$html .= '</div>';
$html .= '</li>';
}
echo json_encode(array(
'result' => 'success',
'html' => $html,
));
}