• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 545
  • Last Modified:

make a timtable in html from information from mysql

I have a table:
WEEKTIMETABLE
---------------
username varchar(10)
day varchar(10)
Time varchar(10)
Subject varchar(100)(this is the description)
CourseCode varchar(10)
Semester int(1)
CourseYear(1)

I want to make a html timetable by selecting certain rows from the database using php commands.
Example

time        Monday tuesday wednesday thursday friday saturday sunday
______________________
09.00     lecture   party  
10.00
11/00

etc....
how would i make a table like this and for each day-time slot take the info for example
select subject
from weeklytimetable
where day = 'Monday' and time = '09.00' and username = userinsession

thanks a million for any help you can give!!
0
AnnMarieB
Asked:
AnnMarieB
  • 3
  • 3
1 Solution
 
twocandlesCommented:
You issue your query ordered by time and day (attention: first field time, not date) filtering for the next 7 days (so no day is repeated!). Then, (in pseudocode) program this algorithm:

<tr>
<td>
if( currentrecord.day == monday ) and ( currentrecord.time == 9:00 )
{
  echo( subject );
  currentrecord = nextrecord;
}
</td>
<td>
if( currentrecord.day == tuesday ) and ( currentrecord.time == 9.00 )
{
  echo( subject );
   currentrecord = nextrecord;
 }
</td>

And so on. When you reach the end of the week, then change the row: </tr>

Of course, this can be optimized using arrays so you don't have to write an if for every day and time.
0
 
AnnMarieBAuthor Commented:
thanks for your help but dont understand the currentrecord = nextrecord;
and how would i say if (weeklytimetable.day = monday and weeklytimetable = tuesday and weeklytimetable = 'currentuserinsession)
echo subject;
0
 
AnnMarieBAuthor Commented:
sorry i meant
(weeklytimetable.day = monday and weeklytimetable.time =09.00 and weeklytimetable.username = 'currentuserinsession)
0
Cloud Class® Course: C++ 11 Fundamentals

This course will introduce you to C++ 11 and teach you about syntax fundamentals.

 
twocandlesCommented:
currentrecord = nextrecord;

means to process next record.

If you want the results for only one user, then filter it in you query. Take a look at the code. It's not a working solution but it'll give an idea. I didn't take care of possible errors.

The table you're using stores time and day as varchars ... it may be a problem when ordering unless you prepend a 0 for times lower than 10.00. The days may become a problem too. Maybe you should order the results programatically.



<?php
 
// Here you build up your query. I made a guess using username 
// from your session. Also you'll need some logic to calculate 
// previous_monday and next_sunday
$sql = "SELECT day, Time, Subject
        FROM   WEEKTIMETABLE
        WHERE  username = ".$_SESSION["username"]
          AND  previous_monday <= day and day <= next_sunday
        ORDER by Time, day;
 
// You should have a valid connection to the db before using
// this command. 
$res= mysql_query($sql);
 
// Get the rows as an associative array
$row = mysql_fetch_assoc($res);
 
// Now start building the actual html
// Display the header (first row) of your table with the day names.
 
<tr>
<td>9.00</td>
<td>
<?
// First check if $row contains a valid value, and then check if
// matches the day-time you're about to print
if( ( $row ) && ( $row["day"] == "Monday" ) && ( $row["Time"] == "9.00" ) )
{
    echo $row["Subject"];
    $row = mysql_fetch_assoc($res);
}
?>
</td>
 
// Now repeat that for every time and day
?>

Open in new window

0
 
AnnMarieBAuthor Commented:
thanks for your help but no matter what i change the error comes out
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in C:\wamp\www\StudentOrganiser\Noname3.php on line 8 and i have a connection to the database
0
 
twocandlesCommented:
Could you post your code, please?
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 3
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now