使用mysql中SELECT的下拉菜单创建条件

时间:2014-08-12 17:47:09

标签: php mysql forms if-statement

如何创建一个使搜索变得容易的条件。

例如在下拉菜单中,我选择了水果。

SELECT * basket where type ='fruits';

当我把它改成蔬菜时

选择* basket where type ='vegetables';

如何使用select

创建类似的条件

这是我的完整代码

<html>
<head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
    <LINK href="admin_tables.css" rel="stylesheet" type="text/css">
</head>
<body>


<font face="Calibri">
    <div align="right" style="padding-right:100px";>
        <form action="form.php" method="post" target="frame"> 
    <label>View by: </label>
    <select name="source">
        <option <?php if (isset($source) && $source=="All") ?>>All</option>
        <option <?php if (isset($source) && $source=="Product Brands") ?>>Product Brands</option>
        <option <?php if (isset($source) && $source=="Category") ?>>Category</option>
        </select>
        <input type="text" name="term" placeholder="Search Here" /><input type="submit" value="Search" />
        </form>
    <button type='submit'><a href='CMS.php'>Add a New Product</a></button>
    <br>
    <br>
    </div>
<?php
session_start();
    $conn = @mysql_connect("localhost","root","");
    $db = @mysql_select_db("buybranded");

$qry = "SELECT * FROM inventory";
mysql_set_charset("UTF8");
$result = @mysql_query($qry);
if($result === FALSE) {
    die(mysql_error()); // TODO: better error handling
}
echo "<center>";
echo "<table class='CSSTableGenerator'>
<tr>

<td>Product ID</td>
<td>Product Brand</td>
<td>Product Category</td>
<td>Product Name</td>
<td>Quantity</td>
<td>Action</td>
<tr>";
while ($row=mysql_fetch_array($result)){

echo "<tr>";
echo "<td>".$row['prod_id'];
echo "<td>".$row['prod_brand'];
echo "<td>".$row['prod_category'];
echo "<td>".$row['prod_name'];
echo "<td>".$row['prod_quantity'];
echo "<td> <center><button type='submit'><a href='update_inv.php?id=".$row['prod_id']."'>Edit</a></button>
           <button type='submit'><a href='delete_inv.php?id=".$row['prod_id']."'>Delete</a></button>
           <button type='submit'><a href='DISPLAY_PROD_PIC_SAMPLE.php?prod_id=".$row['prod_id']."'>View</a></button></center>";  
echo "</tr>";
    }
echo "</table>";
?>



</body
</html>

1 个答案:

答案 0 :(得分:0)

我会创建一个函数,在提交表单时使用函数中所选选项的值。在php文件的顶部,检查表单是否已提交,然后查询是否已提交。它可能看起来像这样:

    <?php // Variables
    // Defaults
    $sort_by = "name";
    $sort_method = "ASC";

    // Dynamic Values
    if (isset($_GET["sort"])) {
        $sort_by = $_GET["sort"];
        }
    if (isset($_GET["order"])) {
        $sort_method = $_GET["order"];
        }
?>

然后你的表单需要放在body标签的某个地方:

<form method="get">
<select name="source" onchange="this.form.submit()">
    <option value="all">All</option>
    <option value="type">Type</option>
</select>
</form>

然后查询结果:

<?php
            // Query Corresponding Basket
            $query  = "SELECT * ";
            $query .= "FROM basket ";
            $query .= "WHERE brand_id = '{$sort_by}' ";
            $query .= "ORDER BY {$sort_by} {$sort_method} ";

            $product_set = mysqli_query($connection, $query);   

            while ($result = mysqli_fetch_assoc($product_set)){
                echo "<br/>";
                echo $result["name"];
            }
            mysqli_free_result($result);
        ?>