Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Помогите вставить палидацию!!!!

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: есть код,но по причине своей тупости не могу обьеденить...
zubr_
Отправлено: 08 Февраля, 2016 - 13:14:33
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Февр. 2016  


Помог: 0 раз(а)




и так,ща все по порядку,есть бд mysql вот ее код "create" :
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2.  
  3. CREATE TABLE `news` (
  4.         `news_id` INT(11) NOT NULL AUTO_INCREMENT,
  5.         `news_stamp` INT(11) NOT NULL DEFAULT '0',
  6.         `news_time` VARCHAR(5) NOT NULL DEFAULT '00:00',
  7.         `news_date` DATE NOT NULL DEFAULT '0000-00-00',
  8.         `news_title` TEXT NOT NULL,
  9.         `news_content` TEXT NOT NULL,
  10.         `news_img` CHAR(1) NULL DEFAULT 'n',
  11.         `news_exp` VARCHAR(5) NOT NULL DEFAULT '.jpg',
  12.         PRIMARY KEY (`news_id`)
  13. )
  14. COLLATE='utf8_general_ci'
  15. ENGINE=InnoDB
  16. AUTO_INCREMENT=13
  17. ;
  18.  
  19.  



основной код делает на нее запрос ,выводит список новостей ,то есть news_title (название новости) и ниже news_content ,хоть код не оч но все работает :

PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. <!DOCTYPE html>
  4. <html xmlns="http://www.w3.org/1999/xhtml">
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  7.     <title>
  8.         </title>
  9.         <script src="js.js"></script>
  10.         <script>
  11.         </script>
  12. <link rel="stylesheet" type="text/css" href="css.css" />
  13. </head>
  14. <body>
  15. <?PHP
  16. //Подключаюсь к бд
  17.  
  18. $db = new PDO('mysql:host=localhost;dbname=news', 'root', '');
  19. $db->query("SET CHARACTER SET utf8");
  20. $db->query("SELECT * FROM users");
  21.  
  22. //Можно вычислить количество строк
  23. $stmt = $db->query('SELECT * FROM news');
  24. $row_count = $stmt->rowCount();
  25. $dada_cout = $row_count;
  26.  
  27.   $stm = $db->query("SELECT *, LEFT(`news_content`, 250) AS `news_content` FROM `news` ");
  28. while($row = $stm->fetch(PDO::FETCH_ASSOC)) {
  29.  $no=$row['news_title'];
  30.      $now=$row['news_content'];
  31.      $id=$row['news_id'];
  32.      $data=$row['news_date'];
  33.      echo ("<div id='news$id'class='text'><b id='b'>$no </b><br> $now .... <br> <b id='b0'>Дата новости :$data</b></div>");
  34. }
  35.  
  36. ?>
  37. <iframe class="frame" id='frame' >
  38.        
  39. </iframe>
  40. <script>
  41. $(document).ready(function(){
  42.     $('.text').click(function(){
  43.         var id=(this.id);
  44.         if (id=='news2'){
  45.        
  46.                 $('#frame').load(id +'.html');
  47.                
  48.         }
  49.         else{
  50.  
  51.         }
  52.  
  53.     });
  54. });
  55.         </script>
  56.  
  57. </body>
  58. </html>
  59.  
  60.  


нужно как то сюда приделать палидацию,есть несколько примеров,но не могу обьеденить ,прошу вашей помощи .....


первый пример :

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.   /* Входные параметры */
  4.   $count_pages = 50;
  5.   $active = 15;
  6.   $count_show_pages = 10;
  7.   $url = "/index.php";
  8.   $url_page = "/index.php?page=";
  9.   if ($count_pages > 1) { // Всё это только если количество страниц больше 1
  10.     /* Дальше идёт вычисление первой выводимой страницы и последней (чтобы текущая страница была где-то посредине, если это возможно, и чтобы общая сумма выводимых страниц была равна count_show_pages, либо меньше, если количество страниц недостаточно) */
  11.     $left = $active - 1;
  12.     $right = $count_pages - $active;
  13.     if ($left < floor($count_show_pages / 2)) $start = 1;
  14.     else $start = $active - floor($count_show_pages / 2);
  15.     $end = $start + $count_show_pages - 1;
  16.     if ($end > $count_pages) {
  17.       $start -= ($end - $count_pages);
  18.       $end = $count_pages;
  19.       if ($start < 1) $start = 1;
  20.     }
  21. ?>
  22.   <!-- Дальше идёт вывод Pagination -->
  23.   <div id="pagination">
  24.     <span>Страницы: </span>
  25.     <?PHP if ($active != 1) { ?>
  26.       <a href="<?=$url?>" title="Первая страница"><<<</a>
  27.       <a href="<?PHP if ($active == 2) { ?><?=$url?><?PHP } else { ?><?=$url_page.($active - 1)?><?PHP } ?>" title="Предыдущая страница"><</a>
  28.     <?PHP } ?>
  29.     <?PHP for ($i = $start; $i <= $end; $i++) { ?>
  30.       <?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 } ?>
  31.     <?PHP } ?>
  32.     <?PHP if ($active != $count_pages) { ?>
  33.       <a href="<?=$url_page.($active + 1)?>" title="Следующая страница">></a>
  34.       <a href="<?=$url_page.$count_pages?>" title="Последняя страница">>>></a>
  35.     <?PHP } ?>
  36.   </div>
  37. <?PHP } ?>
  38.  
  39.  



и вот более лаконичный:

PHP:
скопировать код в буфер обмена
  1.  
  2. if ($result=mysqli_query($link,'SELECT FLOOR((COUNT(*)+9)/10) FROM `news`')))
  3. {
  4.   list($pc)=mysqli_fetch_row($result);
  5.   mysqli_free_result($result);
  6.   // две строчки ниже – это излюбленная практика отображать первую страницу
  7.   // не под номером 1, а без номера (читай под номером 0), делая при этом номер 1 некорректным
  8.   if ($pn==0) $pn++;
  9.   elseif ($pn==1) $pn--;
  10.   if ($pn==0||$pn>$pc) notfound();
  11.   elseif ($result=mysqli_query($link,'SELECT * FROM `news` LIMIT '.(($pn-1)*10).',10'))
  12.   {
  13.     $range=6;
  14.     $first=$pn-1-($pn-2)%$range;
  15.     $last=$pc>$first+$range?$first+$range:$pc;
  16.   }
  17.   else unavailable();
  18. }
  19. else unavailable();
  20.  
  21.  


CODE (html):
скопировать код в буфер обмена
  1.  
  2. <nav>
  3.     <ul class="pagination">
  4. <?php for ($i=$first; $i<=$last; $i++): ?>
  5.       <li<?= $i==$pn?' class="active"':'' ?>><a href="/news<?= pagelink($i) ?>"><?= $i ?></a></li>
  6. <?php endfor; if ($pc>$last): ?>
  7.       <li><a href="/news<?= pagelink($i) ?>">Далее</a></li>
  8. <?php endif; ?>
  9.     </ul>
  10.   </nav>
  11.  


но при использовании этого кода .... мне выдало такие ошибки :
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:
скопировать код в буфер обмена
  1. <!DOCTYPE html>
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  5.     <title>
  6.     </title>
  7.     <script src="js.js"></script>
  8. <link rel="stylesheet" type="text/css" href="css.css" />
  9. </head>
  10. <body>
  11. <?PHP
  12. //Подключаюсь к бд
  13. $link = mysql_connect('localhost', 'root', '');// My login = localhost  my,password= root
  14. mysql_set_charset('utf8');//кодировка utf8
  15. if (!$link) {
  16.     die('подключение = fulse: ' . mysql_error());
  17. }
  18. $db_selected = mysql_select_db('news', $link);
  19. if (!$db_selected) {
  20.     die ('Не удалось выбрать базу: ' . mysql_error());
  21. }
  22. if ($result=mysql_query($link,'SELECT FLOOR((COUNT(*)+9)/10) FROM `news`'))
  23. {
  24.   list($pc)=mysql_fetch_row($result);
  25.   mysql_free_result($result);
  26.   // две строчки ниже – это излюбленная практика отображать первую страницу
  27.   // не под номером 1, а без номера (читай под номером 0), делая при этом номер 1 некорректным
  28.   if ($pn==0) $pn++;
  29.   elseif ($pn==1) $pn--;
  30.   if ($pn==0||$pn>$pc) notfound();
  31.   elseif ($result=mysql_query($link,'SELECT * FROM `news` LIMIT '.(($pn-1)*10).',10'))
  32.   {
  33.     $range=6;
  34.     $first=$pn-1-($pn-2)%$range;
  35.     $last=$pc>$first+$range?$first+$range:$pc;
  36.   }
  37.   else unavailable();
  38. }
  39. else unavailable();
  40.  
  41. ?>
  42. </body>
  43.  <nav>
  44.     <ul class="pagination">
  45. <?PHP for ($i=$first; $i<=$last; $i++): ?>
  46.       <li<?= $i==$pn?' class="active"':'' ?>><a href="/news<?= pagelink($i) ?>"><?= $i ?></a></li>
  47. <?PHP endfor; if ($pc>$last): ?>
  48.       <li><a href="/news<?= pagelink($i) ?>">Далее</a></li>
  49. <?PHP endif; ?>
  50.     </ul>
  51.   </nav>
  52. </html>

Прикреплено изображение (Нажмите для увеличения)
2016-02-08_111546.jpg

(Отредактировано автором: 08 Февраля, 2016 - 13:24:47)

 
 Top
DelphinPRO
Отправлено: 08 Февраля, 2016 - 15:14:04
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




палидация. да.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с СУБД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB