Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Помогите составить цикл для вывода времени

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Extazy
Отправлено: 10 Мая, 2015 - 18:40:20
Post Id


Посетитель


Покинул форум
Сообщений всего: 490
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




Ув. гуру!
У меня был вот такой код, выводящий время с 10 до 22 часов:

PHP:
скопировать код в буфер обмена
  1. for ($b=10; $b<21; $b++) {
  2.                 $news = mysql_query("SELECT * FROM test WHERE date_order = '".$date." ".$b.":00'");
  3. }


Что-то голова совсем не соображает, как проще сделать запись, чтобы вывести время:

Цитата:
10:00
11:15
12:30
13:45
15:00
16:15
17:30
18:45
20:00
21:15
22:30


Помогите, пожалуйста Растерялся
 
 Top
Ts.Saltan
Отправлено: 10 Мая, 2015 - 19:00:08
Post Id



Посетитель


Покинул форум
Сообщений всего: 384
Дата рег-ции: Дек. 2013  
Откуда: Belarus


Помог: 22 раз(а)




как-то так

(Добавление)
или сделать второй цикл внутри

(Отредактировано автором: 10 Мая, 2015 - 19:03:35)

 
 Top
Extazy
Отправлено: 10 Мая, 2015 - 19:41:58
Post Id


Посетитель


Покинул форум
Сообщений всего: 490
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




Второй.такой цикл вроде ведь выведет:
10:00
10:15
10:30
10:45

11:00
...

Или я неправильно понимаю?
 
 Top
Ts.Saltan
Отправлено: 10 Мая, 2015 - 19:46:57
Post Id



Посетитель


Покинул форум
Сообщений всего: 384
Дата рег-ции: Дек. 2013  
Откуда: Belarus


Помог: 22 раз(а)




а, точно, неправильно понял суть вопроса
тогда надо работать с минутами
10.00 - 600 минут
22.30 - 1350 мин

PHP:
скопировать код в буфер обмена
  1.  
  2. for($min = 600; $min < 1350; $min+=75){
  3.    $h = ceil($min/60);
  4.    $m = $min%60;
  5.    echo $h.':'.$m;
  6. }
  7.  
 
 Top
OlegOleg1980
Отправлено: 10 Мая, 2015 - 19:48:13
Post Id


Новичок


Покинул форум
Сообщений всего: 47
Дата рег-ции: Апр. 2013  


Помог: 0 раз(а)




Extazy пишет:
Второй.такой цикл вроде ведь выведет:
10:00
10:15
10:30
10:45

11:00
...

Или я неправильно понимаю?


Храни время в формате Unix - намного проще работать и избежишь многих сложностей.
Раньше тоже пробовал различные форматы, но, как и предсказывали "старшие товарищи" пришел все-таки к самому простому - Unix формату. А с ним уже потом делай что хочешь - функций навалом.
 
 Top
Ts.Saltan
Отправлено: 10 Мая, 2015 - 19:49:34
Post Id



Посетитель


Покинул форум
Сообщений всего: 384
Дата рег-ции: Дек. 2013  
Откуда: Belarus


Помог: 22 раз(а)




OlegOleg1980 пишет:
Храни время в формате Unix

так даже лучше, универсальнее
 
 Top
Extazy
Отправлено: 11 Мая, 2015 - 11:19:47
Post Id


Посетитель


Покинул форум
Сообщений всего: 490
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




Код Ts.Saltan мне нравится Улыбка Спасибо! Unix чуть позже освою.

Но подскажите, почему такой код:

PHP:
скопировать код в буфер обмена
  1.            for($min = 600; $min < 1350; $min+=75) {
  2.                 $h = ceil($min/60);
  3.                 $m = $min%60;
  4.  
  5.                 print "<form">
  6.                        <input ".$booked." value=\"".$h.":".$m."\">
  7.                       </form>";
  8.             }


Вывел (смотрите скрин)

Почему перескакивает на +1 час каждые 4 часа? Растерялся
Прикреплено изображение (Нажмите для увеличения)
min.jpg
 
 Top
Extazy
Отправлено: 12 Мая, 2015 - 09:05:29
Post Id


Посетитель


Покинул форум
Сообщений всего: 490
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




Ктонибудь знает?
 
 Top
lastdays
Отправлено: 12 Мая, 2015 - 09:16:47
Post Id



Частый гость


Покинул форум
Сообщений всего: 221
Дата рег-ции: Март 2013  


Помог: 7 раз(а)




ceil возвращает больше число, если например 4.3 выпало.
 
 Top
Ts.Saltan
Отправлено: 12 Мая, 2015 - 19:07:34
Post Id



Посетитель


Покинул форум
Сообщений всего: 384
Дата рег-ции: Дек. 2013  
Откуда: Belarus


Помог: 22 раз(а)




lastdays, ой точно, перепутал функции
PHP:
скопировать код в буфер обмена
  1. for($min = 600; $min < 1350; $min+=75) {
  2.                 $h = floor($min/60);
  3. //...

так верно
 
 Top
DeadCowsDontMoo
Отправлено: 18 Мая, 2015 - 14:11:45
Post Id


Забанен


Покинул форум
Сообщений всего: 8
Дата рег-ции: Май 2015  


Помог: 0 раз(а)




Это не ответ на ваш вопрос, но вставить свои 5 копеек уж очень хочется.

Возможно, пока не поздно, стоит вообще отказаться от вывода времени средствами php? А вместо этого обратить свой взор на Ajax?) понимаете о чем я?
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB