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]   

> Описание: Помогите создать правильные ссылки
Exponat
Отправлено: 12 Июня, 2014 - 11:51:58
Post Id



Частый гость


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


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




Пытаюсь сделать архив новостей. На одном сайте нашел такой код
PHP:
скопировать код в буфер обмена
  1. $result=mysql_query("SELECT `date` FROM `news` ORDER BY `date` DESC",$db);
  2. $existsArr=array();
  3. while($row=mysql_fetch_array($result)){
  4.     $date=$row['date'];
  5.     $date=date_create($date);
  6.     $year=date_format($date,'Y'); // выделяем год из даты
  7.     $month=date_format($date,'m'); // выделяем месяц из даты
  8.     if(!isset($existsArr[$year])){
  9.         $existsArr[$year]=array();
  10.     }
  11.     $existsArr[$year][$month]=$month;
  12. }
  13.  
  14. $out='';
  15.  
  16. foreach($existsArr as $key=>$yearRow){
  17.     $out.='<div>'.$key.': ';
  18.  
  19.     for($i=1;$i<=12;$i++){
  20.         $searchStr=($i<10)?'0'.$i:$i;
  21.         if(in_array($searchStr,$yearRow)){
  22.             $out.='<a href="#">'.$searchStr.'</a> ';
  23.         }else{
  24.             $out.=$searchStr.' ';
  25.         }
  26.     }
  27.     $out.='</div>'."\n";
  28. }
  29. echo $out;


Вывод информации получается верным и выглядит так:
2013: 01 02 03 04 05 06 07 08 09 10 11 12
2014: 01 02 03 04 05 06 07 08 09 10 11 12
2012: 01 02 03 04 05 06 07 08 09 10 11 12

Эти ссылки не рабочие. Как мне сделать, чтоб при клике на любой из месяцев открылась страница из всеми новостями из выбранного месяца?
 
 Top
LIME
Отправлено: 12 Июня, 2014 - 11:56:05
Post Id


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


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


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




PHP:
скопировать код в буфер обмена
  1. $out.='<a href="#">'.$searchStr.'</a> ';
что еще тут надо?
всё...я увольняюсь
заатаковали деятели В компании
 
 Top
Exponat
Отправлено: 12 Июня, 2014 - 12:05:03
Post Id



Частый гость


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


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




Это пустая ссылка. Или я что-то не догоняю? Улыбка
 
 Top
esterio
Отправлено: 12 Июня, 2014 - 12:06:25
Post Id



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


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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




аттрибут HREF тега A у вас равен #. А он должен указивать УРЛ
 
 Top
Exponat
Отправлено: 12 Июня, 2014 - 12:09:22
Post Id



Частый гость


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


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




esterio пишет:
аттрибут HREF тега A у вас равен #. А он должен указивать УРЛ


Ну да. Так и есть. Мне нужно сложить рабочий юрл который будет перекидывать на страницу в корой будет выводится новости за определенно выбранный месяц.

Какой должен быть запрос в странице-выводе новостей за определенный месяц?
 
 Top
LIME
Отправлено: 12 Июня, 2014 - 12:12:54
Post Id


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


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


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




это тебя спросить надо
какой должен быть?
 
 Top
Exponat
Отправлено: 12 Июня, 2014 - 12:19:28
Post Id



Частый гость


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


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




Хорошо. Пусть это будет ссылка вида
CODE (html):
скопировать код в буфер обмена
  1. http://www.site.com/?action=news_arhive&month=10


А какой запрос для выборки нужно создать в news_arhive.php?

(Отредактировано автором: 12 Июня, 2014 - 12:22:35)

 
 Top
LIME
Отправлено: 12 Июня, 2014 - 12:23:02
Post Id


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


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


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




госпади помилуй
PHP:
скопировать код в буфер обмена
  1. $out.='<a href="?action=news_arhive&month='.$searchStr.'">'.$searchStr.'</a> ';

ну сложно разве?
 
 Top
Exponat
Отправлено: 12 Июня, 2014 - 12:27:50
Post Id



Частый гость


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


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




Вроде не сложно Подшучивать, дразнить
Но меня больше интересует сам запрос для вывода новостей для определенного месяца....
 
 Top
esterio
Отправлено: 12 Июня, 2014 - 12:32:29
Post Id



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


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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




CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM tableName WHERE ....
 
 Top
Exponat
Отправлено: 12 Июня, 2014 - 12:39:52
Post Id



Частый гость


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


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




esterio пишет:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM tableName WHERE ....


С таблицы news нужно вытянуть дату (столбец date либо date_time), тайтл новостей (title).

Но у меня столбец date содержит дату в таком формате: 12.06.2014. Но есть еще столбец date_time который содержит дату в формате 2014-06-12 11:40:00.
 
 Top
IllusionMH
Отправлено: 12 Июня, 2014 - 12:43:09
Post Id



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


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


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




Exponat, использовать столбец с нормальной датой(а date выкинуть) и использовать функции YEAR и MONTH при сравнении.
 
 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