2017-05-28 13 views
0

私のターゲット:私は開始日があり、SQLクエリで予定されている日付を欲しいです。MySQLとPHP:1つの開始日から定期的に取得する

私はカレンダーに簡単なSQLクエリがあり、それが今日のものかどうかを確認します。今日は今日からの会合(今日の会合と同じ日)がカレンダーに表示されます。

$sql = "SELECT * FROM meetings WHERE date = '$today_date'; 

ここでは、ミーティングをシングル、毎週、毎月にすることができる新しい機能が追加されました。私のデータベースには、このデータが "e"(単一)、 "w"(毎週)、 "m"(毎月)で格納される列があります。

今度は、mysqlクエリーソリューションまたは他のヒントを検索して、1つの開始日を持つ今後のすべてのイベントを取得します。

たとえば、:開始日は5月28日です(これは私のデータベースエントリです:開始日と定期的な列:毎週)、会議は毎週の会議です。だから私は6月4日に予定されている会議を私のカレンダーで見たいと思っています。

+0

毎週、毎月のオプションがある場合、どのように上限を定義しますか?将来の時間は無限であるからです:)。または、実際には、1回の会議ごとに個別のエントリがありますか? –

+0

ええ、それは問題です:エントリの終わりはありませんし、私のデータベースに無限のエントリを望んでいません。だから私は1つのエントリだけのソリューションが必要です。 – Martin

答えて

0

仮定に基づいて解決しようとしています。そのため、カレンダーでは一度に1ヶ月表示されます。次の月をクリックすると現在の月が変更されます。ここに擬似コードがあります。

$sql = "SELECT * FROM meetings WHERE date > '$today_date'"; 
$result = $conn->query($sql); 
// Get Current Month [Cur_month] 
while($row = $result->fetch_assoc()) 
{ 
    if($row["meetingtype"] === 'e') // single 
    { 
     // Meeting data 
    } 
    if($row["meetingtype"] === 'w') // weekly 
    { 
     // For loop from 0 .. 3 
     // Display Meeting data 4 times 
     // date = date + 7; 
    } 
    if($row["meetingtype"] === 'm') // Monthly 
    { 
     // just display for cur_month; 
    } 

} 
+1

あなたの答えは@ Umashankarありがとう、それは私が問題を解決するのに役立ちます。 – Martin

+0

解決策:毎月のカレンダーもありますが、最初は毎週カレンダーが必要です。だから、私の質問は今日からそして過去からのすべての会議を得る。私はカレンダーの平日の日(例えば、月曜日)の名前を変数に格納します。それから私の機能では、今日の日からカレンダーからの曜日が会議の同じ日に一致する場所だけを返します。ええ、少し説明が複雑です。 – Martin

+0

マーティン - あなたが答えが好きなら、それを受け入れ、答えをupvoteしてください。 –

関連する問題