建立动态的WML站点(三)


Posted in PHP onOctober 09, 2006

接着用户必须在下一个文件(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页面了,自己继续实践一下吧。 

PHP 相关文章推荐
在PHP里得到前天和昨天的日期的代码
Aug 16 PHP
php escape URL编码
Dec 10 PHP
php中判断字符串是否全是中文或含有中文的实现代码
Sep 16 PHP
php 函数中使用static的说明
Jun 01 PHP
使用php+apc实现上传进度条且在IE7下不显示的问题解决方法
Apr 25 PHP
php中get_headers函数的作用及用法的详细介绍
Apr 27 PHP
php用户注册页面利用js进行表单验证具体实例
Oct 17 PHP
php动态添加url查询参数的方法
Apr 14 PHP
ThinkPHP的常用配置选项汇总
Mar 24 PHP
微信第三方登录(原生)demo【必看篇】
May 26 PHP
ThinkPHP框架中使用Memcached缓存数据的方法
Mar 31 PHP
在laravel5.2中实现点击用户头像更改头像的方法
Oct 14 PHP
Session的工作方式
Oct 09 #PHP
用Flash图形化数据(一)
Oct 09 #PHP
PHP中Session的概念
Oct 09 #PHP
虚拟主机中对PHP的特殊设置
Oct 09 #PHP
用Flash图形化数据(二)
Oct 09 #PHP
用php来检测proxy
Oct 09 #PHP
如何将一个表单同时提交到两个地方处理
Oct 09 #PHP
You might like
php二维数组排序与默认自然排序的方法介绍
2013/04/27 PHP
PHP使用GIFEncoder类处理gif图片实例
2014/07/01 PHP
php生成zip文件类实例
2015/04/07 PHP
利用“多说”制作留言板、评论系统
2015/07/14 PHP
PHP传值到不同页面的三种常见方式及php和html之间传值问题
2015/11/19 PHP
thinkPHP简单导入和使用阿里云OSSsdk的方法
2017/03/15 PHP
自写的利用PDO对mysql数据库增删改查操作类
2018/02/19 PHP
javascript 程序库的比较(一)之DOM功能
2010/04/07 Javascript
文本框回车提交与禁止提交示例
2013/09/27 Javascript
js replace替换所有匹配的字符串
2014/02/13 Javascript
node.js中的console.error方法使用说明
2014/12/10 Javascript
开启Javascript中apply、call、bind的用法之旅模式
2015/10/28 Javascript
JavaScript高级程序设计(第三版)学习笔记6、7章
2016/03/11 Javascript
IE和Firefox之间在JavaScript语法上的差异
2016/04/22 Javascript
JavaScript中的工厂函数(推荐)
2017/03/08 Javascript
nodejs使用async模块同步执行的方法
2019/03/02 NodeJs
JS JQuery获取data-*属性值方法解析
2020/09/01 jQuery
Kettle中使用JavaScrip调用jar包对文件内容进行MD5加密的操作方法
2020/09/04 Javascript
win10系统中安装scrapy-1.1
2016/07/03 Python
Python set常用操作函数集锦
2017/11/15 Python
Python3实现腾讯云OCR识别
2018/11/27 Python
Python 读取串口数据,动态绘图的示例
2019/07/02 Python
Django后端发送小程序微信模板消息示例(服务通知)
2019/12/17 Python
Python实现将元组中的元素作为参数传入函数的操作
2020/06/05 Python
html5指南-3.如何实现html元素拖拽功能
2013/01/07 HTML / CSS
OSPREY LONDON官网:英国本土皮具品牌
2019/05/31 全球购物
2014年应届大学生自我评价
2014/01/09 职场文书
大学生个人事迹材料
2014/01/21 职场文书
2014大学生全国两会学习心得体会
2014/03/13 职场文书
王老吉广告词
2014/03/20 职场文书
审计专业自荐信范文
2014/04/21 职场文书
建筑施工安全责任书
2014/07/24 职场文书
工作疏忽、懈怠的检讨书
2014/09/11 职场文书
项目合作协议书
2014/09/23 职场文书
2014年教师思想工作总结
2014/12/03 职场文书
特种设备安全管理制度
2015/08/06 职场文书