Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.12.2018, 12:13
Кандидат Javascript-наук
Отправить личное сообщение для Zhenyaxxxx Посмотреть профиль Найти все сообщения от Zhenyaxxxx
 
Регистрация: 25.10.2018
Сообщений: 102

Помогите настроить Bootpag совместно с Ajax сортировкой
Здравствуйте всем на сайте. Пытаюсь сделать сортировку с пагинацией от Bootpag и не получается привязать перелистование страниц к выбранной сортировке....
Вот у меня есть такой скрипт для Bootpag:

$(document).ready(function() {
	$("#results").load("fetch_pages.php"); //начальная страница
	$(".pagination").bootpag({
	   total: <?= $pages; ?>,
	   page: 1,
	   maxVisible: 5 
	}).on("page", function(e, num){
		e.preventDefault();
		$("#results").prepend('<div class="loading-indication"><img src="/ajax-loader.gif" /> Loading...</div>');
		$("#results").load("fetch_pages.php", {'page':num}).hide().fadeIn(1000);  
	
	});

});



и вот такой скрипт для сортировки:
$(document).ready(function () {
	$(".sort span").click(function () {
		var id = $(this).attr('id');	
		$("#fon").css({'display':'block'});
		
		$("#load").fadeIn(500,function () {
		    $.ajax({
				url:'/',
				data:'sort_id='+id, 
				type:'GET',
				success: function (html) {
			$("#tovar").html(html).hide().fadeIn(1000);	    
					$("#fon").css({'display':'none'});				
				}				
		    });
		});		
	});
});


в php я привязываю подмену sql запроса в зависемости от нажатой ссылки с переменной id... вот такой функцией:
function test($link, $id = FALSE) {
  $item_per_page = 8;

if(isset($_POST["page"])){
	$page_number = filter_var($_POST["page"], FILTER_SANITIZE_NUMBER_INT, FILTER_FLAG_STRIP_HIGH);
	if(!is_numeric($page_number)){die('Invalid page number!');} //incase of invalid page number
}else{
	$page_number = 1;
}

$position = (($page_number-1) * $item_per_page);
$sql = "SELECT * FROM product WHERE brand = 'вентс'  LIMIT $position, $item_per_page ";

    
    /* функция получения строк по гет  */
 
	if($id) {
		if($id == 'namea') {
		    $position=12;
		    $sql = "SELECT * FROM product WHERE brand = 'вентс' ORDER BY rashod_vozduha ASC LIMIT $position, $item_per_page";
		    
		}
		else if ($id == 'named') {
		    $sql = "SELECT * FROM product WHERE brand = 'вентс' ORDER BY rashod_vozduha DESC LIMIT $position, $item_per_page ";			
		}
		else if ($id == 'pricea') {
		    $sql = "SELECT * FROM product WHERE brand = 'вентс' ORDER BY cena ASC LIMIT $position, $item_per_page  ";		
		}
		else if ($id == 'priced') {
		    $sql = "SELECT * FROM product WHERE brand = 'вентс' ORDER BY cena DESC LIMIT $position, $item_per_page";			
		}
	}
	
$results = mysqli_query($link, $sql);
	for($i = 0;$i < mysqli_num_rows($results); $i++) {
		$rr[] = mysqli_fetch_array($results);	
}
	if(!$results){ echo "<p>Какая то ошибка с настройками...</p>";  }
	return $rr;
}



if($_GET['sort_id']){
   	    
    $id = strip_tags($_GET['sort_id']);
	$rr = test($link, $id);
	
	foreach($rr as $item) {
		printf('
	   	<li>	      
       <a href =  "description-vents&model=%s"; id="title">%s<br/>%s</a>     
       <img   style="position: relative;" src="https://ensy.com.ua/product/%s" >
       <div id="price" >%s грн.</div>    
         </li>    ', $item['model'], $item['brand'],$item['model'] ,$item['name'], $item['cena'] );
		
		}
	exit();
	
}  else {      $rr = test($link);      }



и в конце вывожу результаты фенкции циклом:

<ul id="tovar" >  
				<?php foreach ($rr as $item) :?>
		<li>	      
       <a href =  "description-vents&model=<?= $item['model'] ?>"; id="title"><?= "<small>" . $item['brand'] . "</small><br/>".$item['model'] ?></a>     
       <img   style="position: relative;" src="https://ensy.com.ua/product/<?= $item['name']; ?>" >
       <div id="price" ><?php echo (int)$item['cena'].  " грн. "; ?></div>    
         </li>           		
				<?php endforeach; ?>		
		   </ul>




В результате у меня получается сортировка.... но при перелистовании страниц выборка идет не в соотвествии сортировки, а в том порядке как занесено в БД.... я налаживаю на тестовом сайте и можно посмотреть тут как работает сейчас: http://test.ensy.com.ua/
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите настроить сайт на DLE,проблема с выводом изображений armn555 Элементы интерфейса 0 21.08.2017 17:07
Помогите настроить скрипт под Pop-under рекламу denisputrans Общие вопросы Javascript 0 12.12.2015 18:24
Помогите укротить AJAX ) db_test AJAX и COMET 2 15.09.2010 13:09
Помогите исправить ошибки. AJAX на MooTools 1.11 dron79 Библиотеки/Тулкиты/Фреймворки 0 26.08.2010 10:40
Помогите настроить Ajax tooltip Jeckerson AJAX и COMET 1 14.08.2009 16:31