2016-02-01 210 views
2

我想提出一个方案,以增加门店数量,其拥有自己的开闭时间(这可能是不同的日子不同)组列名具有相同的价值

用于存储开我的数据库结构和关闭时间是

enter image description here

因此,虽然从这个表我想组列名具有相同的价值..

像第一家店输出取我的数据应该是

monday, tuesday, wednesday, thrusday, friday, saturday, sunday => 10:00-am to 8:00-pm 

而去年店输出应该

monday, tuesday, wednesday, friday, saturday => 10:00-am to 8:00-pm 

thrusday => 9:30-am to 5:00-pm 

sunday => 10:00-am to 4:30-pm 

所以,我怎么能写查询获取记录这样的..

谢谢

+0

化妆如果值相同,则数组的列值和数组值将成为列名称,否则请在数组中输出新数组 –

+0

?例如----> $ result = ['星期一,星期二,星期三,星期五,星期六'=> '10:00-am至8:00 -pm','thrusday'=>'9:30-am至5 :00-pm','sunday'=> '10:00-am到4:30-pm'] – Monty

+0

@Monty,yes它也可以工作... –

回答

0

也许这将帮助你。

$array =这是来自数据库,并处理其输入截至目前。

$standardTime =保存商店默认开启和关闭时间的数组。

我不知道这将如何可能与SQL或直接查询,但在这里,我已经试图做的PHP脚本。希望这会帮助你。

$array = array(
     'monday' => "10:30-am to 08:00-pm", 
     'tuesday' => "10:30-am to 08:00-pm", 
     'wedensday' => "10:30-am to 08:00-pm", 
     'thursday' => "09:30-am to 05:00-pm", 
     'friday' => "10:30-am to 08:00-pm", 
     'saturday' => "10:30-am to 08:00-pm", 
     'sunday' => "10:00-am to 04:30-pm", 
    ); 

    $standardTime = array("10:30-am to 08:00-pm","10:30-am to 08:00-pm","10:30-am to 08:00-pm","10:30-am to 08:00-pm","10:30-am to 08:00-pm","10:30-am to 08:00-pm","10:30-am to 08:00-pm"); 
    $diff = array_diff($array,$standardTime); 
    $daysWithDiffTimmings = ''; 
    if(is_array($diff) && count($diff) > 0) { 
     $daysThatHaveDiffTime = array_keys($diff); 
     foreach($daysThatHaveDiffTime as $day) { 
      $daysWithDiffTimmings.= $day.' = '.$diff[$day]."<br/>"; 
      unset($array[$day]); 
     } 
    } 

    $remainingDaysWithSameTime = array_keys($array); 
    $daysWithSameTime = implode(",", $remainingDaysWithSameTime); 
    $daysWithSameTime .= ' = 10:30-am to 08:00-pm<br/>'; 

    echo $daysWithSameTime; 
    echo $daysWithDiffTimmings; 

这会给你输出:

monday,tuesday,wedensday,friday,saturday = 10:30-am to 08:00-pm 
thursday = 09:30-am to 05:00-pm 
sunday = 10:00-am to 04:30-pm 
0

试试这个:

$question = array(
     'monday' => '10:00-am to 8:00-pm', 
     'tuesday' => '10:00-am to 8:00-pm', 
     'wednesday' => '10:00-am to 8:00-pm', 
     'thrusday' => '9:30-am to 5:00-pm', 
     'friday' => '10:00-am to 8:00-pm', 
     'saturday' => '10:00-am to 8:00-pm', 
     'sunday' => '10:00-am to 4:30-pm', 
    ); 
$result = array(); 
foreach ($question as $key => $value) { 
    if(isset($result[$value])) 
     $result[$value] .= ', '.$key; 
    else 
     $result[$value] = $key; 
} 
echo "<pre>".print_r(array_flip($result),1)."</pre>"; 

OUTPUT:

Array 
(
    [monday, tuesday, wednesday, friday, saturday] => 10:00-am to 8:00-pm 
    [thrusday] => 9:30-am to 5:00-pm 
    [sunday] => 10:00-am to 4:30-pm 
)