PHP网页设计创立静态的WML站点(三)
也或许是因为我还没有真正的学到深处吧,说实在的,PHP中的很多高级点的应用,如PHP类、PHP函数基本还是不懂吧! 接着用户必需鄙人一个文件(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, $myrow</P>n");
printf(" <P>$myrow</P>n");
printf(" <P>$myrow</P>n");
printf(" <P>$myrow</P>n");
printf(" <P>$myrow</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, $myrow</P>n");
printf(" <P>$myrow</P>n");
printf(" <P>$myrow]</P>n");
printf(" <P>$myrow, $myrow</P>n");
printf(" <P>$myrow</P>n");
printf(" <P>$myrow</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页面了,本人持续理论一下吧。 算是1个熟悉的过程,所以c语言的基础有就更好,没有也不怕。 为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。 做为1门年轻的语言,php一直很努力。 为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。 我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能: 说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年具体的记不清啦,囧。 刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。 Ps:以上纯属原创,如有雷同,纯属巧合 有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。 真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎, 这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己 刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。 因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax 至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。 爱上php,他也会爱上你。 环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。 说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年具体的记不清啦,囧。 有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。 Ps:以上纯属原创,如有雷同,纯属巧合 我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
页:
[1]