php wml,建立动态的WML站点(三)

建立动态的WML站点(三)

更新时间:2006年10月09日 00:00:00   作者:

接着用户必须在下一个文件(index3.wml)中输入。我们要求用户输入科目的名字或者教授的姓。你要留意一下变量在页面之间是怎样传送的。语法看来有点复杂,不过可以让你了解整个过程是怎样通过几个文件来完成的。

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">

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">

echo ("<POSTFIELD value='"$"."$choice".""/' name='"$choice"'>");

echo ("<POSTFIELD value='"$choice"/' name='"choice"'>");

?>

</CARD>

</WML>

写查询代码

以下的文件负责处理查询。它的名字是query.wml,我们将更详细地分析它。

Header("Content-type: text/vnd.wap.wml");

printf("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页面了,自己继续实践一下吧。

相关文章

1a1b05c64693fbf380aa1344a7812747.png

oracle资料库函式库...2006-10-10

4f55910a645b073bc4fc65dc10dc14bd.png

面向对象

对象概念是面向对象技术的核心。在显示世界里我们所面对的事情都是对象,如计算机、电视机、自行车等。在面向对象的程序设计中,对象是一个由信息及对信息进行处理的描述所组成的整体,是对现实世界的抽象2008-06-06

0ea3c7666119d5615e582f823fb3fad6.png

如何在PHP中使用Oracle数据库(2)...2006-10-10

4f96a78db829b1556ff16de21e013c7a.png

用PHP实现XML备份Mysql数据库...2006-10-10

8cc1031babc6aff2319f1c6af8544aa0.png

汉字转化为拼音(php版)...2006-10-10

0c932a99bb7b6f23c937db507070cc7b.png

PHP基础教程(适合有编程基础的,但是对PHP很陌生的新手 --教程主要以code的形式表现)2013-01-01

cca732bf65a93ed2ec0ac80c638460fe.png

PHP 中的变量 变量用于存储值,比如数字、文本字符串或数组。2009-10-10

2d9f31f2af7b675a3d153d2b7f1035a7.png

PHP的栏目导航程序...2006-10-10

b452cee8ec5cd9e58ab98eba17281e59.png

WINDOWS 2000下使用ISAPI方式安装PHP...2006-09-09

f4838ec7e2d4da28e0b57d4e852dadd4.png

在php开发过程中,文件上传也经常用到,这里简单介绍下,需要的朋友可以参考下2013-09-09

最新评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值