Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Календарь - подсветить даты, где есть новости...
 
 автор: dinky   (14.12.2005 в 20:24)   письмо автору
 
 

Всем спасибо что заглянули!!!! =)
А теперь по возможности помогите ...
У меня есть календарь... соответственно в этом календаре есть дни. И таблица с date (тип Date). не все заполнено .. по умолчанию все выставлено как 0000-00-00. но постепенно строки будут заполняться реальной датой. Смысл в том , что мне надо сделать так, чтобы в календаре показывались даты по такому принципу:
Если по этой дате есть записи в таблице - одним цветом(шрифтом)
Если нет по этой дате записей - другим цветом(шрифтом)
вот как составить запрос с этой датой... я не понимаю....
ХЕЛП!!!

   
 
 автор: Евгений Петров   (14.12.2005 в 21:05)   письмо автору
 
   для: dinky   (14.12.2005 в 20:24)
 

Ну что то вроде такого:
SELECT date,COUNT(date) FROM tbl GROUP BY DATE_FORMAT(date,"%d")

Выведет дни и кол-во записей в каждом дне. Проверяйте, если кол-во не ноль, значит одним цветом, если ноль или нет даты вообще - другим.

   
 
 автор: dinky   (15.12.2005 в 15:18)   письмо автору
 
   для: Евгений Петров   (14.12.2005 в 21:05)
 

Вот ... выкидывает такую ошибку
Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in

   
 
 автор: Евгений Петров   (15.12.2005 в 21:19)   письмо автору
 
   для: Евгений Петров   (14.12.2005 в 21:05)
 

Ну а вы как писали? Дословно чтоли? Надо примерно так:
<?
  $query 
mysql_query("SELECT date,COUNT(date) FROM tbl GROUP BY DATE_FORMAT(date,"%d")");
  if(
$query)
  {
    while(
$fetch mysql_fetch_array($query))
      echo 
$fetch[0]." ".$fetch[1]."<br>";
  }
  else
    echo 
mysql_error();
?>

   
 
 автор: cheops   (15.12.2005 в 22:29)   письмо автору
 
   для: Евгений Петров   (15.12.2005 в 21:19)
 

Только двойные кавычки лучше экранировать или заменить на одинарные
<? 
  $query 
mysql_query("SELECT date,COUNT(date) FROM tbl GROUP BY DATE_FORMAT(date,'%d')"); 
  if(
$query
  { 
    while(
$fetch mysql_fetch_array($query)) 
      echo 
$fetch[0]." ".$fetch[1]."<br>"
  } 
  else 
    echo 
mysql_error(); 
?>

   
 
 автор: dinky   (16.12.2005 в 13:48)   письмо автору
 
   для: cheops   (15.12.2005 в 22:29)
 

Ну .... работает... Но как мне эти данные сопоставить с каждым днем в календаре ??
Вот код вывода календаря..... Но ведь, помоему, это все действительно для всех дней в месяце? или я не прав?

for ($i=0;$i<$ac_now*7;$i++)
        {
        if ($i%7==0) {echo "</tr>\n<tr align=center bgcolor=$ac_main_color>\n\t";}
        if ($i-$ac_1_dow+2!=$ac_j_dom) {echo "<td>";} else echo "<td bgcolor=$ac_second_color>";
        if (($i<$ac_1_dow-1)||($i>$ac_nod+$ac_1_dow-2)) {echo "&nbsp;";} else {
        
        $zzz=$i-$ac_1_dow+2;
 
if($fetch=0){
    echo "<a href=\"arch.php?month=$ac_month&year=$ac_year&day=$zzz\">$zzz";        
}else{
    echo "<a href=\"arch.php?month=$ac_month&year=$ac_year&day=$zzz\"><font size=\"3\" face=\"Verdana, Arial, Helvetica, sans-serif\">$zzz";        
}

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования