2012-02-22 17 views
0

同じページRESULTS結果これらは私の15行目のクエリの最後の2行です - スペースを節約するために残りの部分をスキップしました:同じページのデータベースは

$sql = "SELECT SQL_CALC_FOUND_ROWS * FROM $tableName $qryWhere LIMIT $start, $limit;"; 
$result = mysql_query($sql); 
ここ

//テーブルのクエリ結果.....

OK、すべてのコードが正しく動作しているものの、(フォームの変数を提出され、データベースの結果はなど、正確である、2つのしつこい問題があります。

1 - ページが最初にロードされると、すべてのデータベース結果がエコーされます。ページは上から下に向かって途切れることなく元に戻っています - 最初のページの到着時にNO RECORDSが表示されるようにします。 2.また、このページの上から下への性質のため、私のオプションの選択はフォーム提出時にリセットされます。私は、その目的のページにあるRESETボタン - がクリックされるまで選択を維持したいと思います。

私は、常に自分自身をリフレッシュすることによってフォームが上記の問題を引き起こしていることを認識しています。

ご意見をいただければ幸いです!何かが実際に掲載されたときに何かを表示するので、if(isset($_POST['doSearch']){..か何かで囲むだけ

http://www.symbioticmusicpublishing.com/database3/xmain.php

答えて

0
  1. : - ここで働くのサンプルを参照してください。
  2. より精巧な形態で<input .... value="'.(isset($_POST['thisinputname'])?htmlspecialchars($_POST['thisinputname']:'')">

値をエコーセッションは常にかかわらず、ポストを得る単純なもの/フォームに必要のない、便利である可能性があります。ところで、私はGETをデータのリストに使うのが好きで、共有/リンクを簡単にします。変更のためのPOST、取得のためのGET(そして実際のRESTのためのいくつかの他のメソッド)。

+0

IF検索ボタンがクリックされた場合は、クエリを実行します(それ以外の場合)。トップに戻って返信する方法はありますか?私は知識の不足のために混乱しています...ありがとうございます – 4world2c

+0

#1を実装した後、私はまだデータベースのすべてのレコードを取得します。私は#2を理解できませんでした - ありがとうございます – 4world2c

+0

あなたはそれを正しく実装しませんでした。新しい訪問者がいる場合、 '$ _POST ['doSearch']'はまだありません。あなたが実際のコードなしで間違っていることを言うことはできません。 – Wrikken

0

はWrikken等if statement内部取得した値が提案エコー。フォーム送信ボタンが実際にクリックされていることを確認してから、結果をエコーし​​ます。

構文に詳しい方は、3項演算子を見てください。 http://www.php.net/manual/en/language.operators.comparison.php

また、あなたは、データベースからデータを取得している場合はGETを使用。そしてデータをデータベースに入れているときのPOST。理由はなぜ命名規則を超えているのだろうと思っていますが、これは素晴らしいお知らせです。私はこの1つを通じ思わなかった申し訳ありません

UPDATE

。 SQLクエリをif statementの中に入れます。結果のエコーもif statementに入れてください。

if (isset[$_POST['doSearch']]){ 
    //make the query 
} 

if ($sql){ 
    //echo the results 
} 
関連する問題