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]   

> Без описания
saimand
Отправлено: 23 Августа, 2011 - 01:07:08
Post Id


Новичок


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


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




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

Есть таблица с полями id, title, kr_opis (краткое описание новости), pol_opis (полное описание новости). Добавление в базу новостей и вывод получилось сделать, а вот как сделать вывод полного описания новости ума не приложу Огорчение Помогите пожалуйста с решением данного вопроса, заранее спасибо!

Вот часть кода отвечающая за вывод новостей (вывод заголовка новости и краткого описания)

CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. function DisplayNews(){
  3. //проверка на наличие новостей в базе
  4. $q=mysql_query("SELECT * FROM news");
  5. $numpages=mysql_num_rows($q);
  6. //если нет новостей
  7. if ($numpages==0) {echo"В данный момент нет новостей";}
  8. //если есть новости, выводим их
  9. else{
  10. $query=mysql_query("SELECT * FROM news ORDER BY id DESC");
  11. while($news=mysql_fetch_array($query)) {
  12. echo "Новость: <strong>".$news['title']."<br>--------<br></strong><p>".$news['kr_opis']."</p><br>******<br><br><br>";
  13. }
  14. ?>

(Отредактировано автором: 23 Августа, 2011 - 01:10:27)

 
 Top
LIME
Отправлено: 23 Августа, 2011 - 04:03:01
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




передавайте идентификатор полной новости в ссылке "подробнее" или как она у вас там называется
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. function DisplayNews(){
  3. //проверка на наличие новостей в базе
  4. $q=mysql_query("SELECT * FROM news");
  5. $numpages=mysql_num_rows($q);
  6. //если нет новостей
  7. if ($numpages==0) {echo"В данный момент нет новостей";}
  8. //если есть новости, выводим их
  9. else{
  10. $query=mysql_query("SELECT * FROM news ORDER BY id DESC");
  11. while($news=mysql_fetch_array($query)) {
  12. echo "Новость: <strong>".$news['title']."<br>--------<br></strong><p>"
  13. .($_GET['id']!==$news['id'])?$news['kr_opis']."<br/><a href='скрипт вывода.php?id=".$news['id']."'>подробнее</a>":$news['pol_opis'].
  14. "</p><br/>******<br/><br/><br/>";
  15. }
  16. ?>

(Отредактировано автором: 23 Августа, 2011 - 08:18:27)

 
 Top
saimand
Отправлено: 23 Августа, 2011 - 13:47:00
Post Id


Новичок


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


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




LIME спасибо за помощь, но у меня ругается на строчку (в Вашем коде под номером 13), пишет: Undefined index: id

З.Ы. сильно не пинайте, я только учу php =)
 
 Top
Viper
Отправлено: 23 Августа, 2011 - 13:53:02
Post Id



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


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


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




saimand cделайте так
PHP:
скопировать код в буфер обмена
  1. $id = isset($_GET['id']) ? $_GET['id'] : null;

и в скрипте сделайте проверку на null. Т.е. в данном случае у вас будет заданно значение по умолчанию, а проверкой вы сможете сообщить юзеру что произошла ошибка и новость с данным id не найдена.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
saimand
Отправлено: 23 Августа, 2011 - 14:01:57
Post Id


Новичок


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


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




Viper спасибо, но не совсем пойму где в скрипте эту проверку сделать...
 
 Top
LIME
Отправлено: 23 Августа, 2011 - 15:11:04
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




сюда
PHP:
скопировать код в буфер обмена
  1. echo "Новость: <strong>".$news['title']."<br>--------<br></strong><p>"
  2. .($id!==$news['id'])?$news['kr_opis']."<br/><a href='скрипт вывода.php?id=".$news['id']."'>подробнее</a>":$news['pol_opis'].
  3. "</p><br/>******<br/><br/><br/>";
 
 Top
saimand
Отправлено: 23 Августа, 2011 - 15:59:09
Post Id


Новичок


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


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




LIME,Viper спасибо вам, все работает! тему можно закрывать

Вывожу так:

PHP:
скопировать код в буфер обмена
  1. function GetFullNews(){
  2. $test=$_GET['id'];
  3. $sql="SELECT `poln_opis` FROM `news` WHERE `id`=$test";
  4. $obj = mysql_query($sql);
  5. echo "<b>Титл:</b> ".$test."<br><br>";
  6. while($n=mysql_fetch_array($obj)) {
  7. echo "<b>Полный текст:</b> ".$n['poln_opis'];}
  8. }

(Отредактировано автором: 23 Августа, 2011 - 22:47:55)

 
 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