我正在编写一个对数据库进行报告的页面。 为了简单起见,我所包含的一切只使用一个字段。一旦我得到了我必须做的概念,我就可以将它应用到完整版本,这是一个更大的数据库。
以下是我的结构以及我希望能够做到的事情。我有results.php,其中有一个表单,用户输入一个名称并单击提交。 当他们点击提交时,我希望它能做一个弹出窗口(试用BlockUI但是对建议开放),并且请等待#39;信息。在后台,getstuff.php抓取输入的名称并检查数据库中的名称。一旦它找到它(或没有找到它),blockUI消息就会消失,在results.php的表格下面会显示一个表,其中包含来自getstuff.php的结果
代码: results.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;
结果头部的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">
。
任何有关我出错的地方以及应该如何看待的帮助都非常感谢。
感谢。
答案 0 :(得分:0)
你只需要回显tableString,这是getstuff.php中唯一缺少的东西
如果你想发送整个表格$ .post(“getstuff.php”,$(“#aplas”)。serialize(),function(data){});
答案 1 :(得分:0)
由于您获得了.html(),请检查这是否适用于您
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);?>
<table><tr><th>Name:</th></tr><tr><td>{<?php echo $row[0]?>}</td></tr></table>
<?php
mysqli_close($DBConnect);
exit();
?>
答案 2 :(得分:0)
在将问题缩小到jquery之后我开始阅读关于表单,.post等的各种API,然后使用一些东西然后使用BAM!它开始工作了。
将results.php头部的jquery更改为:
$(document).ready(function() {
$("#aplas").submit(function(event) {
$.blockUI();
event.preventDefault();
$.post("getstuff.php", $("#aplas").serialize(), function(data) {
$('#content').html(data);
$.unblockUI();
});
});
});
正在发生重大变化
$('#find').click(function(){
到
$("#aplas").submit(function(event) {
感谢您的帮助。