Новичок
Покинул форум
Сообщений всего: 5
Дата рег-ции: Февр. 2016
Помог: 0 раз(а)
|
и так,ща все по порядку,есть бд mysql вот ее код "create" :
CODE ( SQL):
скопировать код в буфер обмена
CREATE TABLE `news` ( `news_id` INT(11) NOT NULL AUTO_INCREMENT, `news_stamp` INT(11) NOT NULL DEFAULT '0', `news_time` VARCHAR(5) NOT NULL DEFAULT '00:00', `news_date` DATE NOT NULL DEFAULT '0000-00-00', `news_title` TEXT NOT NULL, `news_content` TEXT NOT NULL, `news_img` CHAR(1) NULL DEFAULT 'n', `news_exp` VARCHAR(5) NOT NULL DEFAULT '.jpg', PRIMARY KEY (`news_id`) ) COLLATE='utf8_general_ci' ENGINE=InnoDB AUTO_INCREMENT=13 ;
основной код делает на нее запрос ,выводит список новостей ,то есть news_title (название новости) и ниже news_content ,хоть код не оч но все работает :
PHP:
скопировать код в буфер обмена
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title> </title> <script src="js.js"></script> <script> </script> <link rel="stylesheet" type="text/css" href="css.css" /> </head> <body> <?PHP //Подключаюсь к бд $db = new PDO('mysql:host=localhost;dbname=news', 'root', ''); $db->query("SET CHARACTER SET utf8"); $db->query("SELECT * FROM users"); //Можно вычислить количество строк $stmt = $db->query('SELECT * FROM news'); $row_count = $stmt->rowCount(); $dada_cout = $row_count; $stm = $db->query("SELECT *, LEFT(`news_content`, 250) AS `news_content` FROM `news` "); while($row = $stm->fetch(PDO::FETCH_ASSOC)) { $no=$row['news_title']; $now=$row['news_content']; $id=$row['news_id']; $data=$row['news_date']; echo ("<div id='news$id'class='text'><b id='b'>$no </b><br> $now .... <br> <b id='b0'>Дата новости :$data</b></div>"); } ?> <iframe class="frame" id='frame' > </iframe> <script> $(document).ready(function(){ $('.text').click(function(){ var id=(this.id); if (id=='news2'){ $('#frame').load(id +'.html'); } else{ } }); }); </script> </body> </html>
нужно как то сюда приделать палидацию,есть несколько примеров,но не могу обьеденить ,прошу вашей помощи .....
первый пример :
PHP:
скопировать код в буфер обмена
<?PHP /* Входные параметры */ $count_pages = 50; $active = 15; $count_show_pages = 10; $url = "/index.php"; $url_page = "/index.php?page="; if ($count_pages > 1) { // Всё это только если количество страниц больше 1 /* Дальше идёт вычисление первой выводимой страницы и последней (чтобы текущая страница была где-то посредине, если это возможно, и чтобы общая сумма выводимых страниц была равна count_show_pages, либо меньше, если количество страниц недостаточно) */ $left = $active - 1; $right = $count_pages - $active; if ($left < floor($count_show_pages / 2 )) $start = 1; else $start = $active - floor($count_show_pages / 2 ); $end = $start + $count_show_pages - 1; if ($end > $count_pages) { $start -= ($end - $count_pages); $end = $count_pages; if ($start < 1) $start = 1; } ?> <!-- Дальше идёт вывод Pagination --> <div id="pagination"> <span>Страницы: </span> <?PHP if ($active != 1) { ?> <a href="<?=$url?>" title="Первая страница"><<<</a> <a href="<?PHP if ($active == 2) { ?><?=$url?><?PHP } else { ?><?=$url_page.($active - 1)?><?PHP } ?>" title="Предыдущая страница"><</a> <?PHP } ?> <?PHP for ($i = $start; $i <= $end; $i++) { ?> <?PHP if ($i == $active) { ?><span><?=$i?></span><?PHP } else { ?><a href="<?PHP if ($i == 1) { ?><?=$url?><?PHP } else { ?><?=$url_page.$i?><?PHP } ?>"><?=$i?></a><?PHP } ?> <?PHP } ?> <?PHP if ($active != $count_pages) { ?> <a href="<?=$url_page.($active + 1)?>" title="Следующая страница">></a> <a href="<?=$url_page.$count_pages?>" title="Последняя страница">>>></a> <?PHP } ?> </div> <?PHP } ?>
и вот более лаконичный:
PHP:
скопировать код в буфер обмена
if ($result=mysqli_query($link,'SELECT FLOOR((COUNT(*)+9)/10) FROM `news`'))) { // две строчки ниже – это излюбленная практика отображать первую страницу // не под номером 1, а без номера (читай под номером 0), делая при этом номер 1 некорректным if ($pn==0) $pn++; elseif ($pn==1) $pn--; if ($pn==0||$pn>$pc) notfound(); elseif ($result=mysqli_query($link,'SELECT * FROM `news` LIMIT '.(($pn-1)*10).',10')) { $range=6; $first=$pn-1-($pn-2)%$range; $last=$pc>$first+$range?$first+$range:$pc; } else unavailable(); } else unavailable();
CODE ( html):
скопировать код в буфер обмена
<nav> <ul class="pagination"> <?php for ($i=$first; $i<=$last; $i++): ?> <li<?= $i==$pn?' class="active"':'' ?>><a href="/news<?= pagelink($i) ?>"><?= $i ?></a></li> <?php endfor; if ($pc>$last): ?> <li><a href="/news<?= pagelink($i) ?>">Далее</a></li> <?php endif; ?> </ul> </nav>
но при использовании этого кода .... мне выдало такие ошибки :
Parse error: syntax error, unexpected ')' in D:\OpenServer\domains\localhost\news\pag.php on line 22
я убрал одну ")" выдает вот что:
Warning: mysqli_query() expects parameter 1 to be mysqli, resource given in D:\OpenServer\domains\localhost\news\pag.php on line 22
Fatal error: Call to undefined function unavailable() in D:\OpenServer\domains\localhost\news\pag.php on line 39
помогите это все правильно вставить плиз .....зарание спасибо)
точнее пагинацию))))
(Добавление)
нашел ошибки в коде сделал вот так,тоже тупизм)
PHP:
скопировать код в буфер обмена
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title> </title> <script src="js.js"></script> <link rel="stylesheet" type="text/css" href="css.css" /> </head> <body> <?PHP //Подключаюсь к бд $link = mysql_connect('localhost', 'root', '');// My login = localhost my,password= root if (!$link) { } if (!$db_selected) { } if ($result=mysql_query($link,'SELECT FLOOR((COUNT(*)+9)/10) FROM `news`')) { // две строчки ниже – это излюбленная практика отображать первую страницу // не под номером 1, а без номера (читай под номером 0), делая при этом номер 1 некорректным if ($pn==0) $pn++; elseif ($pn==1) $pn--; if ($pn==0||$pn>$pc) notfound(); elseif ($result=mysql_query($link,'SELECT * FROM `news` LIMIT '.(($pn-1)*10).',10')) { $range=6; $first=$pn-1-($pn-2)%$range; $last=$pc>$first+$range?$first+$range:$pc; } else unavailable(); } else unavailable(); ?> </body> <nav> <ul class="pagination"> <?PHP for ($i=$first; $i<=$last; $i++): ?> <li<?= $i==$pn?' class="active"':'' ?>><a href="/news<?= pagelink($i) ?>"><?= $i ?></a></li> <?PHP endfor; if ($pc>$last): ?> <li><a href="/news<?= pagelink($i) ?>">Далее</a></li> <?PHP endif; ?> </ul> </nav> </html>
Прикреплено изображение (Нажмите для увеличения)
(Отредактировано автором: 08 Февраля, 2016 - 13:24:47)
|