php - 创建下拉列表 PHP 数据库搜索?

标签 php mysql full-text-search

我正在尝试创建一个下拉列表搜索来在 PHP 和 SQL 中搜索我的数据库。到目前为止,我已经能够创建一个简单的文本搜索,当我在搜索框中输入所需的结果时,它会返回所需的结果。但我希望能够从下拉列表中选择一个选项,而不是输入它。

这是我的 search.php 代码...

<?php

mysql_connect ("localhost", "root","")  or die (mysql_error());
mysql_select_db ("schoolsni");

$term = $_POST['term'];

$sql = mysql_query("SELECT * FROM  product WHERE  model LIKE '%$term%'");

while ($row = mysql_fetch_array($sql)){
    echo 'Product ID '.$row['product_id'];
    echo '<br/> Model: '.$row['model'];
    echo '<br/> quantity: '.$row['quantity'];
    echo '<br/><br/>';
    }

?>

这是我的 HTML 代码...

<div class="UFcol1">
    <form action="search.php" method="post">
        <select name="term">
    <option value="product">product</option>
    <option value="product1">product 1</option>
    <option value="product3">product 3</option>
    <option value="product4">product 4</option>
    </select>
        <input type="submit" name="submit" value="Submit" />
    </form>
</div>

最佳答案

<?php 
$mysqli = new mysqli( 'host', 'user', 'pass', 'table' ); 
if( $_POST['submit'] ){
   $value = $mysqli->real_escape_string( $_POST['term'] );
  $result = $mysqli->query("SELECT * FROM product WHERE model LIKE %$value%");
while( $row = $result->fetch_assoc() ){
   echo $row['field'];
}
 }else{
   $results = $mysqli->query( "SELECT DISTINCT procucts.name from products WHERE products.stock = 1" );
   $options = '<select>';
   while( $row = $results->fetch_assoc( ) ){
    $options .= "<option value='{$row['name']}'>$row['name']</option>";
   }
   $options .= '</select>';
?>

   <div class="UFcol1">
  <form action="search.php" method="post">
    <?=$options?>
      <input type="submit" name="submit" value="Submit" />
   </form>
</div>
<?php } ?>

这是快速代码,可能不是 100% 正确,我还遗漏了诸如检查连接是否成功之类的内容。 php.net 有大量这方面的信息和示例。

编辑:从不同的数据库值添加自填充选项列表。

关于php - 创建下拉列表 PHP 数据库搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8296827/

相关文章:

php - 如何在php中显示mysql数据库的最高值

mysql - 如何在 MYSQL 中一次更改多个列的数据类型?

search - 是否有用于索引文本搜索的最常见英语单词列表?

git - 搜索 git repo 文件的所有版本

MySQL match() against() - 按相关性和列排序?

php - PHP 页面如何检索表单数据?

php根据html表单插入数组

PHP 内置服务器给出 "CLI has stopped working"

MYSQL - 空头货币值(例如 $2.50)列从低到高,其中字段类型 = VARCHAR

php - 如何从 Controller 在后台运行 php artisan 命令?