接着用户必须在下一个文件(index3.wml)中输入。我们要求用户输入科目的名字或者教授的姓。你要留意一下变量在页面之间是怎样传送的。语法看来有点复杂,不过可以让你了解整个过程是怎样通过几个文件来完成的。 <?php  Header("Content-type: text/vnd.wap.wml");  header("Cache-Control: no-cache, must-revalidate");  header("Pragma: no-cache");  echo ("<?xml version="1.0"?>;");  >; <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml" >; <WML> <CARD id=card3 title=Name> <?php  echo ("<p>Insert ");  if (${$choice} == "surname") {  echo ("professor"s surname (or part of it).n");  } else if (${$choice} == "subject") {  echo ("the subject (or part of it).n"); } else {  echo ("Maybe there is some problem.n");  } echo ("<INPUT name=""${$choice}"" type=""text"">");  ?>  <DO type="text" label="Go"> <GO href="query.wml" method="get"> <?php  echo ("<POSTFIELD value=""$"."$choice".""/" name=""$choice"">");  echo ("<POSTFIELD value=""$"."${$choice}".""/" name=""${$choice}"">");  ?>  </GO> </DO> <P></P> </CARD> </WML> <DO type="text" label="Go"> <GO href="index3.wml#card3" method="get"> <?php  echo ("<POSTFIELD value=""$"."$choice".""/" name=""$choice"">");  echo ("<POSTFIELD value=""$choice"/" name=""choice"">");  ?>  </CARD> </WML> 写查询代码 以下的文件负责处理查询。它的名字是query.wml,我们将更详细地分析它。 <?php  Header("Content-type: text/vnd.wap.wml");  printf("<?xml version="1.0"?>n");  printf("n");  printf("n");  // 以下各行是用来为查询授课时间构造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("n");  printf(" <P>Receiving hours  n");  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页面了,自己继续实践一下吧。