|
写查询代码 ~ admin
以下的文件负责处理查询。它的名字是query.wml,我们将更详细地分析它。
<?php Header("Content-type: text/vnd.wap.wml"); printf("<?xml version="1.0"?>n"); printf("n"); printf(" // 以下各行是用来为查询授课时间构造SQL语句的 $consulting_tables = "(professors left join teach on (professors.Id = teach.Id), subjects)"; $consulting_columns = "professors.Surname, professors.Name, subjects.Subject , "; $consulting_columns .= "subjects.Cod_number, professors.Consulting_hour, professors.Consulting_place"; $consulting_query= "subjects.Cod_Subject = teach.Cod_subject "; // 以下各行是用来为查询测验时间构造SQL语句的 $exams_tables= "(exams left join professors ON (exams.Id = professors.Id), subjects)"; $exams_columns= "subjects.Subject , subjects.Cod_number, professors.Surname, "; $exams_columns.= "professors.Name, exams.Date, exams.Time, exams.Room, exams.Test"; $exams_query= "exams.Cod_Subject = subjects.Cod_Subject "; // 以下各行是用来为查询测验时间表的sql语句增加查询限制 if ($exams_data) { switch($exams_data) { case "subject": $exams_query.= " and subjects.Subject like '%$subject%'"; break; case "surname": $exams_query.= " and professors.Surname like '%$surname%'"; break; } } // 以下各行是用来为查询授课时间的sql语句增加查询限制 if ($consulting_data) { switch($consulting_data) { case "subject": $consulting_query .= " and subjects.Subject like '%$subject%'"; break; case "surname": $consulting_query.= " and professors.Surname like '%$surname%'"; break; } } // 处理与数据库的连接 function connect($tables, $data, $condition_passed) { // // put your password and username in next line // $db = mysql_pconnect("localhost","***","***"); // put your database name in next line mysql_select_db("lanfranchi_co_uk",$db); $sql = "SELECT $data FROM $tables WHERE $condition_passed order by professors.Surname"; $result = mysql_query($sql,$db); return $result; } // 这个函数产生授课时间的wml代码 function consulting_print($consulting_result) { global $file; printf(" printf(" <P>Receiving hours while ($myrow = mysql_fetch_row($consulting_result)) { printf(" <P>$myrow[0], $myrow[1]</P>n"); printf(" <P>$myrow[2]</P>n"); printf(" <P>$myrow[3]</P>n"); printf(" <P>$myrow[4]</P>n"); printf(" <P>$myrow[5]</P>n"); } printf("</CARD>n"); } // 这个函数产生测验时间表的wml代码 function print_exams($exams_result) { global $file; printf("<CARD id='"card1"' title='"hours"'>n"); printf(" <P>Examinations hours n"); while ($myrow = mysql_fetch_row($exams_result)) { printf(" <P>$myrow[2], $myrow[3]</P>n"); printf(" <P>$myrow[0]</P>n"); printf(" <P>$myrow[1]]</P>n"); printf(" <P>$myrow[4], $myrow[5]</P>n"); printf(" <P>$myrow[7]</P>n"); printf(" <P>$myrow[6]</P>n"); } printf("</CARD>n"); } // 检查你时候选择授课时间或者测验时间,连接数据库并且调用产生wml代码的函数 if ($consulting_data) { $connection_result = connect($consulting_tables, $consulting_columns, $consulting_query); consulting_print($connection_result); } if ($exams_data) { $connection_result = connect($exams_tables, $ exams_columns, $ exams_query); print_exams($connection_result); } printf("</WML>n"); ?> 好,完成了。你已经建立了首个基于MySQL数据库的PHP/WML页面了,自己继续实践一下吧。 |