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]   

> Описание: Создание страниц с списком определенных статей из БД
Ghost_t91aa
Отправлено: 07 Января, 2013 - 17:44:23
Post Id


Новичок


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


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




На страницу выводится список статей, нужно чтобы статьи выводились в зависимости от того какая была нажата ссылка. Т.е если было нажата ссылка "инструменты", то и список выведется из материалов относящихся к категории "инструменты". Как это можно сделать? я только начал изучать php поэтому толком еще не разобрался.

вот подключение к БД и выборка необходимых полей из таблицы (если что то сделала не так буду рад выяснить свои ошибки). я пытался присвоить переменной id число, когда кликаю определенной ссылке, которое должно сравниваться с categories_id при выборке строк таблицы, но не получается...

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $db = mysql_connect("localhost","admin","3326624") or die("не удалось подключиться к серверу");
  3. mysql_select_db("remstroi",$db) or die("Не удалось подключиться к БД");
  4. if(isset($_GET['id'])) {$id = $_GET['id'];}
  5. $sql = "SELECT id, page, categories_id, title, meta_d, meta_k, DATE_FORMAT(date_d,'%d.%m.%Y') AS date, discription FROM contents ORDER BY date_d DESC WHERE categories_id='$id'";
  6. $res = mysql_query($sql,$db) or die(mysql_error());
  7. $myrow = mysql_fetch_array($res) or die("Данные не введены в массив");
  8. ?>


а здесь вывод материалов на экран

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. do
  3.    {
  4.      printf("<table align='center' class='news'>
  5.       <tr>
  6.            <td class='news_title'><a href='view_stati.php?id=%s'><h2>%s</h2></a></td>
  7.       </tr>
  8.       <tr>
  9.            <td class='news_date'>%s</td>
  10.       </tr>
  11.       <tr>
  12.            <td>%s</td>
  13.       </tr>
  14.       <tr>
  15.            <td class='news_footer' style='font-style:italic; font-weight:500' align='right'><a href='view_stati.php?id=%s'>Подробнее...</a></td>
  16.       </tr>
  17.      </table><br>",$myrow["id"],$myrow["title"],$myrow["date"],$myrow["discription"],$myrow["id"]);
  18.     }
  19. while($myrow = mysql_fetch_array($res));
  20. ?>
 
 Top
broshurkaplus
Отправлено: 07 Января, 2013 - 17:59:44
Post Id



Посетитель


Покинул форум
Сообщений всего: 354
Дата рег-ции: Янв. 2011  
Откуда: Пружаны Бресткая обл. Беларусь


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




а где ввод материалов?
полагаю, что как минимум должно быть так, еслт ГЕТ

ссылки
CODE (htmlphp):
скопировать код в буфер обмена
  1. index.php?categories_id=5(инструменты)
  2. index.php?categories_id=4(чтото)


при нажатии вы передадите методом ГЕТ параметр в нужную страницу,
а там
CODE (htmlphp):
скопировать код в буфер обмена
  1. $id=$_GET[categories_id]

а далее запрос... и выведется вам все где ид соответствующий.
минимальный алгоритм таков. естественно проверки там всякие.
должно работать.
покажите какую ошибку выдает
попробуйте
CODE (htmlphp):
скопировать код в буфер обмена
  1. ...WHERE categories_id='".$id."'
  2. или
  3. ...WHERE categories_id=$id

ведь чтото ваш запрос должен возвращать...
 
 Top
Ghost_t91aa
Отправлено: 07 Января, 2013 - 18:06:50
Post Id


Новичок


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


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




вот ошибка

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE categories_id='1'' at line 1
(Добавление)
broshurkaplus пишет:
CODE (htmlphp):
index.php?categories_id=5(инструменты)
index.php?categories_id=4(чтото)


это просто вставляем в теги <a href=""></a>? или еще что то пишем?
(Добавление)
спасибо за ответ. разобрался. у меня стояла сортировка по дате ORDER BY date_d DESC. я ее убрал и все стало работать.
 
 Top
broshurkaplus
Отправлено: 07 Января, 2013 - 18:37:39
Post Id



Посетитель


Покинул форум
Сообщений всего: 354
Дата рег-ции: Янв. 2011  
Откуда: Пружаны Бресткая обл. Беларусь


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




вы пишете что по нажатию на ссылку, так в ссылку.

так онож пишет: синтаксическая ошибка в запросе в строке кода 1

и вроде сначала WHERE, а потом ORDER BY
 
 Top
Ghost_t91aa
Отправлено: 07 Января, 2013 - 19:03:45
Post Id


Новичок


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


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




вот я так и сделал: WHERE, а потом ORDER BY. а было наоборот
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB