- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Делаю вывод на страницу по несколько статей, и навигацию в виде цифр-ссылок
Вот файл page_test.php
<?php require_once ("includes/connection.php"); ?>
<?php require_once ("classes/mysql.class.php"); ?>
<?php
$db = new db_class;
$lim = "5";
@$page = $_GET['page'];
$sql = $db->query('SELECT COUNT(*) FROM folder ');
$row = $db->get_row($sql);
$posts = $row[0];
$str = ceil($posts/$lim);
if(empty($page) or $page < 0) $page = 1;
if($page > $str) $page = $str;
$start = $page * $lim - $lim;
$result = $db->query('SELECT * FROM folder LIMIT $start, $lim ');
$folder .= "<div class=\"thumbnails\">";
while($myrow = $db->get_row($result))
$folder .= "<ins class=\"thumbnail\"><div class=\"r\"><a href=\"galery.php?folder=".urlencode($myrow["folder"])."\"><img src=\"images/folder.png\" border=\"0\" alt=\"{$myrow["name"]}\" onfocus=\"this.blur()\" /></a><br /></div></ins>";
$folder .= "</div>";
/* Дальше все остается без изменений */
echo '<a href=?page='. ($page - 1) .'>Назад</a> ';
$i=1;
while ($i <= $str)
{
if ($i==$page)
{echo '<strong><a href=?page='.$i.'>'.$i.'</a></strong> ';}
else
{echo '<a href=?page='.$i.'>'.$i.'</a> ';}
$i = $i+1;
}
echo ' <a href=?page='. ($page + 1) .'>Вперед</a>';
?>
А это класс mysql.class.php
<?php require_once ("includes/connection.php"); ?>
<?php require_once ("classes/mysql.class.php"); ?>
<?php
$db = new db_class;
$lim = "5";
@$page = $_GET['page'];
$sql = $db->query('SELECT COUNT(*) FROM folder ');
$row = $db->get_row($sql);
$posts = $row[0];
$str = ceil($posts/$lim);
if(empty($page) or $page < 0) $page = 1;
if($page > $str) $page = $str;
$start = $page * $lim - $lim;
$result = $db->query('SELECT * FROM folder LIMIT $start, $lim ');
$folder .= "<div class=\"thumbnails\">";
while($myrow = $db->get_row($result))
$folder .= "<ins class=\"thumbnail\"><div class=\"r\"><a href=\"galery.php?folder=".urlencode($myrow["folder"])."\"><img src=\"images/folder.png\" border=\"0\" alt=\"{$myrow["name"]}\" onfocus=\"this.blur()\" /></a><br /></div></ins>";
$folder .= "</div>";
/* Дальше все остается без изменений */
echo '<a href=?page='. ($page - 1) .'>Назад</a> ';
$i=1;
while ($i <= $str)
{
if ($i==$page)
{echo '<strong><a href=?page='.$i.'>'.$i.'</a></strong> ';}
else
{echo '<a href=?page='.$i.'>'.$i.'</a> ';}
$i = $i+1;
}
echo ' <a href=?page='. ($page + 1) .'>Вперед</a>';
?>
Получаю такой вывод в браузер
А это класс mysql.class.php
<?php require_once ("includes/connection.php"); ?>
<?php require_once ("classes/mysql.class.php"); ?>
<?php
$db = new db_class;
$lim = "5";
@$page = $_GET['page'];
$sql = $db->query('SELECT COUNT(*) FROM folder ');
$row = $db->get_row($sql);
$posts = $row[0];
$str = ceil($posts/$lim);
if(empty($page) or $page < 0) $page = 1;
if($page > $str) $page = $str;
$start = $page * $lim - $lim;
$result = $db->query('SELECT * FROM folder LIMIT $start, $lim ');
$folder .= "<div class=\"thumbnails\">";
while($myrow = $db->get_row($result))
$folder .= "<ins class=\"thumbnail\"><div class=\"r\"><a href=\"galery.php?folder=".urlencode($myrow["folder"])."\"><img src=\"images/folder.png\" border=\"0\" alt=\"{$myrow["name"]}\" onfocus=\"this.blur()\" /></a><br /></div></ins>";
$folder .= "</div>";
/* Дальше все остается без изменений */
echo '<a href=?page='. ($page - 1) .'>Назад</a> ';
$i=1;
while ($i <= $str)
{
if ($i==$page)
{echo '<strong><a href=?page='.$i.'>'.$i.'</a></strong> ';}
else
{echo '<a href=?page='.$i.'>'.$i.'</a> ';}
$i = $i+1;
}
echo ' <a href=?page='. ($page + 1) .'>Вперед</a>';
?>
Это не класс mysql.class.php.
Сдается мне, что метод
возвращает строку, когда$sql = $db->query('SELECT COUNT(*) FROM folder ');подразумевает возвращение массива.$sql = $db->query('SELECT COUNT(*) FROM folder LIMIT 1');вернет строку и ошибка пропадет.$result = $db->query('SELECT * FROM folder LIMIT $start, $lim ');
Учите матчасть. Переменные в одинарных кавычках не парсятся и не подставляются ;) то есть, идут в запрос как текст $start, $lim , а не как числа. ;)