基于数组格式下载MySQL数据?

时间:2012-08-12 21:17:50

标签: php mysql

我已经设置了一个MySQL数据库,以便有类的日期和时间,例如:

 class  |      class1      |      class2      |       class3       |
--------------------------------------------------------------------
physics | Tue@1@Mr. Foobar | Thu@4@Ms. Barfoo | Fri@1@Mr. Bobsmith |
math    | Mon@4@Ms. Foobar | Tue@3@Ms. Barfoo | Fri@2@Mr. Lala     |
cs      | Tue@2@Mr. Foobar | Fri@4@Ms. Barfoo |                    |

基本上,它是数据库中的数组格式化值,我计划在需要时进行爆炸() - 但我没有意识到我必须进行更细粒度的搜索。

数组格式为Day@Period@Teacher

例如,如果今天是星期二,您如何建议我按顺序获得星期二的所有课程,例如:

Today's Classes
1. Physics
2. CS
3. Math

或者我应该放弃class1分隔到class1dayclass1periodclass1teacher

我最好的想法是:

$date = $date("l");
mysql_query("
SELECT * 
FROM classes 
WHERE class1 OR class2 OR class3
LIKE '$date%' ORDER BY //(I have no clue what to order by)
");

干杯, 任何帮助非常感谢!

1 个答案:

答案 0 :(得分:1)

可以使用以下查询来完成。

SELECT class 
FROM   table tbl1 
WHERE  Substring(class1, 1, 3) = 'Tue' 
        OR Substring(class2, 1, 3) = 'Tue' 
        OR Substring(class3, 1, 3) = 'Tue' 

但是你应该规范化你的数据库。这将使搜索和减少数据冗余变得更容易。