2017-06-14 115 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; 
    } 

} 

我希望能帮到你。