データベースに関するレポートを作成するページを作成中です。簡単にするために、私が含めているものはすべて 1 つのフィールドのみを使用します。自分がしなければならないことの概念を理解したら、それをフル バージョンに適用できます。これは、はるかに大きなデータベースです。
これが私の構造のアイデアと、それができるようにしたいことです。ユーザーが名前を入力して送信をクリックするフォームを持つresults.phpがあります。彼らが送信をクリックすると、「しばらくお待ちください」というメッセージとともにポップアップを表示したいと思います (BlockUI を試していますが、提案は受け付けています)。バックグラウンドでは、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;
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 フォーム アクションはそれ自体であり、すべてが 1 つのファイルに含まれていましたが、クエリの実行中、ページは何もしていないように見え、ユーザー フレンドリーではありませんでした。
クエリが終了したら、results.php の$tableString
getstuff.php から表示するために必要なことを解決しようとしています。<div id="content">
私が間違っている場所とそれがどのように見えるべきかについての助けは大歓迎です。
ありがとう。