所以我几天来一直在搜索和反复试验,我向这里寻求帮助。
我在我的网站上创建了一个页面,该页面从数据库的表中提取日程信息并将其显示到网页上。我试图从同一个数据库中的第二个表中提取配色方案,当第一个表上的名称与第二个表上的名称匹配时,只有该名称将以分配给它的不同颜色显示。我的表如下所示:
TBL1: id time timeframe 周一 周二 周三 周四 周五 周六 周日 1 12a 00:00:00 名称1 名称2 名称3 名称2 名称5 名称6 名称7 2 1a 01:00:00 名称1 名称2 名称3 名称2 名称5 名称4 名称3 3 2a 02:00:00 名称1 名称2 名称4 名称2 名称2 名称6 名称2 4 3a 03:00:00 名称2 名称2 名称4 名称2 名称3 名称3 名称2
等
TBL2: id 名称 颜色 1 名称1 #hexcolor 2 名称2 #hexcolor2 3 名称3 #hexcolor3 等$query = array('select' => "*", 'tbl' => "Schedule"); $query2 = array('select' => "name, color", 'tbl' => "dj_colors"); $name = "select t1.*, Monday.color, Tuesday.color, Wednesday.color, Thursday.color, Friday.color, Saturday.color, Sunday.color
从时间表 t1 加入 dj_colors 星期一 ON t1.Monday = Monday.name, 周二加入 dj_colors ON t1.Tuesday = Tuesday.name, 加入 dj_colors 星期三 ON t1.Wednesday = 周三名称, 周四加入 dj_colors ON t1.Thursday = Thursday.name, 周五加入 dj_colors ON t1.Friday = Friday.name, 周六加入 dj_colors ON t1.Saturday = 周六名称, 周日加入 dj_colors ON t1.Sunday = Sunday.name";
$DB = new DB(); $result = $DB->select_multi($query); foreach ($result as $arrayLoop) { $printout .= "<tr>"; foreach ($arrayLoop as $field => $data) { if ($field == 'id' || $field == 'TimeFrame') continue; if ($data === $name) $printout .= "<td color=".$color.">".$data."</td>"; else $printout .= "<td class='schedule4'>".$data."</td>"; } $printout .= "</tr>"; }
编辑*这是我想出并尝试的,但我认为我仍然缺少一些东西,因为它仍然没有像我想要的那样工作。我走了头,并以正确的格式给出了我正在使用的实际表的名称。仍然没有拉颜色,但我没有收到任何错误。请多多包涵,我还在学习中。我不是在问答案,只是在哪里寻找和一些有用的提示。