我正在编写一个对数据库进行一些报告的页面。为简单起见,我所包含的所有内容仅使用一个字段。一旦我了解了我必须做什么的概念,我就可以将它应用到完整版本,这是一个更大的数据库。
这是我的结构的一个想法,以及我希望它能够做什么。我有 results.php,它有一个表单,用户可以在其中输入名称并单击提交。当他们单击提交时,我希望它弹出一个带有“请稍候”消息的弹出窗口(尝试 BlockUI,但对建议开放)。而在后台getstuff.php 正在抓取输入的名称并检查该名称的数据库。一旦找到(或未找到),blockUI 消息就会消失,并在 results.php 中的表单下现在显示一个表格,其中包含来自 getstuff.php 的结果
代码:结果.php:
<form action="getstuff.php" method="post" enctype="multipart/form-data" id="aplas" name="aplas" class="cmxform">
<table cellpadding="0" cellspacing="3" id="reportTable">
<tr>
<td><label for="name">Name: </label></td>
</tr>
<tr>
<td><input type="text" name="name" id="name" maxlength="3" size="10" /></td>
</tr>
<tr>
<td colspan="9" align="right"><input type="submit" name="submit" value="Find" id="find"></td>
</tr>
</table>
</form>
<div id="content"> </div>
getstuff.php:
require_once('includes/DbDetails.php');
$name = $_POST['name'];
@mysqli_select_db($DBConnect, "DATABASE")
Or die("<p><b>Unable to select the database.</b></p>" . "<p>Error Code ".mysqli_errno($DBConnect).": ".mysqli_error($DBConnect))."</p>";
$SQLquery = "SELECT * FROM users WHERE name='".$name."'";
$QueryResult = @mysqli_query($DBConnect, $SQLquery)
Or die("<p>Unable to execute the query.</p>"."<p>Error Code ".mysqli_errno($DBConnect).": ".mysqli_error($DBConnect))."</p>";
$row = mysqli_fetch_row($QueryResult);
$tableString = "<table><tr><th>Name:</th></tr><tr><td>{$row[0]}</td></tr></table>";
mysqli_close($DBConnect);
echo $tableString;
results.php 中的 Javascript:
$(document).ready(function(){
$('#find').click(function(){
$.blockUI;
$.post("getstuff.php", $("#aplas").serialize(), function(data) {
$('#content').html(data);
$.unblockUI;
});
});
});
这是我以前没有做过的 blockUI 和额外文件 (getstuff.php) 部分。最初,results.php 表单操作是针对自身的,并且全部包含在一个文件中,但是当查询运行时,页面似乎什么都不做,这对用户来说不是很友好。
一旦查询完成,我正在尝试找出我需要做的事情,以便$tableString
从 results.php 中的 getstuff.php显示。<div id="content">
非常感谢任何有关我出错的地方及其外观的帮助。
谢谢。