[prog] php & mysql
wolf
wolf at wolfrising.net
Thu Feb 26 23:07:49 EST 2004
Thank you, I'll work on that for a bit and see how I do : )
This was what I was sort of trying , is it at all possible to get this
to work? Or am I straying
too far off track? Of course, I still need to get it to build the table
: ) I thought it I could get
this to work without any errors (which I haven't managed yet), then I
could figure
out the echo statements, or is that a bad approach to take?
$day_abbrev_array = array("Mon", "Tue", "Wed", "Thu", "Fri");
for( $i = 0; $i < 9; $i++) { // loop thru periods
foreach ($day_abbrev_array as $day) { // loop thru days
$query_Recordset1 = "select room_code, UPPER(c.title) AS course_title,
f.l_name from section s, course c, faculty f";
$query_Recordset1 .= " where s.c_code = c.c_code and s.f_code_inst =
f.f_code and term='fall' and year=2003 AND schedule like '%Mon/6%' AND
s.campus_code = 'SCE' order by s.room_code, s.c_code";
$result = mysql_query($queryString);
while ($res_array = mysql_fetch_assoc( $result )) { // loop thru
classes
$room = $res_array[ 'room_code' ];
$grid[ $i ][ $day ][ $room ] ] = $res_array[ 'title' ] . "<br>" .
$res_array[ 'l_name' ];
}
}
}
On Feb 26, 2004, at 7:44 PM, Jacinta Richardson wrote:
>
> On Thu, 26 Feb 2004, wolf wrote:
>
>> I've slightly revised the select statement to the following:
>> $query_Recordset1 = "select room_code, UPPER(c.title) AS course_title,
>> f.l_name from section s, course c, faculty f";
>> $query_Recordset1 .= " where s.c_code = c.c_code and s.f_code_inst =
>> f.f_code and term='fall' and year=2003 AND schedule like '%Mon/6%'
>> AND
>> s.campus_code = 'SCE' order by s.room_code, s.c_code";
>
> I don't think you needed to change the SQL to make the code work.
> However
> if this gives you more of the results you want then that's great. Can
> I
> assume you're still getting the same kind of data out without reading
> the
> SQL?
>
>> however, I don't quite seem to be able to get the php part working
>> still, from checking my
>> php book it seems that @can not be used for error checking ( if that's
>> what it was intended for)
>> and even with commenting that out, I still receiving an error of
>> parsing error on line 14.
>
> What I gave you was 90% Perl. Of course it's not going to work in PHP.
> Let's see if I can PHP-ize it a bit for you now. I don't promise this
> works, I don't promise that I won't miss anything. If I do miss
> something look carefully at the changes I make around it and see if you
> can guess what it should look like.
>
> If it doesn't work come back to us with what it is doing and what
> errors
> it's giving you. Not "I'm getting a parsing error on line 14" but
> rather: "I get this error ".... parse error ..." at line 14 which is
> this line: ....";
>
>>> <?php
>>> while($row_Recordset1 = mysql_fetch_assoc($Recordset1)) {
>
> That should work in php.
>
>>>
>>> # split the schedule up on commas and put into an array
>>> @split = split( ",", $row_Recordset1['schedule']);
>
> @split is an array in Per. You probably need something like:
>
> $split = split(", ", $row_Recordset1['schedule']);
>
>>> # for each item in the schedule
>>> foreach $value (@split) {
>
> foreach ($split as $value) {
>
> I think.
>
>>> # split it into day and hour
>>> ($day, $time) = split ("/", $value);
>
> list($day, $time) = split("/", $value);
>
>>> $room = $row_Recordset1['room_code'];
>
> Should work in php.
>
>>>
>>> # add data to day_time structure [1]
>>> # first check we're not overwriting anything
>>> if(exists $day_time{$room}{$day}{$time}) {
>
> if(array_key_exists $day_time[$room][$day][$time]) {
>
> Maybe. Depending on whether php allows you to nest structures like
> this.
>
>>> warn "$room is double booked on $day at $time between
>>> ".
>>> "$row_Recordset1['course_title'] - ".
>>> "$row_Recordset1['l_name'] and ".
>>> "$day_time{$room}{$day}{$time}{course} - ".
>>> "$day_time{$room}{$day}{$time}{faculty}\n";
>
> Warn is a Perl error function. Maybe?
>
> fprintf(STDERR, "..... message above ....");
>
> there's probably a good php alternative, but I can't think of it right
> now.
>
>>> }
>>> else
>>> {
>>> # add course, faculty to this room/day/time.
>>> $day_time{$room}{$day}{$time} = {
>>> course => $row_Recordset1['course_title'],
>>> faculty => $row_Recordset1['l_name']
>>> };
>
> This is probably:
>
> $day_time[$room][$day][$time] =
> array( course =>
> $row_Recordset1['course_title'],
> faculty => $row_Recordset1['l_name']
> );
>
> I think that should work....
>
>
>>> }
>>> }
>>> }
>>>
>>> # Now we print out our data structure in a nice table
>>> foreach $room (1 .. 14) { # assuming rooms 1 - 14 {
>
> foreach (array(1, 2, 3, 4, 5, 6, 7 etc) as $room) {
>
> Does PHP have a .. operator for creating a list of sequential numbers?
>
>>> print "<tr>";
>>> $tr = 1;
>>> print "<td>$room</td>";
>
> That should all work.
>
>>> foreach $time ( "9", "12", "3" ) { # assuming 3 periods
>
> foreach (array( "9", "12", "3" ) as $time) {
>
>>> # Start each new time on a new row except the first
>>> # pad out the room value so that everything lines up
>>> if($tr == 0) {
>>> print "<tr>";
>>> print "<td> l</td>";
>>> }
>>> print "<td>$time</td>";
>>> $tr = 0;
>
> That should all work.
>
>>> foreach $day ("Mon", "Tues", "Wed", "Thur", "Fri") {
>
> foreach (array("Mon", "Tues", "Wed", "Thur", "Fri") as
> $day) {
>
>
>>> if(exists $day_time{$room}{$day}{$time}) {
>
> if(array_key_exists($day_time[$room][$day][$time])
> {
>
>>> print
>>> "<td>$day_time{$room}{$day}{$time}{course}<br>".
>
> print
> "<td>$day_time[$room][$day][$time][course]<br>".
>
>>> "
>>> $day_time{$room}{$day}{$time}{faculty}</td>";
>
> "
> $day_time[$room][$day][$time][faculty]</td>";
>
>>> } else {
>>> print "<td> </td>";
>>> }
>>> }
>>> print "</tr>";
>>> }
>>> }
>>> ?php>
>
> The rest of that should work.
>
>> If anyone might have any ideas, all ears are open. I seem to be stuck,
>> it makes sense in my head what I want to do, but I seem to have a
>> devil of time trying to convert any of that to code : (
>
> It's all part of learning a new language. I mistakeningly assumed you
> needed algorithmic help but knew (enough) PHP. I didn't realise that
> you needed both algorithmic help and learning PHP help.
>
> I hope the above helps you out a bit. It probably won't work first up.
> If you get any interesting errors like "I don't know that function"
> kind
> of things check out the php manual at www.php.net.
>
> Good luck.
>
> Jacinta
>
> --
> ("`-''-/").___..--''"`-._ | Jacinta Richardson |
> `6_ 6 ) `-. ( ).`-.__.`) | Perl Training Australia |
> (_Y_.)' ._ ) `._ `. ``-..-' | +613 9354 6001 |
> _..`--'_..-_/ /--'_.' ,' | contact at perltraining.com.au |
> (il),-'' (li),' ((!.-' | www.perltraining.com.au |
>
> _______________________________________________
> Programming mailing list
> Programming at linuxchix.org
> http://mailman.linuxchix.org/mailman/listinfo/programming
>
More information about the Programming
mailing list