【发布时间】:2015-10-30 22:32:48
【问题描述】:
我在星期一有一组课程,它们在 5 个不同的房间进行。我想使用 div 根据位置在列中显示它们并按位置排序,开始。我得到的数据没有问题(找到在星期一运行的所有类),但它只是在一列中列出它,所以我的 foreach 数组不正确。 这是$数据
$calendar = array();
foreach ($data as $row) {
$calendar[$row[0]][] = $row;
}
foreach($calendar as $key => $row) {
foreach($row as $field => $value) {
$recNew[$field][] = $value;
}
}
这里是数组摘录
array(1) {
[""]=> array(20)
{
[0]=> array(1) {
["calendars"]=> array(9) {
["id"]=> string(3) "742"
["title"]=> string(4) "Yoga"
["start_date"]=> string(10) "2015-09-14"
["end_date"]=> string(10) "0000-00-00"
["start_time"]=> string(8) "20:00:00"
["end_time"]=> string(8) "21:00:00"
["location"]=> string(8) "Studio 1"
["calendar_category_id"]=> string(1) "3"
["recur_mon"]=> string(1) "1"
}
}
[1]=> array(1) {
["calendars"]=> array(9) {
["id"]=> string(3) "743"
["title"]=> string(2) "GX"
["start_date"]=> string(10) "2015-09-14"
["end_date"]=> string(10) "0000-00-00"
["start_time"]=> string(8) "18:00:00"
["end_time"]=> string(8) "18:45:00"
["location"]=> string(8) "Studio 1"
["calendar_category_id"]=> string(1) "3"
["recur_mon"]=> string(1) "1"
} }
[2]=> array(1) {
["calendars"]=> array(9) {
["id"]=> string(3) "447"
["title"]=> string(4) "Spin"
["start_date"]=> string(10) "2015-09-14"
["end_date"]=> string(10) "0000-00-00"
["start_time"]=> string(8) "09:15:00"
["end_time"]=> string(8) "10:00:00"
["location"]=> string(8) "Studio 1"
["calendar_category_id"]=> string(1) "3"
["recur_mon"]=> string(1) "1"
} }
[3]=> array(1) {
["calendars"]=> array(22) {
["id"]=> string(3) "448"
["title"]=> string(4) "Spin"
["start_date"]=> string(10) "2015-09-14"
["end_date"]=> string(10) "0000-00-00"
["start_time"]=> string(8) "12:15:00"
["end_time"]=> string(8) "13:00:00"
["location"]=> string(8) "Studio 1"
["calendar_category_id"]=> string(1) "3"
["recur_mon"]=> string(1) "1" } }
[4]=> array(1) {
["calendars"]=> array(22) {
["id"]=> string(3) "684"
["title"]=> string(4) "Spin"
["start_date"]=> string(10) "2015-09-14"
["end_date"]=> string(10) "0000-00-00"
["start_time"]=> string(8) "16:30:00"
["end_time"]=> string(8) "17:15:00"
["location"]=> string(8) "Studio 1"
["calendar_category_id"]=> string(1) "3"
["recur_mon"]=> string(1) "1"
} }
[5]=> array(1) {
["calendars"]=> array(22) {
["id"]=> string(3) "545"
["title"]=> string(4) "Yoga"
["start_date"]=> string(10) "2015-09-14"
["end_date"]=> string(10) "0000-00-00"
["start_time"]=> string(8) "18:15:00"
["end_time"]=> string(8) "19:00:00"
["location"]=> string(8) "Studio 1"
["calendar_category_id"]=> string(1) "3"
["recur_mon"]=> string(1) "1"
} }
[6]=> array(1) { ["calendars"]=> array(9) {
["id"]=> string(3) "549"
["title"]=> string(4) "Yoga"
["start_date"]=> string(10) "2015-09-14"
["end_date"]=> string(10) "0000-00-00"
["start_time"]=> string(8) "09:00:00"
["end_time"]=> string(8) "10:00:00"
["location"]=> string(8) "Studio 2"
["calendar_category_id"]=> string(1) "3"
["recur_mon"]=> string(1) "1" } }
[7]=> array(1) { ["calendars"]=> array(9) {
["id"]=> string(3) "688"
["title"]=> string(7) "Weights"
["start_date"]=> string(10) "2015-09-14"
["end_date"]=> string(10) "0000-00-00"
["start_time"]=> string(8) "10:10:00"
["end_time"]=> string(8) "11:00:00"
["location"]=> string(8) "Studio 2"
["calendar_category_id"]=> string(1) "3"
["recur_mon"]=> string(1) "1"
} }
[8]=> array(1) { ["calendars"]=> array(9) {
["id"]=> string(3) "572"
["title"]=> string(4) "Yoga"
["start_date"]=> string(10) "2015-09-14"
["end_date"]=> string(10) "0000-00-00"
["start_time"]=> string(8) "12:10:00"
["end_time"]=> string(8) "13:10:00"
["location"]=> string(8) "Studio 2"
["calendar_category_id"]=> string(1) "3"
["recur_mon"]=> string(1) "1"
} }
[9]=> array(1) { ["calendars"]=> array(9) {
["id"]=> string(3) "548"
["title"]=> string(4) "Spin"
["start_date"]=> string(10) "2015-09-14"
["end_date"]=> string(10) "0000-00-00"
["start_time"]=> string(8) "16:00:00"
["end_time"]=> string(8) "16:55:00"
["location"]=> string(8) "Studio 2"
["calendar_category_id"]=> string(1) "3"
["recur_mon"]=> string(1) "1"
} }
[10]=> array(1) { ["calendars"]=> array(9) {
["id"]=> string(3) "573"
["title"]=> string(11) "Power Yoga"
["start_date"]=> string(10) "2015-09-14"
["end_date"]=> string(10) "0000-00-00"
["start_time"]=> string(8) "18:45:00"
["end_time"]=> string(8) "19:45:00"
["location"]=> string(8) "Studio 2"
["calendar_category_id"]=> string(1) "3"
["recur_mon"]=> string(1) "1"
} }
[11]=> array(1) { ["calendars"]=> array(9) {
["id"]=> string(3) "742"
["title"]=> string(4) "Yoga"
["start_date"]=> string(10) "2015-09-14"
["end_date"]=> string(10) "0000-00-00"
["start_time"]=> string(8) "20:00:00"
["end_time"]=> string(8) "21:00:00"
["location"]=> string(8) "Studio 2"
["calendar_category_id"]=> string(1) "3"
["recur_mon"]=> string(1) "1"
} }
[12]=> array(1) { ["calendars"]=> array(9) {
["id"]=> string(3) "552"
["title"]=> string(5) "Zumba"
["start_date"]=> string(10) "2015-09-14"
["end_date"]=> string(10) "0000-00-00"
["start_time"]=> string(8) "10:15:00"
["end_time"]=> string(8) "11:15:00"
["location"]=> string(8) "Studio 3"
["calendar_category_id"]=> string(1) "3"
["recur_mon"]=> string(1) "1"
} }
[13]=> array(1) { ["calendars"]=> array(9) {
["id"]=> string(3) "622"
["title"]=> string(4) "Yoga"
["start_date"]=> string(10) "2015-09-14"
["end_date"]=> string(10) "0000-00-00"
["start_time"]=> string(8) "11:30:00"
["end_time"]=> string(8) "12:00:00"
["location"]=> string(8) "Studio 3"
["calendar_category_id"]=> string(1) "3"
["recur_mon"]=> string(1) "1"
} }
[14]=> array(1) { ["calendars"]=> array(9) {
["id"]=> string(3) "570"
["title"]=> string(22) "Body Pump (Doriana P.)"
["start_date"]=> string(10) "2015-09-14"
["end_date"]=> string(10) "0000-00-00"
["start_time"]=> string(8) "12:15:00"
["end_time"]=> string(8) "13:15:00"
["location"]=> string(8) "Studio 3"
["calendar_category_id"]=> string(1) "3"
["recur_mon"]=> string(1) "1"
} }
[15]=> array(1) { ["calendars"]=> array(9) {
["id"]=> string(3) "740"
["title"]=> string(4) "Spin"
["start_date"]=> string(10) "2015-09-14"
["end_date"]=> string(10) "0000-00-00"
["start_time"]=> string(8) "13:30:00"
["end_time"]=> string(8) "14:00:00"
["location"]=> string(8) "Studio 4"
["calendar_category_id"]=> string(1) "3"
["recur_mon"]=> string(1) "1
} }
[16]=> array(1) { ["calendars"]=> array(9) {
["id"]=> string(3) "623"
["title"]=> string(7) "Weights"
["start_date"]=> string(10) "2015-09-14"
["end_date"]=> string(10) "0000-00-00"
["start_time"]=> string(8) "16:45:00"
["end_time"]=> string(8) "17:45:00"
["location"]=> string(8) "Studio 4"
["calendar_category_id"]=> string(1) "3"
["recur_mon"]=> string(1) "1"
} }
[17]=> array(1) { ["calendars"]=> array(9) {
["id"]=> string(3) "586"
["title"]=> string(2) "GX"
["start_date"]=> string(10) "2015-09-14"
["end_date"]=> string(10) "0000-00-00"
["start_time"]=> string(8) "18:00:00"
["end_time"]=> string(8) "18:30:00"
["location"]=> string(8) "Studio 5"
["calendar_category_id"]=> string(1) "3"
["recur_mon"]=> string(1) "1"
} }
[18]=> array(1) { ["calendars"]=> array(9) {
["id"]=> string(3) "613"
["title"]=> string(7) "Weights"
["start_date"]=> string(10) "2015-09-14"
["end_date"]=> string(10) "0000-00-00"
["start_time"]=> string(8) "18:45:00"
["end_time"]=> string(8) "19:30:00"
["location"]=> string(8) "Studio 5"
["calendar_category_id"]=> string(1) "3"
["recur_mon"]=> string(1) "1"
} }
[19]=> array(1) { ["calendars"]=> array(9) {
["id"]=> string(3) "621"
["title"]=> string(5) "Zumba"
["start_date"]=> string(10) "2015-09-14"
["end_date"]=> string(10) "0000-00-00"
["start_time"]=> string(8) "19:45:00"
["end_time"]=> string(8) "20:45:00"
["location"]=> string(8) "Studio 5"
["calendar_category_id"]=> string(1) "3"
["recur_mon"]=> string(1) "1"
} }
}
<?php foreach ($recNew as $key => $classes) { ?>
<div class="locations-wrapper">
<div class="my-locations"><?php echo $location[$key]; ?></div>
<?php foreach ($classes as $class) : ?>
<!-- class info here -->
<div class="class">
<h4><?php echo $class['calendars']['title']; ?></h4>
</div><!-- end div class -->
<?php endforeach; ?>
</div>
<?php } ?>
可能需要位置作为此工作的关键。
【问题讨论】:
-
我不知道您的脚本是如何生成您需要的输出的,但如果是这样,将其内容保留在 css 中的位置浮动将解决您的问题。一般来说,如果你能用你的 php 获得正确的 html 结构,那么样式几乎可以是你想要的任何 css。
-
考虑旋转表格,使
Studio 1, Studio 2,...堆叠在一起,他们的班级向右出。编码和样式会更容易 -
您可以为该位置的阵列添加另一个层。会去
"" => array( 0 => array( 'calendars' => array( 'Studio 2' => array "id"=> "742",...更容易for循环 -
是的,我在设置宽度的 div 上有一个左浮动,但我的问题出在脚本中,并让不同的位置在新列中开始。
-
@sloga:在你的代码中添加你的 $data 数组,我可以帮助你
标签: php multidimensional-array foreach