Прогрес бар

  • Автор темы Автор темы NeoLynx
  • Дата начала Дата начала
Статус
В этой теме нельзя размещать новые ответы.
Мда, Georgy всё сделал с размахом :)

А у меня так получилось:


<?
$start = 12; // любое число первого месяца
$stop = 23; // любое число второго месяца

$start_month = 3; // первый месяц
$stop_month = 4; // второй месяц

$start_day = date("z", mktime(0, 0, 0, $start_month, $start, 2003));
$stop_day = date("z", mktime(0, 0, 0, $stop_month, $stop, 2003));

$cur_day = date("z"); // сегодня

for ($i=$start_day; $i<=$stop_day; $i++)
{
if ($i>$cur_day) {echo '<img src="img/cubew.gif">'; }
else { echo '<img src="img/cubew.gif">'; }
}

?>
 
2 Linker:

oi:) спасиба -- все намного проще - молодца
 
Georgy, у меня получилось примерно тоже самое, что и у тебя.
Но это решение слишком громоздко для этой задачи.

Linker респект.
 
линкер, а если первый месяц - декабрь, а второй - январь?
чем твое решение принципиально отличается от "текущего месяца"? Да ничем.
такое же копание в песочнице и неумение составить простейший алгоритм.
Хотя вам всем давали правильный путь решения.

я бы написал правильное решение, но до сих пор не понимаю задачи. по какому принципу формируется сам период.
пока все формулировки на уровне
- какой у вас телефон?
- беленький, с кнопочками
 
период любой, ты его сам задаешь.
просто до текущей даты одним цветом, после другим.
для примера можешь взять период отсюда
http://blackbird.tagtech.ru/date.php

самое интересное сделать код как можно более аккуратным и компактным.

Очень хотелось бы увидеть решение от гуру (TeaM PHPClub)
 
если я сам буду задавать период, то я буду задавать его без перекрытия.
чтобы программа могла сама определить, в какой части периода она находится.
а от тебя вразумительных объяснений, каким образом вычисляется, что 12 число -то не начало цикла, а середина.
а то, что вы здесь понаписали, это не программа, а полуавтомат, которому надо постоянно задавать нужные параметры вручную.

вот в этом я и вижу твою проблему, мой юный любитель алгоритмов.
ты собрался их сочинять, не понимая даже задачи, которую они должны решить.
 
RomikChef:

Nobody is perfect, I'm nobody :)

NeoLynx:

т.е. нужно каждый раз брать шкалу в 40 дней и вести этот "прогресс бар", а по окончании - заново следующие 40 дней ?
 
пока же твои призывы к написанию кода аналогичны фразе из другого анекдота -
"чего думать - прыгать надо!"
 
2 RomikChef, задача которая стояла передо мной я решил, пусть немного и схитрив. Показал что и как. И так оставлю. Мне интересно, в качестве повышения квалификации, можно ли это реализовать без хитрости не городя огород с массивами, привязками к месяцу и т.д

Linker сказал можно и решил ее более интересным и честным способом.

От тебя (ничего, что я на "ты"?) поступила интересная идея, в ней есть смысл, но я не понимаю как ее можно применить.
В начале треда, задача поставленна конкретней некуда, в ней задан конкретный период, который при необходимости может быть изменен на другой руками. Я даже пример выложил. Что тут может быть непонятно?

Тут не надо Программ, достаточно и полуавтоматов, такова задача. Мой мудрый любитель автоматов.
И призывов никаких нет, все давно поняли и "прыгнули".
Ответ за гуру..., покажи что можно проще и качественней решить задачу.
 
ну-ну.
хамишь ты мне зря.
потому, что не с твоими способностями соображать стоит тут выпендриваться.
задачка-то, ради которой ты собрался заводить новый форум, и так пафосно рассуждаешь об алгоритмах, на самом деле не стоит ни того ни другого.
Это рутина, банальность.
а проблему она составила длятебя и для твоих доброхотов только потому, что ты не дал себе труда подумать над ней. СФОРМУЛИРОВАТЬ прежде, чем решать.
И на все мои попытки указать тебе на это, ты лишь неуклюже хамишь и подначиваешь.
PHP:
$start = "12.03.03";
$end = "24.04.03";

list($d,$m,$y)=explode(".",$end);
$end=mktime(0,0,0,$m,$d++,$y);
list($d,$m,$y)=explode(".",$start);
$today=mktime(0,0,0);
while (($stamp=mktime(0,0,0,$m,$d++,$y))<>$end) {
  echo date("d.m.Y",$stamp);
  if ($stamp <= $today) echo " красный квадратик"; else echo " белый квадратик";
  echo "<br>";
}
 
приведенный код - действительно рабочий, в отличие от варианта Линкера, который решает частный случай.
Вариант георгия не рассматривал, поскольку не воспринимаю большие куски кода.
 
ариант георгия не рассматривал, поскольку не воспринимаю большие куски кода.

почему куски кода -- этов едь рабочая фукнция!
 
> этов едь рабочая фукнция!
Какая она рабочая? Посмотри на раскраску кода ;)
 
функция состоит из количества кода, слишком большого для моего восприятия.
 
2 RomikChef:

ну да... может, но я просто и не старался опимизировать.
 
а я к тебеникаких претензий и не предъявляю.
 
вообще-то, при беглом взгляде на функцию, закрадываются сомнения в ее способности решить поставленную задачу.
 
RomikChef, все, без вопросов, папа.

И хамил не зря, не стоит предвзято относиться к людям и хамить, если ты не понял задачи.
Решение действительно хорошее, респект.

интересно кто-нибудь сможет переплюнуть?

Поповоду форума алгоритмов, я говорил не о себе, а в целом и об алгоритмах никаких рассуждений не вел.
Наверняка есть задачи и посложнее, на подумать.
 
решение не хорошее, а, как я вижу - единственное :-)
остальное - не подходит под определение решения.
заплатки
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху