|
|
|
| Данный код выводит числа 31 дня от текущего. А можно как-то определить, какие из этих дней выходные? Заранее спасибо.
for ($i = 0; $i <= 30; $i++)
{
$date = date('Y-m-d', strtotime(($i)." day"));
echo "<a href=\"#\">".russ_date('d', strtotime($i." day"))."</a>";
}
|
| |
|
|
|
|
|
|
|
для: kis-kis
(19.12.2008 в 17:09)
| | Можно сделать так -
for ($i = 0; $i <= 30; $i++)
{
$date = date('Y-m-d', strtotime(($i)." day"));
$holiday = date('w', strtotime(($i)." day"));
if ($holiday == 6 or $holiday == 0) $hol="выходной"; else $hol = "";
echo "<b>".russ_date('D', strtotime($i." day"))."</b>".$hol."";
}
|
| |
|
|
|
|
|
|
|
для: kis-kis
(19.12.2008 в 18:13)
| | Не сильно данный запрос будет нагружать хостера?
for ($i = 0; $i <= 30; $i++)
{
$date = date('Y-m-d', strtotime(($i)." day"));
$query = "SELECT id as yes FROM afisha_seance where date_f >= '$date' and date_s <= '$date' group by yes";
$result=mysql_query($query) or die("<B>Error ".mysql_errno()." :</B> ".mysql_error()."");
if (mysql_num_rows($result)!=0)
{
echo "<a href=\"#\">".russ_date('d', strtotime($i." day"))."</a>";
}
else echo "".russ_date('d', strtotime($i." day"))."";
}
|
| |
|
|
|
|
|
|
|
для: kis-kis
(19.12.2008 в 18:58)
| | сильно.
раз в тридцать. | |
|
|
|
|
|
|
|
для: Trianon
(19.12.2008 в 21:42)
| | А как лучше построить запрос? | |
|
|
|
|
|
|
|
для: kis-kis
(22.12.2008 в 10:05)
| | Лучше строить запрос так, чтоб он не вызывался в цикле. | |
|
|
|
|
|
|
|
для: Trianon
(22.12.2008 в 10:09)
| | Можете посоветовать? :) | |
|
|
|
|
|
|
|
для: kis-kis
(22.12.2008 в 10:15)
| | Советую. Запросить строки, дата начала которых раньше левой границы рассматриваемого тридцатидневного интервала, а дата конца, соответственно позже. В нужном порядке.
И обработать их в обычном цикле выборки результата запроса.
При наличии таблицы дат, можно даже не сами строки запросить, а их количество. Сгруппировав запрос по датам.
Скажите, пожалуйста, что означает SELECT id as yes ... GROUP BY yes ? | |
|
|
|
|
|
|
|
для: Trianon
(22.12.2008 в 10:41)
| | Так вы имели ввиду?
$query = "SELECT * FROM afisha_seance where date_f >= NOW() and date_s <= 'DATE_SUB(NOW(), INTERVAL 30 DAY)'";
$result=mysql_query($query) or die("<B>Error ".mysql_errno()." :</B> ".mysql_error()."");
if (mysql_num_rows($result)!=0)
{
while($event = mysql_fetch_array($result))
{
echo "<a href=\"#\">дата</a>";
}
}
|
| |
|
|
|
|
|
|
|
для: kis-kis
(22.12.2008 в 11:17)
| | пожалуй, будет лучше, если Вы оставите свой исходный вариант. | |
|
|
|
|
|
|
|
для: Trianon
(22.12.2008 в 11:49)
| | От чего такая перемена? | |
|
|
|
|
|
|
|
для: Trianon
(22.12.2008 в 11:49)
| | Бьюсь все над тем же календарем :(
Активные даты выводятся ссылками, неактивные просто текстом.
Как можно определить, в данном случае $i, которое идет перед активной ссылкой?
Заранее спасибо!
for ($i = 0; $i <= 30; $i++)
{
$date = date('Y-m-d', strtotime(($i)." day"));
$query_yes = "SELECT * FROM afisha_seance where date_f >= '$date' and date_s <= '$date'";
$result_yes=mysql_query($query_yes) or die("<B>Error ".mysql_errno()." :</B> ".mysql_error()."");
if (mysql_num_rows($result_yes)!=0)
{
echo "<td><a href=\"#\">".date('d', strtotime($i." day"))."</a></td>\n";
}
else echo "<td>".date('d', strtotime($i." day"))."</td>\n";
}
|
| |
|
|
|
|
|
|
|
для: kis-kis
(03.02.2009 в 19:57)
| | что значит "перед" ?
Делайте, пожалуйста, отступы внутри каждых скобок { ... }
Читать невозможно. | |
|
|
|
|
|
|
|
для: Trianon
(03.02.2009 в 20:59)
| |
for ($i = 0; $i <= 30; $i++)
{
$date = date('Y-m-d', strtotime(($i)." day"));
$query_yes = "SELECT * FROM afisha_seance where date_f >= '$date' and date_s <= '$date'";
$result_yes=mysql_query($query_yes) or die("<B>Error ".mysql_errno()." :</B> ".mysql_error()."");
if (mysql_num_rows($result_yes)!=0)
{
echo "<td><a href=\"#\">".date('d', strtotime($i." day"))."</a></td>\n";
}
else echo "<td>".date('d', strtotime($i." day"))."</td>\n";
}
|
Перед выводом этого - echo "<td><a href=\"#\">".date('d', strtotime($i." day"))."</a></td>\n"; | |
|
|
|
|
|
|
|
для: kis-kis
(03.02.2009 в 21:09)
| | Вот хоть убейся веником, я не понимаю вопроса.
Как определить $i которое идет перед <td><a ?
Тогда что значит определить?
$i определяется в заголовке цикла.
И на каждом повторе вырастает на единицу. | |
|
|
|
|
|
|
|
для: Trianon
(03.02.2009 в 21:25)
| | Извиняюсь, если плохо объясняю, я имел ввиду чему равно $i, которое перед ссылкой.
Допустим при выводе у нас получилось так -
1. echo "<td>".date('d', strtotime($i." day"))."</td>\n";
2. echo "<td><a href=\"#\">".date('d', strtotime($i." day"))."</a></td>\n";
3. echo "<td><a href=\"#\">".date('d', strtotime($i." day"))."</a></td>\n";
4. echo "<td>".date('d', strtotime($i." day"))."</td>\n";
5. echo "<td><a href=\"#\">".date('d', strtotime($i." day"))."</a></td>\n";
...
Как определить чему равно $i в 1 и 4 случаях? | |
|
|
|
|
|
|
|
для: kis-kis
(03.02.2009 в 22:24)
| | в первой и четвертой строке переменная $i равна нулю и трем соответственно. И это не зависит от того, есть там (перед, позже) ссылка или её нет. | |
|
|
|
|
|
|
|
для: Trianon
(03.02.2009 в 22:43)
| | Вы не поняли меня... Думаю, наверное, был глупый вопрос с моей стороны... Но все же, спасибо! | |
|
|
|