0

少し問題があります。ナビゲーションバーがあります

|  home  |  view  |  view(active)  |  view(deleted)  | 

[表示]をクリックすると、次view.phpのコマンドですべてのデータベースレコードを取得するだけです。

SELECT * FROM inventory  

在庫テーブルに、またはのいずれかの値を持つという列がありstatusます。(アクティブの場合、アクティブでない(または削除された)場合)。 ynyn

view(active)およびリンクをクリックするとview(deleted)、次のようなさまざまなクエリを実行したいと思います。

SELECT * FROM inventory WHERE status LIKE 'y' (for retrieval of active records)  
SELECT * FROM inventory WHERE status LIKE 'n' (for retrieval of deleted records)  

pリンク?view=yの最後に接続すると正常に動作します。view.ph私のフォームのフォームアクションはview.php、ビュータイプがアタッチされている場合を除いて、それ自体()を参照します。?view=yまたは?view=n、条件を使用して、実行するmysqlクエリを決定します。ただし、この状況をPOSTで処理したいのですが、機能していません。URLに値を含めたくありません。ただし、問題なく動作し$_GETます。

ありがとう。

CODE(クエリのview.php条件文)

    if ($_POST['view'] == "y") {
        $result = mysql_query("SELECT * FROM inventory WHERE status LIKE 'y'"); }
    else if ($_POST['view'] == "n")  {
        $result = mysql_query("SELECT * FROM inventory WHERE status LIKE 'n'"); }
    else if ($_POST['submit'] == "search") {
        $result = mysql_query("SELECT * FROM inventory WHERE descrip LIKE '%$searchString%'"); }
    else {
        $result = mysql_query("SELECT * FROM inventory"); }

CODE(私のナビゲーションバー)

<div id="navigation">
    <a href="add.php"><input type="button" value="ADD" /></a>
    <a href="view.php"><input type="button" value="VIEW" /></a>
    <a href="view.php?view=y"><input type="button" value="view active" /></a>
    <a href="view.php?view=n"><input type="button" value="view deleted" /></a>
    <div><br />
        <form action="view.php" method="POST">
            <input type="text" name="searchDescription" id="search" placeholder="search for text in description" value="<?php echo $_POST['searchDescription']; ?>"/>
            <input type="submit" value="SEARCH" name="submit" id="searchDescriptionButton" />
        </form>
    </div>
</div>
4

3 に答える 3

0

あなたはこれを行うことができます-あなたは投稿値(y、n)を保存するための隠しフィールドでその目的のためにあなたのページにフォームを追加することができます

<form name="gotoview" action="view.php" method="POST">
  <input type="hidden" name="view" id="view" value="" />
</form>

リンクはフォームを投稿する必要があります

<a href="#" onclick="document.forms['gotoview'].view='n';document.forms['gotoview'].submit();">View discontinued</a>

JavaScriptを使用して非表示フィールドにデータを入力し、実行中のURLにフォームを投稿します。

于 2012-10-20T01:32:25.590 に答える
0

POSTを実行しているかどうかは関係ありません。渡した値が、要求されたページのURLの一部である場合は、$_GETになります。

簡単/汚い/悪い回避策の1つは、_GETと_POSTの組み合わせである$ _REQUESTを使用することですが、PHPの構成方法と優先される方法が保証されていないため、お勧めしません。例:

<form action="example.php?somevar=value" method="post">
   <input type="submit" name="somevar" value="othervalue" />
</form>

variable_orderPHPインストールの設定に応じて、は不確定です。

somefield LIKE 'someconstantvalue'そして、それはやや無意味であり、とまったく同じであることに注意してくださいsomefield='someconstantvalue'。LIKEはワイルドカード検索に使用され、通常は定数値の比較と組み合わせる必要があります。

于 2012-10-20T01:34:06.840 に答える
0

非表示の入力タイプを使用して、POSTパラメーターをphpスクリプトに渡すことができます。より洗練されたソリューションはたくさんありますが、コードの変更を最小限に抑える必要があるソリューションがここにあります。

フォームに追加<input type="hidden" name="view" id="viewvalue">し、ボタンでjavascript関数を呼び出して、フォームに値を設定するyn、フォームを送信します。

<script>
function setView(wanted)
{
   document.getElementById("viewvalue").value = wanted;
   document.getElementById("viewform").submit();
}
</script>

この関数はviewform、フォームにIDが指定されていることを前提としていることに注意してください。

次に、ボタンのリンクをとに変更するa hrefjavascript:setView('y')javascript:setView('n)設定されます。

編集:JavaScriptを使用できないため、次のようになります。

<div id="navigation">
<a href="add.php"><input type="button" value="ADD" /></a>
<a href="view.php"><input type="button" value="VIEW" /></a>
<form name="viewactiveform" action="view.php" method="POST">
    <input type="hidden" name="view" value="y">
    <input type="submit" value="view active" />
</form>
<form name="viewdeletedform" action="view.php" method="POST">
    <input type="hidden" name="view" value="n">
    <input type="submit" value="view deleted" />
</form>
<div><br />
    <form action="view.php" method="POST">
        <input type="text" name="searchDescription" id="search" placeholder="search for text in description" value="<?php echo $_POST['searchDescription']; ?>"/>
        <input type="submit" value="SEARCH" name="submit" id="searchDescriptionButton" />
    </form>
</div>

于 2012-10-20T01:36:17.173 に答える