2017-06-14 114 views
0

我被卡住了'while'循環中的陣列

我會解釋一下這個概念;我檢索一段時間後修改的查詢的數據(日期),在我正確修改日期後,然後啓動一次切換。 在此開關中,我想將日期添加到顯示「2017年中的日期」+日期的表格中,但在此集合中,我想插入日期並且不起作用。 如果我初始化一個變量的例子:$ x =「15:06」;有用。幫幫我!

下面是相應的代碼:盒子$ annee_selectionne不起作用

$req_public_holiday = $bdd - > query('SELECT * FROM public_holiday'); 


while ($donnees_public_holiday = $req_public_holiday - > fetch()) { 

    $format_date = date('Y.m.d', strtotime($donnees_public_holiday['date'])); 
    $var1 = explode('.', $format_date); 

    $year_selectionne = $var1[0]; 
    $month_selectionne = $var1[1]; 
    $day_selectionne = $var1[2]; 
    $date_x = $day_selectionne. 
    ":".$month_selectionne; 


    switch ($year_selectionne) { 
    case 2013: 
     $free_day = array('01:01', '01:04', '01:05', '08:05', '09:05', '14:07', '15:08', '01:11', '11:11', '25:12'); 
     break; 
    case 2014: 
     $free_day = array('01:01', '21:04', '01:05', '08:05', '29:05', '09:06', '14:07', '15:08', '01:11', '11:11', '25:12'); 
     break; 
    case 2015: 
     $free_day = array('01:01', '06:04', '01:05', '08:05', '14:05', '25:05', '14:07', '15:08', '01:11', '11:11', '25:12'); 
     break; 
    case 2016: 
     $free_day = array('01:01', '28:03', '01:05', '05:05', '14:07', '15:08', '01:11', '11:11', '25:12'); 
     break; 
     problem-- > 
    case $year_selectionne: 
     $free_day = array($day_selectionne.':'.$month_selectionne); 
     break; 
    default: 
     $free_day = array('01:01', '01:05', '08:05', '14:07', '15:08', '01:11', '11:11', '25:12'); 
     break; 
    } 

} 
+0

你應該添加一些HTML,也許一些CSS ..你可以去https://www.jsfiddle.net並把所有的代碼在那裏。在這裏張貼jsfiddle URL ..作爲評論或編輯您的問題並插入它。 –

+0

我不明白 - 初始化一個變量有什麼問題;你應該初始化你的變量,否則他們將被定義爲?所有的價值觀是否都一樣,或者是什麼問題? –

+0

還有phpfiddle.org用於製作php小提琴 –

回答

0

我認爲更好的方法是創建月變量:要在陣列中,而是添加日期值(PHP array_push())

只需創建一個類型爲array()的$ month_date變量,然後使用該方法將其推入。 您可能想要進行if..else檢查以查看該變量是否已經存在。

+0

@ igor-paiva顯示了我建議使用array_push() 的相同的事情,這對nosperato必須有幫助。 :) – anugrah

0

我更改了您的代碼並使用了功能array_push()

$req_public_holiday = $bdd - > query('SELECT * FROM public_holiday'); 


while ($donnees_public_holiday = $req_public_holiday - > fetch()) { 

    $format_date = date('Y.m.d', strtotime($donnees_public_holiday['date'])); 
    $var1 = explode('.', $format_date); 

    $year_selectionne = $var1[0]; 
    $month_selectionne = $var1[1]; 
    $day_selectionne = $var1[2]; 
    $date_x = $day_selectionne. 
    ":".$month_selectionne; 


    switch ($year_selectionne) { 
    case 2013: 
     $free_day = array('01:01', '01:04', '01:05', '08:05', '09:05', '14:07', '15:08', '01:11', '11:11', '25:12'); 
     break; 
    case 2014: 
     $free_day = array('01:01', '21:04', '01:05', '08:05', '29:05', '09:06', '14:07', '15:08', '01:11', '11:11', '25:12'); 
     break; 
    case 2015: 
     $free_day = array('01:01', '06:04', '01:05', '08:05', '14:05', '25:05', '14:07', '15:08', '01:11', '11:11', '25:12'); 
     break; 
    case 2016: 
     $free_day = array('01:01', '28:03', '01:05', '05:05', '14:07', '15:08', '01:11', '11:11', '25:12'); 
     break; 

    case date('Y'): 
     $free_day = array_push($free_day, $day_selectionne.':'.$month_selectionne); 
     break; 
    default: 

     $free_day = array('01:01', '01:05', '08:05', '14:07', '15:08', '01:11', '11:11', '25:12'); 
     break; 
    } 

} 

我希望能幫到你。