2017-08-30 4 views
0

私は現在、理事長の予定を予約するためのアプリを開発中です。私は予定のためにfullcalendarを使用しています。私は営業時間を別の時間帯や00:30分のブロックにしようとしています。私のデータベーステーブルには、09:00〜18:00のような「開始」と「終了」時間が含まれています。私はwhileループを考えていましたが、今始める方法はありません。それは何らかの配列でなければならない。これについての考えは?営業時間を30分のブロックに分割する方法は?

Monday ['0' => '09:00', 
     '1' => '09:30', 
     '2' => '10:00', 
     ]; 
Tuesday ['0' => '09:00', 
      '1' => '09:30', 
      '2' => '10:00', 
     ]; 

Table structure Appointments Table structure Business_hours

+0

このデータ構造の使用方法をさらに詳しく説明できますか? –

+0

顧客は、予定を予約することができ、利用可能な時間を見ることができます。この利用可能な時間は、ビジネスの営業時間に基づいています。そのため、09:00〜18:00の営業時間には、09:00、09:30、10:00、10:30のような利用可能時間のリストがあり、終了時間18:00に達するまで待ちます。顧客が時間を選択したとき、利用可能なリストにはいないはずです。 –

答えて

0
<?php 
function get_minutes ($start, $end) { 

    while (strtotime($start) <= strtotime($end)) { 
    $minutes[] = date("H:i:s", strtotime("$start")); 
    $start = date("H:i:s", strtotime("$start + 30 mins")) ;  
    } 
return $minutes; 
} 

$minutes = get_minutes('08:00', '10:00'); 
foreach($minutes as $minute) { 
echo $minute .'<br />'; 
} 
?> 
+0

ありがとう、これは私が探していたものです、それは魅力のように動作します。追加の質問私はまた、すでに予約した時間を隠そうとする考えが必要です。私はアポイントメントテーブルの行を持っています:start_date、end_date 2017-06-15 13:37:00のように。予約された時間をどのように隠すことができますか? –

+0

ここでは、データベースの営業時間は常に鋭い時間または半時間となるという前提があります。営業時間が09:15 - 17:30で定義されている場合、このコードはこのエッジケースを処理する必要があります –

+0

はテーブル構造に依存しており、クエリを実行できます。あなたのテーブル構造を見ることができる場合 –

0

これらが予約するタイムスロットがある場合は、スロットを表すデータ構造での方が良いと思います、のように:

Array('2017-01-01' => ('slot_id' => 'Dgf67654' , 
         'from' => '09:00', 
         'to' => '09:30'), 
         ('slot_id' => 'dsff7676', 
         'from' => '09:30', 
         'to' => '10:30'), 
         ... 
) 

上記のget_minutesを適用して、この種の構造を生成します。この種のデータ構造は予約コードで使用する準備ができています

関連する問題