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]   

> Без описания
alpotemkin
Отправлено: 16 Декабря, 2009 - 20:23:47
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Дек. 2009  
Откуда: Санкт-Петербург


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




Доброго времени суток!

В данный момент пишу сайт. И возник вопрос, который не знаю, как решить. А он звучит так:
На сайт добавляются новости и есть вывод краткой версии и полной. Как выглядит код, чтобы выводилась краткая новость со ссылкой на полную?

В данный момент у меня такой скрипт:

CODE (text):
скопировать код в буфер обмена
  1. <?php
  2.  
  3. include ('auth.php');
  4.  
  5. /* Определяем количество сообщений на странице */
  6. $lim = "10";
  7. @$page = $_GET['page'];
  8. /* Меняем table на название вашей таблицы и не забываем указывать дополнительные параметры выборки (если они у вас есть) */
  9. $res = mysql_query("SELECT COUNT(*) FROM elbrus_docs");
  10. $row = mysql_fetch_array($res);
  11. $posts = $row[0];
  12. $str = ceil($posts/$lim);
  13. if(empty($page) or $page < 0) $page = 1;
  14. if($page > $str) $page = $str;
  15. $start = $page * $lim - $lim;
  16. /* Дальше подставляете свой код вывода данных из базы в цикле, но обязательно укажите LIMIT $start, $lim */
  17. $result = mysql_query("SELECT name,text FROM elbrus_docs ORDER BY name DESC LIMIT $start, $lim",$db);
  18. $myrow = mysql_fetch_array($result);
  19. $n=mysql_num_rows($result);
  20.  echo "<td>";
  21.  
  22. // и теперь в цикле выводим построчно
  23. for($i=0;$i<$n;$i++)
  24.  echo
  25. "<div class='blue'><b>",mysql_result($result,$i,name),
  26. "</b></div>
  27. <div style='margin: 2px 0px 10px;'>",mysql_result($result,$i,text),
  28. "</div>";
  29. echo "</td>";
  30. {printf ("<p>%s</p>",$myrow["title"]);}
  31. while ($myrow = mysql_fetch_array ($result));
  32.  
  33. ?>


Искал в поисковиках и на этом форуме, но ничего не нашел. Я еще учу PHP, потому просьба не пинать и не отсылать на мануалы и учебники, а дать пример скрипта с небольшими комментариями.
Заранее спасибо за помощь.
 
 Top
Viper
Отправлено: 17 Декабря, 2009 - 07:47:24
Post Id



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


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


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




PHP:
скопировать код в буфер обмена
  1. function str_trim($str, $lim, $chr = '&#8230;') {
  2.         if (strlen($str = $str) <= $lim) return $str;
  3.         return substr($str, 0, $lim - 3).$chr;
  4. }


где $str выводимый текст, а $lim нужное кол-во символов.
а далее уже можете сделать ссылку на полную новость. т.е. к примеру в $char задать

CODE (text):
скопировать код в буфер обмена
  1. ...<br /><span class="read_more">news.php?showFull=1&id=1000</span>


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 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