0

複数のフォームを使用して、食肉包装情報を含むデータベースから一致する結果を取得する検索フォームを作成しています。最終的には、ユーザーがフォームを使用してパッケージの幅、長さ、タイプ、形状、説明を検索できるようにしたいと考えています。一致する結果のみが表示されます。

現在、3つのドロップダウンボックスがあり、すべてが機能し、一致する結果を見つけます。残念ながら、他のフォーム用語を完全に上書きしているようです(別の問題)が、ユーザーが結果の量を制限するたびにすべてのドロップダウンボックスを特定の検索を行うことなく、何でも検索できるように「任意」関数を追加したいと思いますそれが表示されます。

HTMLコード:

    <body>


    <form action="form3.php" method="post"> 
    <label for ="toolcode">Toolcode: </label> 
    <input type="text" name="term" /><br />
    <label for ="delyncode">Delyn code: </label>
    <input type="text" name="term" /><br />
    <label for ="description">Description: </label>
    <input type="text" name="term" /><br />
    <label for ="traysize">Traysize: </label>
    <input type="text" name="term" /> <br />
    <label for ="trayheight">Trayheight: </label>
    <input type="text" name="term" /> <br /> 
    <label for ="traywidth">Traywidth: </label>
    <input type="text" name="term" /> <br />
    <label for ="traydepth">Traydepth: </label>
    <input type="text" name="term" /> <br />

         <label for="trayrange">Trayrange: </label>
                <select name="trayrange">
                    <option value="Other">--Any--</option>
                    <option value="BBQ">BBQ</option>
                    <option value="Dessert">Dessert</option>
                    <option value="Display">Display</option>
                    <option value="Meat">Meat</option>   
                    <option value="Microwave">Microwave</option>
                    <option value="Party">Party</option>
                    <option value="Salad/Wet Pasta">Salad/Wet Pasta</option>
                    <option value="Snacks">Snacks</option>
                    <option value="Standard">Standard</option>
                </select>

        <label for ="traytype">Traytype: </label> 
                <select name="traytype">
                    <option value="Other">--Any--</option>
                    <option value="Open">Open</option>
                    <option value="Cavitised">Cavitised</option>
                    <option value="Lid">Lid</option>
                    <option value="Tray">Tray</option>
                    <option value="Coallition">Coallition</option>
                    <option value="Bowl">Bowl</option>
                    <option value="Hinge pack">Open</option>
                    <option value="Pot">Pot</option>
                    <option value="Base & Lid">Base and Lid</option>
                    <option value="Rectangular">Rectangular</option>
                    <option value="Specalist">Specialist</option>
                </select><br />

        <label for="trayshape">Trayshape: </label>
                <select name="trayshape">
                    <option value="Other">--Any--</option>
                    <option value="Rectangular">Rectangular</option>
                    <option value="Oval">Oval</option>
                    <option value="Square">Square</option>
                    <option value="Insert">Insert</option>
                    <option value="Round">Round</option>
                    <option value="Open">Open</option>
                </select><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());
                }

            $varRange = $_POST['trayrange'];
            $varType = $_POST['traytype'];
            $varShape = $_POST['trayshape'];
            $term = mysql_real_escape_string($_POST['term']);    

    $sql = "SELECT * FROM delyn WHERE toolcode LIKE '%".$term."%' AND delyncode LIKE
                   '%".$term."%' AND description LIKE '%".$term."%' AND traysize LIKE
                   '%".$term."%' AND trayheight LIKE '%".$term."%' AND traywidth LIKE
                   '%".$term."%' AND traydepth LIKE '%".$term."%' AND trayrange LIKE
                   '%".$varRange."%' AND traytype LIKE '%".$varType."%' AND trayshape LIKE
                   '%".$varShape."%' ";


            $r_query = mysql_query($sql);


        while ($row = mysql_fetch_array($r_query))
                    { 
               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'] . '<br />' . '<br />'; ;  
                    }


        ?>
            </body>

ユーザーが「トレイ範囲」、「トレイ形状」、「トレイタイプ」を検索できるようにするには、何を追加する必要がありますか。これは理論上、情報が入力されたフォームに一致する結果を表示するはずです。

助けてくれる人に事前に感謝します。

4

1 に答える 1

0

異なるテキストフィールドに異なる名前を使用します。そうしないと、上書きされます。つまり、サーバー側で最後のテキストが優先されるため、名前の用語が最後のテキストであるため、トレイの幅のみが取得されます。

于 2012-10-09T07:36:01.420 に答える