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

Форум PHP

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

 

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

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

тема: Вывод куска кода в зависимости от даты
 
 автор: Hithlin   (25.03.2009 в 04:00)   письмо автору
 
 

Можно ли реализовать такую штуку? Есть, допустим, определенные даты или интервалы, в которые на странице выводится какая-нибудь, например, картинка. Ну, там, к примеру, 1 января - елочка, 2 января - белочка, 8 марта - мимозы какие-нибудь. А, допустим, в те дни, которые не прописаны в базе, на этом месте какая-то дефолтная штуковина. Примерно как тут:


<?php

$temp
=array();

$temp=file('varia.txt');
$size_temp=sizeof($temp);

// вывод строки из varia.txt
echo $temp[mt_rand(0,$size_temp-1)]; 

?>


- но только не рандомно, а в зависимости от даты на сервере. Спасибо!

P.S.: Прошу учесть, что я в php не понимаю ничего, то есть совсем.

  Ответить  
 
 автор: sim5   (25.03.2009 в 05:04)   письмо автору
 
   для: Hithlin   (25.03.2009 в 04:00)
 

Ну закрепите за датами определенные картинки и выводите их, делая запрос по дате.

  Ответить  
 
 автор: Trianon   (25.03.2009 в 09:21)   письмо автору
 
   для: Hithlin   (25.03.2009 в 04:00)
 

dates.txt

-----:...
01.01: <img src="tree.jpg" /> С Новым годом!
02.01: <img src="squirel.jpg" />
08.03: <img src="mimose.jpg" /> Поздравляем!

<?php 
$list 
= array();
$temp=file('dates.txt');
foreach(
$temp as line)
{
  list(
$key$val) = explode(':'$line1);
  
$list[$key] = $val;
}
$temp date('d.m');
$temp = isset($list[$temp]) ? $list[$temp] : @$list['-----'];
echo 
$temp;
?>

  Ответить  
 
 автор: Hithlin   (25.03.2009 в 14:27)   письмо автору
 
   для: Trianon   (25.03.2009 в 09:21)
 

Спасибо, только что-то оно выдает ошибку в 4-й строке (которая

foreach($temp as line)


). Будьте добры, посмотрите, что там не так.

И еще вопрос: а в те дни, которые не описаны в dates.txt, что будет выдаваться на страницу?

  Ответить  
 
 автор: Trianon   (25.03.2009 в 14:31)   письмо автору
 
   для: Hithlin   (25.03.2009 в 14:27)
 

1. опечатка. Должно быть
foreach($temp as $line)



2. будет выдаваться строка из файла , помеченная как -----

  Ответить  
 
 автор: sim5   (25.03.2009 в 14:31)   письмо автору
 
   для: Hithlin   (25.03.2009 в 14:27)
 

<?
//.......
foreach($temp as $line)

  Ответить  
 
 автор: Hithlin   (25.03.2009 в 15:03)   письмо автору
 
   для: sim5   (25.03.2009 в 14:31)
 

Спасибо. Исправил. Теперь ошибка не выдается. Но и результатов тоже никаких не происходит. В коде у меня:

index.html
<div id=right>
<?php include ('~right.shtml'); ?>
</div>


~right.shtml
<?php
$list 
= array();
$temp=file('feasts.txt');
foreach(
$temp as $line)
{
  list(
$key$val) = explode(':'$line1);
  
$list[$key] = $val;
}
$temp date('d.m');
$temp = isset($list[$temp]) ? $list[$temp] : @$list['-----'];
echo 
$temp;
?>


А на странице получается просто:

<div id=right>
</div>


При этом другие php-шные куски на той же странице нормально отображаются. В чем может быть дело?

  Ответить  
 
 автор: Trianon   (25.03.2009 в 15:36)   письмо автору
 
   для: Hithlin   (25.03.2009 в 15:03)
 

файл feasts.txt прикрепите пожалуйста.
В конце следующей строки нужно 1 изменить на 2
list($key, $val) = explode(':', $line, 2);

  Ответить  
 
 автор: Hithlin   (25.03.2009 в 16:04)   письмо автору
 
   для: Trianon   (25.03.2009 в 15:36)
 

О! Изменил, все заработало! Еще раз огромное спасибо.

  Ответить  
Rambler's Top100
вверх

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