【发布时间】:2012-09-12 08:08:27
【问题描述】:
我正在编写一个对数据库进行一些报告的页面。 为简单起见,我所包含的所有内容仅使用一个字段。一旦我了解了我必须做什么的概念,我就可以将它应用到完整版,这是一个更大的数据库。
这是我的结构的一个想法,以及我希望它能够做什么。我有 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 表单操作是针对自身的,并且全部包含在一个文件中,但是当查询运行时,页面似乎什么也没做,这对用户来说不是很友好。
我正在努力弄清楚我需要做什么,以便在查询完成后在 results.php 的<div id="content"> 中显示来自getstuff.php 的$tableString。
非常感谢任何有关我哪里出错以及它的外观的帮助。
谢谢。
【问题讨论】:
标签: php jquery mysql ajax mysqli