广

PHP编程

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    建立动态的WML站点(三)

    2018-09-28 15:14:07 次阅读 稿源:互联网
    零七广告
    接着用户必须在下一个文件(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页面了,自己继续实践一下吧。 

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七广告
    零七广告
    零七广告
    零七广告