С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
-4 / 1 / 2
Регистрация: 27.02.2017
Сообщений: 205

Постраничная навигация и Masonry

20.06.2017, 01:49. Показов 2240. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите, пожалуйста, связать навигацию с Masonry

1.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 <HTML>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <script src="js/masonry.pkgd.min.js"></script>
  <?php include("Pa_bd.php"); ?>
 </head>
 <body>
 
<div id="container" class="container">
 
<?php
$Pa = get_Pa ();?>
 
<?foreach($Pa as $row) : ?>
 
<div class="item">
       <a href="#" class="im"><img src="<?= $row['images']?>"  /></a>
      <div class="title"><a href="#" class="title"><?= $row['title']?> </a></div>
</div>
    
<?php endforeach;?>    
</div>
 
 
 
<script type="text/javascript">
 
  var container = document.querySelector('#container');
  var msnry = new Masonry(container, {
    columnWidth: 325,
    itemSelector: '.item',
    gutter: 20
  });
  
  
  
</script>
 
 </body>
 </html>

Pa_bd.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
 
function db_connect()
{
$host = 'localhost';
$user = 'WOW';
$pswd = '';
$db = 'WOW';
 
$connection = mysql_connect ($host, $user, $pswd);
if(!$connection || !mysql_select_db($db, $connection))
{
 return false;
}
return $connection;
}
 
 function db_result_to_array($result)
{
$res_array = array();
$count=0;
while ($row = mysql_fetch_array($result))
 
{
$res_array[$count] = $row;
$count++;
}
return $res_array;
}
 
 
  function get_Pa ()
  { 
 
  
    db_connect();
    $query = "SELECT * FROM Pa";
    $result = mysql_query($query);
    $result = db_result_to_array($result);
    return $result;
    }
?>

И вот файл с навигацией (только не понимаю, как его всунуть):
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php  
// Устанавливаем соединение с базой данных  
 $host = 'localhost';
$user = 'WOW';
$pswd = '';
$db = 'WOW';
// Переменная хранит число сообщений выводимых на станице  
$num = 15;  
// Извлекаем из URL текущую страницу  
$page = $_GET['page'];  
// Определяем общее число сообщений в базе данных  
$result = mysql_query("SELECT COUNT(*) FROM Pa");  
$posts = mysql_result($result, 0);  
// Находим общее число страниц  
$total = intval(($posts - 1) / $num) + 1;  
// Определяем начало сообщений для текущей страницы  
$page = intval($page);  
// Если значение $page меньше единицы или отрицательно  
// переходим на первую страницу  
// А если слишком большое, то переходим на последнюю  
if(empty($page) or $page < 0) $page = 1;  
  if($page > $total) $page = $total;  
// Вычисляем начиная к какого номера  
// следует выводить сообщения  
$start = $page * $num - $num;  
// Выбираем $num сообщений начиная с номера $start  
$result = mysql_query("SELECT * FROM Pa LIMIT $start, $num");  
// В цикле переносим результаты запроса в массив $postrow  
while ( $postrow[] = mysql_fetch_array($result))  
?>
 
 
<?php  
echo "<table>";  
for($i = 0; $i < $num; $i++)  
{  
 echo "<tr> 
         <td>".$postrow[$i]['name']."</td> 
         <td>".$postrow[$i]['time']."</td></tr> 
       <tr><td colspan=\"2\">".$postrow[$i]['text']."</td></tr>";  
}  
echo "</table>";  
?>
 
 
<?php  
// Проверяем нужны ли стрелки назад  
if ($page != 1) $pervpage = '<a href= ./page?page=1><<</a>  
                               <a href= ./page?page='. ($page - 1) .'><</a> ';  
// Проверяем нужны ли стрелки вперед  
if ($page != $total) $nextpage = ' <a href= ./page?page='. ($page + 1) .'>></a>  
                                   <a href= ./page?page=' .$total. '>>></a>';  
 
// Находим две ближайшие станицы с обоих краев, если они есть  
if($page - 2 > 0) $page2left = ' <a href= ./page?page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';  
if($page - 1 > 0) $page1left = '<a href= ./page?page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';  
if($page + 2 <= $total) $page2right = ' | <a href= ./page?page='. ($page + 2) .'>'. ($page + 2) .'</a>';  
if($page + 1 <= $total) $page1right = ' | <a href= ./page?page='. ($page + 1) .'>'. ($page + 1) .'</a>'; 
 
// Вывод меню  
echo $pervpage.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$nextpage;  
 
?>
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.06.2017, 01:49
Ответы с готовыми решениями:

Постраничная навигация
Начал переводить свой проект на mysqli и столкнулся с проблемой постраничной навигации: &lt;?php $num = 30; $page = $_GET; $result...

Постраничная навигация
Здравствуйте это конечно вопрос не новый но ничего подходящего пока не нашел для себя,.. помогите сделать постранично В папке есть...

Постраничная навигация
Здравствуйте! я еще только начала изучать php и многое мне еще непонятно. У меня вопрос по постраничной навигации getPagination. Хотелось...

24
313 / 312 / 221
Регистрация: 11.07.2015
Сообщений: 1,107
20.06.2017, 10:02
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
function get_html_page_list($url,$cur,$end) {
    if (!$end) return '';
    $stranicy = array();
    for ($page=-4;$page<5;$page++) { $stranicy[] = $cur+$page; }
    $stranicy = array_unique($stranicy);
    asort($stranicy);
    if (strpos($url,'?')!==false) $url = $url.'&page='; else $url = $url.'?page=';
    $html = '   
    <div id="pagenavi"><ul>
    <li>Страницы: </li>'."\n";
    foreach ($stranicy as $is => $s) if (($s<0) OR ($s>$end)) unset($stranicy[$is]);
    $stranicy = array_values($stranicy);
    if ($stranicy===array()) return '';
    if ($stranicy[0]>0)
    $html .= '<li><a href="'.$url.'0" title="Старт" class="blacksquare">Начальная</a></li>'."\n";
    if ($cur>0)
    $html .= '<li><a href="'.$url.''.($cur-1).'" title="Назад" class="blacksquare">&laquo; Предыдущая</a></li>'."\n";
    $predidushiy = -1;
    foreach ($stranicy as $s) if ($s>=0) if ($s<=$end) {
        $raznica = $s-$predidushiy;
        $predidushiy = $s;
        if ($raznica>1) $html.='<li><a class="blacksquare">...</a></li>';
        $html.='<li><a href="'.$url.''.$s.'" title="'.($s+1).'" class="blacksquare'.($s==$cur?'active':'').'">'.($s+1).'</a></li>';     
    }
    if ($cur<end($stranicy))
    $html .= '<li><a href="'.$url.''.($cur+1).'" title="Вперед" class="blacksquare">Следующая &raquo;</a></li>'."\n";
    if (end($stranicy)<$end)
    $html .= '<li><a href="'.$url.''.$end.'" title="Конец" class="blacksquare">Последняя</a></li>'."\n";
    $html .= '</ul></div>'."\n";
    return $html;
}
echo get_html_page_list('page',$page,$total);
1
-4 / 1 / 2
Регистрация: 27.02.2017
Сообщений: 205
20.06.2017, 13:33  [ТС]
plohoyav, спасибо большое!! Но почему-то я его вставляю, и он не работает
0
313 / 312 / 221
Регистрация: 11.07.2015
Сообщений: 1,107
20.06.2017, 14:57
Лучший ответ Сообщение было отмечено Шалун как решение

Решение

db.php

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
<?php
// класс для работы с БД
class DBi {
    public static $conn;
    public static $lastquery;
    public static function get($args) {
        return self::$conn->$args;
    }
    public static function __callStatic($func, $args) {
        if(is_null(self::$conn)){
            self::$conn = new mysqli(MHOST, MUSER, MPASS, MDBNM); // сервер логин пароль база данных
            if (self::$conn->connect_error) {
                die('Connect Error (' . self::$conn->connect_errno . ') '. self::$conn->connect_error);
            }
            DBi::set_charset("utf8");       
        }
        return call_user_func_array(array(self::$conn, $func), $args);
    }
}
// простой запрос в БД
function mq($sql) {
    $res = DBi::query($sql);
    if (!is_bool($res)) $res->free();
}
// вставить ряд в БД
function mi($sql) {
    $res = DBi::query($sql);
    $id = 0;
    if ($res===true) $id = DBi::get("insert_id");
    if (!is_bool($res)) $res->free();
    return $id;
}
// получаем линию в БД
function mr($sql) {
    $res = DBi::query($sql);
    $row = false;
    if (!is_bool($res) AND $res->num_rows>0)
    $row = $res->fetch_assoc();
    if (!is_bool($res)) $res->free();
    return $row;    
}
// получаем поле из БД
function mf($sql,$field) {
    $res = DBi::query($sql);
    $row = false;
    if (!is_bool($res) AND $res->num_rows>0)
    $row = $res->fetch_assoc();
    if (!is_bool($res)) $res->free();
    if (isset($row[$field])) return $row[$field];
    return false;   
}
// получаем массив в БД
function ma($sql) {
    $res = DBi::query($sql);
    $rows = array();
    if (!is_bool($res) AND $res->num_rows>0) {
        while ($row = $res->fetch_assoc()) $rows[] = $row;
    }
    if (!is_bool($res)) $res->free();
    return $rows;   
}
// склеивание и препарирование в SET SQL
function sqlset($arr) {
    $out = array();
    foreach ($arr as $k=>$v) {
        if (is_null($v)) $b = 'NULL'; 
        elseif ($v === "NOW()") $b = 'NOW()'; 
        else $b = "'".DBi::real_escape_string($v)."'";
        $k2 = explode('.',$k); $k1 = array_pop($k2); $k2[] = '`'.$k1.'`';
        $out[] = implode('.',$k2).' = '.$b;
    }
    return implode(', ',$out);
}
// склеивание и препарирование в Mysql Where
function sqlwhere($arr) {
    $out = array();
    foreach ($arr as $k=>$v) {
        if (is_null($v)) $b = 'NULL'; 
        elseif ($v === "NOW()") $b = 'NOW()'; 
        else $b = "'".DBi::real_escape_string($v)."'";
        $k2 = explode('.',$k); $k1 = array_pop($k2); $k2[] = '`'.$k1.'`';
        $out[] = implode('.',$k2).' = '.$b;
    }
    return implode(' AND ',$out);
}
define("MHOST", "localhost");
define("MUSER", "WOW");
define("MPASS", "");
define("MDBNM", "WOW");
?>
Добавлено через 6 минут
1.php

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
 <HTML>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <script src="js/masonry.pkgd.min.js"></script>
 </head>
 <body>
 
<div id="container" class="container">
 
<?php
require 'db.php';
if (empty($_GET['page'])) $page = 0; else $page = intval($_GET['page'])*15;
if ($page<0) { echo '<script>document.location.href="1.php";</script>'; exit; }
$Pa = ma('SELECT * FROM Pa LIMIT '.$page.',15');
foreach($Pa as $row) : ?>
 
<div class="item">
       <a href="#" class="im"><img src="<?= $row['images']?>"  /></a>
      <div class="title"><a href="#" class="title"><?= $row['title']?> </a></div>
</div>
    
<?php 
endforeach;
?>    
</div>
 
 
 
<script type="text/javascript">
 
  var container = document.querySelector('#container');
  var msnry = new Masonry(container, {
    columnWidth: 325,
    itemSelector: '.item',
    gutter: 20
  });
  
  
  
</script>
 
<?php
function get_html_page_list($url,$cur,$end) {
    if (!$end) return '';
    $stranicy = array();
    for ($page=-4;$page<5;$page++) { $stranicy[] = $cur+$page; }
    $stranicy = array_unique($stranicy);
    asort($stranicy);
    if (strpos($url,'?')!==false) $url = $url.'&page='; else $url = $url.'?page=';
    $html = '   
    <div id="pagenavi"><ul>
    <li>Страницы: </li>'."\n";
    foreach ($stranicy as $is => $s) if (($s<0) OR ($s>$end)) unset($stranicy[$is]);
    $stranicy = array_values($stranicy);
    if ($stranicy===array()) return '';
    if ($stranicy[0]>0)
    $html .= '<li><a href="'.$url.'0" title="Старт" class="blacksquare">Начальная</a></li>'."\n";
    if ($cur>0)
    $html .= '<li><a href="'.$url.''.($cur-1).'" title="Назад" class="blacksquare">&laquo; Предыдущая</a></li>'."\n";
    $predidushiy = -1;
    foreach ($stranicy as $s) if ($s>=0) if ($s<=$end) {
        $raznica = $s-$predidushiy;
        $predidushiy = $s;
        if ($raznica>1) $html.='<li><a class="blacksquare">...</a></li>';
        $html.='<li><a href="'.$url.''.$s.'" title="'.($s+1).'" class="blacksquare'.($s==$cur?'active':'').'">'.($s+1).'</a></li>';     
    }
    if ($cur<end($stranicy))
    $html .= '<li><a href="'.$url.''.($cur+1).'" title="Вперед" class="blacksquare">Следующая &raquo;</a></li>'."\n";
    if (end($stranicy)<$end)
    $html .= '<li><a href="'.$url.''.$end.'" title="Конец" class="blacksquare">Последняя</a></li>'."\n";
    $html .= '</ul></div>'."\n";
    return $html;
}
$page = ceil($page/15);
$total = ceil(mf('SELECT COUNT(*) x FROM Pa','x')/15);
echo get_html_page_list('1.php',$page,$total);
?>
 </body>
 </html>
1
-4 / 1 / 2
Регистрация: 27.02.2017
Сообщений: 205
20.06.2017, 20:36  [ТС]
plohoyav, Огрооооооомнейшее спасибо вам!!!!

Добавлено через 4 часа 25 минут
plohoyav, не подскажите, пожалуйста, как можно убрать последнюю страницу на которой ничего не выводится?
0
313 / 312 / 221
Регистрация: 11.07.2015
Сообщений: 1,107
20.06.2017, 22:26
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
 <HTML>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <script src="js/masonry.pkgd.min.js"></script>
 </head>
 <body>
 
<div id="container" class="container">
 
<?php
require 'db.php';
if (empty($_GET['page'])) $page = 0; else $page = intval($_GET['page'])*15;
$Pa = ma('SELECT * FROM Pa LIMIT '.$page.',15');
foreach($Pa as $row) : ?>
 
<div class="item">
       <a href="#" class="im"><img src="<?= $row['images']?>"  /></a>
      <div class="title"><a href="#" class="title"><?= $row['title']?> </a></div>
</div>
    
<?php 
endforeach;
?>    
</div>
 
 
 
<script type="text/javascript">
 
  var container = document.querySelector('#container');
  var msnry = new Masonry(container, {
    columnWidth: 325,
    itemSelector: '.item',
    gutter: 20
  });
  
  
  
</script>
 
<?php
/*
 * url - адрес страницы без параметра page
 * total - всего постов
 * num - постов на страницу
 */
function get_html_page_list($url,$total,$num) {
    if (empty($_GET['page'])) $cur = 0; else $cur = intval($_GET['page']);
    if ($cur<0) { echo '<script>document.location.href="'.$url.'";</script>'; exit; }
    $end = floor(($total-1)/$num);
    if (!$end) return '';
    $stranicy = array();
    for ($page=-4;$page<5;$page++) { $stranicy[] = $cur+$page; }
    $stranicy = array_unique($stranicy);
    asort($stranicy);
    if (strpos($url,'?')!==false) $url = $url.'&page='; else $url = $url.'?page=';
    $html = '   
    <div id="pagenavi"><ul>
    <li>Страницы: </li>'."\n";
    foreach ($stranicy as $is => $s) if (($s<0) OR ($s>$end)) unset($stranicy[$is]);
    $stranicy = array_values($stranicy);
    if ($stranicy===array()) return '';
    if ($stranicy[0]>0)
    $html .= '<li><a href="'.$url.'0" title="Старт" class="blacksquare">Начальная</a></li>'."\n";
    if ($cur>0)
    $html .= '<li><a href="'.$url.''.($cur-1).'" title="Назад" class="blacksquare">&laquo; Предыдущая</a></li>'."\n";
    $predidushiy = -1;
    foreach ($stranicy as $s) if ($s>=0) if ($s<=$end) {
        $raznica = $s-$predidushiy;
        $predidushiy = $s;
        if ($raznica>1) $html.='<li><a class="blacksquare">...</a></li>';
        $html.='<li><a href="'.$url.''.$s.'" title="'.($s+1).'" class="blacksquare'.($s==$cur?'active':'').'">'.($s+1).'</a></li>';     
    }
    if ($cur<end($stranicy))
    $html .= '<li><a href="'.$url.''.($cur+1).'" title="Вперед" class="blacksquare">Следующая &raquo;</a></li>'."\n";
    if (end($stranicy)<$end)
    $html .= '<li><a href="'.$url.''.$end.'" title="Конец" class="blacksquare">Последняя</a></li>'."\n";
    $html .= '</ul></div>'."\n";
    return $html;
}
$total = mf('SELECT COUNT(*) x FROM Pa','x');
echo get_html_page_list('1.php',$total,15);
?>
 </body>
 </html>
1
-4 / 1 / 2
Регистрация: 27.02.2017
Сообщений: 205
21.06.2017, 01:35  [ТС]
plohoyav, СПАСИБО БОЛЬШОЕ ВАМ!!!!
0
-4 / 1 / 2
Регистрация: 27.02.2017
Сообщений: 205
22.06.2017, 14:19  [ТС]
plohoyav, добрый день!!! А как осуществить, чтобы при нажатии на ссылку (навигации) цвет фиксировался, пока находишься на этой странице. А когда переходишь на другую страницу цвет у первой ссылки возвращался к исходному, а второй (т.к. находишься уже на 2 странице) изменялся?

Пробовала это, но не сработало:

1.php. строчка 72 (изначально было вот так)
PHP
1
   $html.='<li><a href="'.$url.''.$s.'" title="'.($s+1).'" class="blacksquare'.($s==$cur?'active':'').'">'.($s+1).'</a></li>';
изменила на это
PHP
1
$html.='<li><a href="'.$url.''.$s.'" title="'.($s+1).'" class="blacksquare'.($s==$cur?'active':'').'" onclick="activate(this);" >'.($s+1).'</a></li>';
И добавила
JavaScript
1
2
3
4
5
6
7
function activate(a){
  var aa = document.getElementsByTagName('a');
  for( i in aa )
    if( aa[i] != a && aa[i].className == 'active' )
      aa[i].className = '';
  a.className = 'active';
  }
в CSS прописала стиль для :hover и :active

Помогите, пожалуйста
0
313 / 312 / 221
Регистрация: 11.07.2015
Сообщений: 1,107
23.06.2017, 00:06
CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<style>
#pagenavi ul li { 
    display:inline-block;
    margin: 0px 8px 0px 8px;
}
#pagenavi ul li a, #pagenavi ul li a:hover {
    color:#2026a1;
}
#pagenavi ul li a { 
    margin: 4px;
    border: 1px solid #9bd231;
    border-radius: 4px;
    background-color: #f5f6ed;
    padding: 6px 8px 3px 8px;
    text-decoration: none;
}
#pagenavi ul li a.blacksquareactive { 
    background-color: rgb(90, 150, 183);
    color: white;
    border-color: rgb(86, 133, 162);
}
</style>
Добавлено через 6 минут
JavaScript
1
2
3
4
5
6
7
8
9
<script>
$( "#pagenavi ul li a" ).hover(
  function() {
    $( this ).addClass('blacksquareactive');
  }, function() {
    $( this ).removeClass('blacksquareactive');
  }
);
</script>
Добавлено через 1 минуту
HTML5
1
<script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
1
-4 / 1 / 2
Регистрация: 27.02.2017
Сообщений: 205
23.06.2017, 12:45  [ТС]
plohoyav, БЛАГОДАРЮ ВАС!!!

Добавлено через 12 часов 26 минут
plohoyav, доброе утро!!! Стараюсь добавить еще скроллинг по нажатию кнопки. При нажатии на кнопку ничего не происходит. Ошибку не могу найти.. .Очень прошу помочь

1.php добавила туда вот эти строки:
PHP
1
2
3
4
5
6
7
8
9
10
11
<script type="text/javascript" src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
        <script type="text/javascript" src="js/lazyload.js"></script>
        <link rel="stylesheet" href="css/styles.css" />
 
 
<div id="button-more" onclick="lazyload.load()">
                Load more items
            </div>
            <div id="loading-div">
                loading more items
            </div>

lazyload.js
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
/**
 * @author Shaumik Daityari
 * @copyright Copyright © 2013 All rights reserved.
 */
 
var lazyload = lazyload || {};
 
(function($, lazyload) {
 
    "use strict";
 
    var page = 2,
        buttonId = "#button-more",
        loadingId = "#loading-div",
        container = "#pagenavi";
 
    lazyload.load = function() {
if (empty($_GET['page'])) $cur = 0; else $cur = intval($_GET['page']);
if ($cur<0){ var url = '<script>document.location.href="'.$url.'";</script>'; exit; }
        
 
        $(buttonId).hide();
        $(loadingId).show();
 
        $.ajax({
            url: url,
            success: function(response) {
                if (!response || response.trim() == "NONE") {
                    $(buttonId).fadeOut();
                    $(loadingId).text("No more entries to load!");
                    return;
                }
                appendContests(response);
            },
            error: function(response) {
                $(loadingId).text("Sorry, there was some error with the request. Please refresh the page.");
            }
        });
    };
 
    var appendContests = function(response) {
        var id = $(buttonId);
 
        $(buttonId).show();
        $(loadingId).hide();
 
        $(response).appendTo($(container));
        page += 1;
    };
 
})(jQuery, lazyload);
CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#wrapper{
    width: 1000px;
    margin: 0 auto;
    min-height: 500px;
    background-color: #e9e9e9;
    color: #333;
    padding: 10px;
    text-align: center;
}
 
#data-container{
    margin: 10px;
}
 
#data-container .data-item{
    background-color: #444444;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    padding: 5px;
    margin: 5px;
    color: #fff;
}
 
#loading-div{
    display: none;
}
 
#button-more{
    cursor: pointer;
    margin: 0 auto;
    background-color: #aeaeae;
    color: #fff;
    width: 200px;
    height: 50px;
    line-height: 50px;
}
0
313 / 312 / 221
Регистрация: 11.07.2015
Сообщений: 1,107
23.06.2017, 17:45
в lazyload.js строки 18-19 нужно удалить
1
-4 / 1 / 2
Регистрация: 27.02.2017
Сообщений: 205
23.06.2017, 18:11  [ТС]
plohoyav, сейчас он просто выводит надпись: loading more items.
А как мне в данном случае подключить его к бд (чтобы данные от туда брались)? Это все в форму нужно или как?
0
313 / 312 / 221
Регистрация: 11.07.2015
Сообщений: 1,107
23.06.2017, 19:31
В строке 26 используется переменная url, видимо ей нужно присвоить значение страницы, которую требуется загрузить

Добавлено через 2 минуты
Вы можете создать скрипт, который подключается к БД, берёт оттуда данные, выводит.

Пример - Как вытащить данные из цикла внутри SELECT
1
-4 / 1 / 2
Регистрация: 27.02.2017
Сообщений: 205
23.06.2017, 19:54  [ТС]
plohoyav, и так, вы были правы- забыла прописать url.
НО! Теперь все выводит- абсолютно все данные сразу (от начала до конца). Не знаю как зафиксировать данные, чтобы они продолжались друг за дружкой. Скрипт, который вы привели, просмотрела. Данные выводит, так что думаю, что он теперь не обязателен
0
313 / 312 / 221
Регистрация: 11.07.2015
Сообщений: 1,107
23.06.2017, 21:03
Видимо в url будет ajax.php?page=<номер страницы>

В ajax.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
require 'db.php';
if (empty($_GET['page'])) $page = 0; else $page = intval($_GET['page'])*15;
$Pa = ma('SELECT * FROM Pa LIMIT '.$page.',15');
foreach($Pa as $row) : ?>
 
<div class="item">
       <a href="#" class="im"><img src="<?= $row['images']?>"  /></a>
      <div class="title"><a href="#" class="title"><?= $row['title']?> </a></div>
</div>
    
<?php 
endforeach;
?>
<script>url = 'ajax.php?page=<?php echo ($page/15+1); ?>';</script>
1
-4 / 1 / 2
Регистрация: 27.02.2017
Сообщений: 205
23.06.2017, 21:25  [ТС]
plohoyav, прописала в lazyload.js
JavaScript
1
url: "1.php.?page='.$page.';",

В 1.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<div id="button-more" onclick="lazyload.load()">
                Load more items
            </div>
            <div id="loading-div">
                loading more items
            </div>
    <?php
require '.db.php';
if (empty($_GET['page'])) $page = 0; else $page = intval($_GET['page'])*15;
$Pa = ma('SELECT * FROM Pa LIMIT '.$page.',15');
foreach($Pa as $row) : ?>
 
<div class="item">
       <a href="#" class="im"><img src="<?= $row['images']?>"  /></a>
      <div class="title"><a href="#" class="title"><?= $row['title']?> </a></div>
</div>
    
<?php 
endforeach;?>
К сожалению, выводит все как и в прошлый раз. +добавилась ошибка:
Fatal error: Cannot redeclare mq() (previously declared in db.php:22) in db.php on line 25

строчки:
JavaScript
1
2
3
4
function mq($sql) {
    $res = DBi::query($sql);
    if (!is_bool($res)) $res->free();
}
0
313 / 312 / 221
Регистрация: 11.07.2015
Сообщений: 1,107
23.06.2017, 21:59
в js файлах php переменные обычно не используются, в частности
JavaScript
1
url: "1.php.?page='.$page.';",
$page видимо объявлена в файле 1.php

Добавлено через 1 минуту
В 1.php возможно
PHP
1
require 'db.php';
1
-4 / 1 / 2
Регистрация: 27.02.2017
Сообщений: 205
24.06.2017, 00:51  [ТС]
plohoyav, извиняюсь (описалась). Проблемы все те же.. .

Добавлено через 3 минуты
plohoyav, и да, $page мы объявили в файле 1.php для постраничной навигации. Навигацию и скроллинг по кнопке - это все на одной странице

Добавлено через 42 секунды
plohoyav, в данном случае, какие еще есть варианты?
0
313 / 312 / 221
Регистрация: 11.07.2015
Сообщений: 1,107
24.06.2017, 07:10
В 1.php добавить
PHP
1
<script>url = 'ajax.php?page=<?php echo ($page/15+1); ?>';</script>
1
-4 / 1 / 2
Регистрация: 27.02.2017
Сообщений: 205
24.06.2017, 13:28  [ТС]
plohoyav, ничего не изменилось
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.06.2017, 13:28
Помогаю со студенческими работами здесь

постраничная навигация
пытаюсь сделать для тренировки что-то наподобии такого: &quot;]&quot;]&quot;] т.е. очередная ссылка показывает код этого же скрипта со смещением ...

Постраничная навигация
Есть скрипт, для говнокрафта minecraft banlist&quot;а, не подскажете, как сделать постраничную навигацию? &lt;link rel='stylesheet'...

Постраничная навигация!
Есть вот такой код страницы: &lt;?php require_once('inc/top.php');?&gt; &lt;/head&gt; &lt;body&gt; &lt;?php require_once('inc/header.php'); ...

Постраничная навигация
Всем привет, есть вот такой код навигации он работает у меня на дипломке все ок , скопировал его на другой сайт но он не хочет вставать...

постраничная навигация
здравствуйте, вот скрипт постраничной навигации всё хорошо кроме одного, страницы не листаются. помогите найти проблему. &lt;?php ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru