建立動態的WML站點(三)

接著用戶必須在下一個文件(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”
“https://www.wapforum.org/DTD/wml_1.1.xml(標準化越來越近瞭)” >; <WML>
<CARD id=card3 title=Name>
<?php(做為現在的主流開發語言)  
echo (“<p>Insert “);  
if (${$choice} == “surname”) {  
echo (“professors 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) {  

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *