Подскажите дурачку)

123
LG
На сайте с 17.01.2014
Offline
42
#11

Правильно я понял, что страница ajax.php - это моя страница в которой висит содержимое моего div?

Z0
На сайте с 03.09.2009
Offline
826
#12
LipGrad:
Правильно я понял, что страница ajax.php - это моя страница в которой висит содержимое моего div?

Да, а в container будет вставлятся то, что покажет ajax.php с пост параметром page_id.

LG
На сайте с 17.01.2014
Offline
42
#13
ziliboba0213:
Да, а в container будет вставлятся то, что покажет ajax.php с пост параметром page_id.

ранее вставлял так: <? include("./blocks/catalog.php");?>

теперь так?

<div class='container'></div>

<div class='page' data-id='1'>1 страница</div>

<div class='page' data-id='2'>1 страница</div>

<div class='page' data-id='n'>n страница</div>

<script>

$('.page').click(function(){

$.ajax({

url: './blocks/catalog.php',

type: 'POST',

data: {'page_id': $(this).attr('data-id')},

success: function(html){

$('.container').html(html);

}

});

});

</script>

Z0
На сайте с 03.09.2009
Offline
826
#14

<div class='container'><? include("./blocks/catalog.php");?></div>

И нумерацию страниц вне container надо.

Капча достала :)

LG
На сайте с 17.01.2014
Offline
42
#15
ziliboba0213:
<div class='container'><? include("./blocks/catalog.php");?></div>
И нумерацию страниц вне container надо.

Капча достала :)

с этим я понял, спасибо, а с номирацией не понял, я так понял надо id куда то присвоить))

Z0
На сайте с 03.09.2009
Offline
826
#16
LipGrad:
с этим я понял, спасибо, а с номирацией не понял, я так понял надо id куда то присвоить))

page_id = это номер страницы, по которой вы выводите. Вы же список страниц выводите? Вот туда и вставляйте data-id с тем номером страницы, которую надо выводить.

LG
На сайте с 17.01.2014
Offline
42
#17

// Находим две ближайшие станицы с обоих краев, если они есть

if ( $page - 2 > 0 )
$page2left = ' <a data-id='.($page - 2).' href="'.$_SERVER['PHP_SELF'].'?page='.($page - 2).'">'.($page - 2).'</a> | ';
else
$page2left = '';
if ( $page - 1 > 0 )
$page1left = ' <a data-id='.($page - 1).' href="'.$_SERVER['PHP_SELF'].'?page='.($page - 1).'">'.($page - 1).'</a> | ';
else
$page1left = '';
if ( $page + 2 <= $cnt_pages )
$page2right = ' | <a data-id='.($page + 2).' href="'.$_SERVER['PHP_SELF'].'?page='.($page + 2).'">'.($page + 2).'</a>';
else
$page2right = '';
if ( $page + 1 <= $cnt_pages )
$page1right = ' | <a data-id='.($page + 1).' href="'.$_SERVER['PHP_SELF'].'?page='.($page + 1).'">'.($page + 1).'</a>';
else
$page1right = '';

Вот так сделал, но вс равно страницу грузит

Z0
На сайте с 03.09.2009
Offline
826
#18
LipGrad:

Вот так сделал, но вс равно страницу грузит

ссылки замените на что-то другое 🤪

LG
На сайте с 17.01.2014
Offline
42
#19
ziliboba0213:
ссылки замените на что-то другое 🤪

какие ссылки)?

---------- Добавлено 02.05.2017 в 17:42 ----------

// Находим две ближайшие станицы с обоих краев, если они есть
if ( $page - 2 > 0 )
$page2left = ' <div class="page" data-id='.($page - 2).'>'.($page - 2).'</div> | ';
else
$page2left = '';
if ( $page - 1 > 0 )
$page1left = ' <div class="page" data-id='.($page - 1).'>'.($page - 1).'</div> | ';
else
$page1left = '';
if ( $page + 2 <= $cnt_pages )
$page2right = ' | <div class="page" data-id='.($page + 2).'>'.($page + 2).'</div>';
else
$page2right = '';
if ( $page + 1 <= $cnt_pages )
$page1right = ' | <div class="page" data-id='.($page + 1).'>'.($page + 1).'</div>';
else
$page1right = '';

сделал так, но не фырычит, при нажатие исчезает вся требуха divа и все

---------- Добавлено 02.05.2017 в 17:43 ----------

ziliboba0213,

// Находим две ближайшие станицы с обоих краев, если они есть
if ( $page - 2 > 0 )
$page2left = ' <div class="page" data-id='.($page - 2).'>'.($page - 2).'</div> | ';
else
$page2left = '';
if ( $page - 1 > 0 )
$page1left = ' <div class="page" data-id='.($page - 1).'>'.($page - 1).'</div> | ';
else
$page1left = '';
if ( $page + 2 <= $cnt_pages )
$page2right = ' | <div class="page" data-id='.($page + 2).'>'.($page + 2).'</div>';
else
$page2right = '';
if ( $page + 1 <= $cnt_pages )
$page1right = ' | <div class="page" data-id='.($page + 1).'>'.($page + 1).'</div>';
else
$page1right = '';
Z0
На сайте с 03.09.2009
Offline
826
#20


DEFINE('ITEMS_PER_PAGE', 1);

// Выбираем из БД общее количество записей
$query = "SELECT COUNT(*) FROM page WHERE 1";
$res = mysql_query( $query );
$total = mysql_result( $res, 0, 0 );

// Проверяем передан ли номер текущей страницы (постраничная навигация)
if ( isset($_GET['page']) ) {
$page = (int)$_GET['page'];
if ( $page < 1 ) $page = 1;
} else {
$page = 1;
}

$uri = $_SERVER['PHP_SELF'].'?';
if ( $_SERVER['QUERY_STRING'] != '' ) {
foreach( $_GET as $key => $value ) {
if ( $key != 'page' ) $uri = $uri.$key.'='.urlencode($value).'&';
}
}
// Сколько всего получится страниц
$cnt_pages = ceil( $total / ITEMS_PER_PAGE );
if ( $page > $cnt_pages ) $page = $cnt_pages;
// Начальная позиция
$start = ( $page - 1 ) * ITEMS_PER_PAGE;

// По умолчанию сортировка по наименованию, по возрастанию
$orderby = 'id';


$query = 'SELECT name
FROM page
ORDER BY '.$orderby.' ASC
LIMIT '.$start.' ,'.ITEMS_PER_PAGE;
$res = mysql_query( $query );

echo '<h1>Каталог продукции</h1>'."\n";

while( $prd = mysql_fetch_array($res) ) {


echo '<div class="grid_4">';
echo $prd['name'];
echo '</div>'."\n";
}
// Строим постраничную навигацию
if ( $cnt_pages > 1 )
{
echo '<div style="margin:1em 0">&nbsp;Страницы: ';
// Проверяем нужна ли стрелка "В начало"
if ( $page > 3 )
$startpage = '<a class="page" data-id="1"><<</a> ... ';
else
$startpage = '';
// Проверяем нужна ли стрелка "В конец"
if ( $page < ($cnt_pages - 2) )
$endpage = ' ... <a class="page" data-id='.$cnt_pages.'>>></a>';
else
$endpage = '';

// Находим две ближайшие станицы с обоих краев, если они есть
if ( $page - 2 > 0 )
$page2left = ' <a class="page" data-id='.($page - 2).'>'.($page - 2).'</a> | ';
else
$page2left = '';
if ( $page - 1 > 0 )
$page1left = ' <a class="page" data-id='.($page - 1).'>'.($page - 1).'</a> | ';
else
$page1left = '';
if ( $page + 2 <= $cnt_pages )
$page2right = ' | <a class="page" data-id='.($page + 2).'>'.($page + 2).'</a>';
else
$page2right = '';
if ( $page + 1 <= $cnt_pages )
$page1right = ' | <a class="page" data-id='.($page - 1).'>'.($page + 1).'</a>';
else
$page1right = '';

// Выводим меню
echo $startpage.$page2left.$page1left.'<strong>'.$page.'</strong>'.$page1right.$page2right.$endpage;

echo '</div>';
}
echo "<script>
$('.page').click(function(){
$.ajax({
url: '/ajax.php',
type: 'GET',
data: {'page': $(this).attr('data-id')},
success: function(html){
$('.grid_4').html(html);
}
});
});
</script>";

А в ajax.php все тоже самое, кроме листинга:


DEFINE('ITEMS_PER_PAGE', 1);

// Выбираем из БД общее количество записей
$query = "SELECT COUNT(*) FROM page WHERE 1";
$res = mysql_query( $query );
$total = mysql_result( $res, 0, 0 );

// Проверяем передан ли номер текущей страницы (постраничная навигация)
if ( isset($_GET['page']) ) {
$page = (int)$_GET['page'];
if ( $page < 1 ) $page = 1;
} else {
$page = 1;
}

$uri = $_SERVER['PHP_SELF'].'?';
if ( $_SERVER['QUERY_STRING'] != '' ) {
foreach( $_GET as $key => $value ) {
if ( $key != 'page' ) $uri = $uri.$key.'='.urlencode($value).'&';
}
}
// Сколько всего получится страниц
$cnt_pages = ceil( $total / ITEMS_PER_PAGE );
if ( $page > $cnt_pages ) $page = $cnt_pages;
// Начальная позиция
$start = ( $page - 1 ) * ITEMS_PER_PAGE;

// По умолчанию сортировка по наименованию, по возрастанию
$orderby = 'id';


$query = 'SELECT name
FROM page
ORDER BY '.$orderby.' ASC
LIMIT '.$start.' ,'.ITEMS_PER_PAGE;
$res = mysql_query( $query );


while( $prd = mysql_fetch_array($res) ) {


echo '<div class="grid_4">';
echo $prd['name'];
echo '</div>'."\n";
}

Только у вас листинг неверно работает, а искать ошибку лень :)

123

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий