Просмотр дат в цикле

levi-de

Новичок
Просмотр дат в цикле

Здравствуйте!

У меня есть таблица с полями date1 и date2 (тип обоих DATE 0000-00-00)

Нужно в php скрипте просмотреть циклом for все даты в интервале от date1 до dare2 с учётом корректности (то есть чтоб не било 45-го мая или 64 июня)


Надо не так, как ниже написанно

for($i=$daten_rows['abdatum'];$i<=$daten_rows['bisdatum'];$i++)
{
print("$i<br />");
}
 

levi-de

Новичок
Я передаю поле с датой в формате 0000-00-00. А насколько мне известно mktime работает вот так (0, 0, 0, 0, 0, 0)

Как мне в таком случае разбить дату?
 

Фанат

oncle terrible
Команда форума
запроси у базы unix_timestamp(date1) и для второго так же.
и в цикле добавляй к этому числу количество секунд в сутках, пока не превысит вторую дату.
вывод форматируй с помощью date
 

levi-de

Новичок
Ну вот что-то намутил, только оно как-то некорректно метки времени записивает

Выводит только 04.04.2006

$daten_result=mysql_query("select * from tabelle_conf where hotelsid='2' group by abdatum");
$daten_rows=mysql_fetch_array($daten_result);


$date_min = time($daten_rows['abdatum']);

$date_max = time($daten_rows['bisdatum']);

print(date("d.m.Y", $date_min));

while ($date_min < $date_max)
{
print(date("d.m.Y", $date_min));
print("<br />");
$date_min=$date_min + (24*60*60);
}
 

Фанат

oncle terrible
Команда форума
забавно.
а ты читал, что я тебе написал?
а что должно получиться из $date_min = time($daten_rows['abdatum']); ?
 

levi-de

Новичок
unix_timestamp(date1)

-~{}~ 04.04.06 14:19:

Ja prochital gde-to, chto funkcija time() vozvraschjaet unix_timestamp. Eto ne tak?
 

Фанат

oncle terrible
Команда форума
ну и где это в твоём коде?
Ja prochital gde-to, chto funkcija time() vozvraschjaet unix_timestamp. Eto ne tak?
читать надо не где-то. а в ДОКУМЕНТАЦИИ. документация доступна на немецком языке. для тех, кто не понимает по-русски.
а где ты прочитал, что time() возвращает unix time если ему подсунуть $daten_rows['abdatum']?
 

levi-de

Новичок
$daten_rows['abdatum'] - eto u menja pervaja data. napr. 14.12.2005

$daten_rows['bisdatum'] - eto u menja vtoraja data. napr. 02.07.2006

unix_timestamp($daten_rows['abdatum']); vidajot oschibku
 

levi-de

Новичок
а где ты прочитал, что time() возвращает unix time если ему подсунуть $daten_rows['abdatum']?
soglasen, ne vozvratit, tak kak time u nas void. Tol'ko schjas prochital

-~{}~ 04.04.06 14:31:

Ja ne znal, chto eto MySQL zapros, dumal funktija PHP..

1146434400 vivodit

-~{}~ 04.04.06 14:45:

Nu vot, smotri, sdelal.. Vrobe rabotaet. Pravil'no tak, ili opjat' chto-to krivo??



$daten_result=mysql_query("select unix_timestamp(abdatum), unix_timestamp(bisdatum) from tabelle_conf where hotelsid='2' group by abdatum");
$daten_rows=mysql_fetch_array($daten_result);

$date_min = $daten_rows['0'];
$date_max = $daten_rows['1'];

while ($date_min <= $date_max)
{
print(date("d.m.Y", $date_min));
print("<br />");
$date_min=$date_min + (24*60*60);
}
 
Сверху