0

最近の投稿に続く。

SQLデータベースを照会する検索関数を作成しています。データベースは、さまざまな種類の食肉包装で構成されています。データベースを検索し、1つのフォームと送信ボタンのみを使用して結果を表示するHTMLおよびPHPコードを作成しました。しかし、ここで、複数のフォーム(3つのドロップダウンフォームを含む)を持つ検索ボックスを作成したいと思います。ユーザーがサイズを入力し、ドロップダウンをクリックしてIDコードを入力すると、1つの送信ボタンを使用して送信できます。 3つすべてを組み合わせた結果に一致する結果で構成されるページ。

誰かが私にこれについて行く方法についての洞察を与えることができますか?結果を得るために同じPHPページに送信する2つのフォームを作成しようとしましたが、一方が他方をオーバーライドしているようです。

これが私のHTMLとPHPのコードです。

    <body>

    <form action="form2.php" method="post"> 
              Search: <input type="text" name="term" /><br />
    <input type="submit" value="Submit" /> 
    </form> 


</body>

そしてPHPコード:

   <body>


   <?php
    $con = mysql_connect ("localhost", "root", "");
    mysql_select_db ("delyn_db", $con);

  if (!$con)
    { 
    die ("Could not connect: " . mysql_error());
    }


$term = mysql_real_escape_string($_REQUEST['term']);    

     $sql = "SELECT * FROM delyn WHERE toolcode LIKE '%".$term."%' OR trayheight LIKE
     '%".$term."%' OR delyncode LIKE '%".$term."%' OR description LIKE '%".$term."%' 
      OR trayshape LIKE '%".$term."%' OR traydepth LIKE '%".$term."%' OR traywidth
     LIKE '%".$term."%'";
     $r_query = mysql_query($sql);

if(!$sql)
    {
        echo "could not find";
    }

       while ($row = mysql_fetch_array($r_query)){ 
       echo 'ID: ' .$row['ID']; 
       echo '<br /> Delyn code: ' .$row['delyncode']; 
       echo '<br /> Tool Code: '.$row['toolcode'];
       echo '<br /> Description: '.$row['description']; 
       echo '<br /> Tray range '.$row['trayrange']; 
       echo '<br /> Tray type: '.$row['traytype'];
       echo '<br /> Tray size: '.$row['traysize']; 
       echo '<br /> Tray height: '.$row['trayheight']; 
       echo '<br /> Tray width: '.$row['traywidth']; 
       echo '<br /> Tray depth: '.$row['traydepth'];
       echo '<br /> Tray shape: '.$row['trayshape'];  
       echo '<br /> imagename: '.$row['imagename'];
       echo '<br /> Tray live: '.$row['traylive'] . ' <br /><br />';  
    }


?>

    </body>

前もって感謝します :)

編集されたphp:

  <body>

    <?php
$con = mysql_connect ("localhost", "root", "");
mysql_select_db ("delyn_db", $con);

if (!$con)
    { 
    die ("Could not connect: " . mysql_error());
    }

if(isset($_POST['formSubmit']) )
{
    $varType = $_POST['traytype'];
}

$term = mysql_real_escape_string($_POST['term']);    
$sql = "SELECT * FROM delyn WHERE traytype LIKE '%".$varType."%'";


$r_query = mysql_query($sql);


while ($row = mysql_fetch_array($r_query)){ 
echo 'ID: ' .$row['ID']; 
echo '<br /> Delyn code: ' .$row['delyncode']; 
echo '<br /> Tool Code: '.$row['toolcode'];
echo '<br /> Description: '.$row['description']; 
echo '<br /> Tray range '.$row['trayrange']; 
echo '<br /> Tray type: '.$row['traytype'];
echo '<br /> Tray size: '.$row['traysize']; 
echo '<br /> Tray height: '.$row['trayheight']; 
echo '<br /> Tray width: '.$row['traywidth']; 
echo '<br /> Tray depth: '.$row['traydepth'];
echo '<br /> Tray shape: '.$row['trayshape'];  
echo '<br /> imagename: '.$row['imagename'];
echo '<br /> Tray live: '.$row['traylive'] . ' <br /><br />';  
    }


?>
  </body>
4

1 に答える 1

2

同じフォームで複数の入力を使用してみませんか?このようなもの:

<form action="form2.php" method="post"> 
          Search: <input type="text" name="term" /><br />
          Sizes: <input type="text" name="sizes" /><br />
          Select an option: <select name="dropdownselection" ><option...</option></select><br />
          ID Code: <input type="text" name="id" /><br />
<input type="submit" value="Submit" /> 
</form>

次に、検索語に入力した値にアクセスしたのと同じ方法で値にアクセスできます。注:ラベルにはラベルタグを使用し、フォームのレイアウトにはリストを使用する必要があります。

編集:オプションタグは次のようになります:

<option value="what is posted to the script">What is seen by the user</option>

編集:$vartype変数の割り当てを取り巻く条件を削除してください

編集:両方の条件が真である必要があるため、SQLクエリでandを使用し、orを使用しないでください。さらに質問がある場合は、新しい質問を開いてください。これは多少雑然としているためです。最後に、この回答が役に立ったと思われる場合は、それを受け入れることを検討してください。

于 2012-10-08T10:04:35.380 に答える