添加Javascript Ajax代码
从清单1中得知index.php使用的Javascript模块叫做AJAXjs.js,这个模块包含了booksPHP应用程序的Ajax代码,在 NetBeans中,你可以参照以下步骤创建Javascript文件:
1、在项目视图中,展开booksPHP节点,在源文件节点上点右键;
2、选择新建à从上下文菜单中选择其它选项;
3、在新建文件向导中,从类别面板中选择“其它”项目;
4、在同一个对话框中,从文件类型面板中选择“Javascript文件”;
5、点击下一步按钮;
6、为新建的Javascript文件指定一个文件名这里命名为AJAXjs);
7、点击完成按钮。
至此,在NetBeans编辑器中你应该看到一个空的Javascript文件,使用Javascript代码助手插入不言自明的代码,如 清单2所示。
清单2 Javascript Ajax代码
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
var checkTimeout = null;
var xmlhttp = null;
function searchAJAX(searchIndex){
var toSearch = document.getElementById("searchId").value;
var url = "search.php?findwhat=" + escape(toSearch) + "&findby=" + escape(searchIndex);
document.getElementById('bookanimID').innerHTML = "";
if(window.XMLHttpRequest)
{
xmlhttp = new XMLHttpRequest();
}else if (window.ActiveXObject){
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET", url, true);
xmlhttp.onreadystatechange=searchCallback;
xmlhttp.send(null);
checkTimeout = setTimeout("ajaxTimeout(xmlhttp);",120000);
}
function searchCallback(){
try{
if(xmlhttp.readyState==4)
{
if(xmlhttp.status==200)
{
clearTimeout (checkTimeout);
document.getElementById('bookanimID').innerHTML = "";
document.getElementById("resultsID").innerHTML = xmlhttp.responseText;
}
}
}catch(e)
{
alert("Unknown error!")
}
}
function ajaxTimeout(ajaxOBJ){
document.getElementById('bookanimID').innerHTML = "";
alert("Timeout!");
ajaxOBJ.abort();
}
实现PHP代码
为booksPHP项目实现PHP代码之前,先去http://www.netbeans.org/features/php/看一看NetBeans为PHP开发人员提 供的完整特性清单。在开发booksPHP时你可以研究清单中每一个特性,首先,创建一个search.php文件,这个文件中将 包括查询数据库的PHP代码,下面是具体的步骤:
1、在项目视图中,展开booksPHP节点,在源文件节点上点右键;
2、选择新建à在上下文菜单中选择PHP文件选项;
3、为php文件指定一个文件名这里是search);
4、点击完成按钮。
NetBeans为创建php页面,类和接口提供了向导,都在新建的上下文菜单中。
现在在NetBeans编辑器中应该看到一个空的php文件,综合使用代码助手,语法和语义代码高亮显示,弹出式文档, 代码格式化和折叠,实例重命名,代码模板和自动代码完成包括括号自动完成)等功能实现清单3中的代码。
清单3 PHP代码
<?php
require_once ('database.php');
$findwhat = "";
$findby = 1;
if(isset($_GET['findwhat'])) { $findwhat = $_GET['findwhat']; }
if(isset($_GET ['findby'])) { $findby = $_GET['findby']; }
//query the database
if ($findby == 1) //search by author
{
$res = mysql_query("select * from bookstore where author='".$findwhat."'", $id);
if (!$res) die("<error>Search failed!</error>".mysql_error ());
}
if ($findby == 2) //search by ISBN
{
$res = mysql_query ("select * from bookstore where isbn='".$findwhat."'", $id);
if (!$res) die ("<error>Search failed!</error>".mysql_error());
}
if ($findby == 3) //search by book
{
$res = mysql_query ("select * from bookstore where book='".$findwhat."'", $id);
if (!$res) die ("<error>Search failed!</error>".mysql_error());
}
$rows = mysql_num_rows($res);
if ($rows > 0)
{
$rowcolor = "#E1EBFB";
$xml = "<table border='0' align='center' style='table-layout:fixed;' width='700'>";
$xml = $xml."<tr>";
$xml = $xml."<td><font size='2' face='Arial' color='#000000'><b>Book name</b></font></td>";
$xml = $xml."<td><font size='2' face='Arial' color='#000000'><b>Author</b></font></td>";
$xml = $xml."<td><font size='2' face='Arial' color='#000000'><b>ISBN</b></font></td>";
$xml = $xml."<td><font size='2' face='Arial' color='#000000'><b>Price</b></font></td>";
$xml = $xml."</tr>";
while ($row = mysql_fetch_array($res))
{
if ($rowcolor == "#E1EBFB") { $rowcolor = "#95B3DE"; } else {$rowcolor = "#E1EBFB"; }
$xml = $xml."<tr bgcolor = '".$rowcolor."'>";
$xml = $xml."<td><font size='2' face='Arial' color='#000000'>".$row ['book']."</font></td>";
$xml = $xml."<td><font size='2' face='Arial' color='#000000'>".$row ['author']."</font></td>";
$xml = $xml."<td><font size='2' face='Arial' color='#000000'>".$row ['isbn']."</font></td>";
$xml = $xml."<td><font size='2' face='Arial' color='#000000'>".$row ['price']."</font></td>";
$xml = $xml."</tr>";
}
$xml = $xml."</table>";
} else {
$xml = "<table border='0' align='center' style='table-layout:fixed;' width='700'>";
$xml = $xml."<tr><td align='center'><font size='2' face='Arial' color='#cc0000'><b>No result found! </b></font></td></tr>";
$xml = $xml."</table>";
}
echo $xml;
?>
清单3中的代码使用了一个database.php文件,这是一个简单的php文件,它提供了一个到books数据库的连接,代码 如下:
|
PHP之友评论