使用php/mysql根据下拉参数过滤结果 [英] filtering results based on dropdown paramenters using php/mysql

查看:55
本文介绍了使用php/mysql根据下拉参数过滤结果的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在创建一个小的模拟库管理员面板. 我是php的新手,所以希望有人可以帮助我处理我的代码.

I'm creating a small mock-library adminstrator panel. I'm new to php so was hoping someone out there can help with my code.

我试图根据选择的任何下拉选项/参数来过滤结果.下拉列表指的是我的数据库表中的三列,这些列是应从中提取所需信息的.

I'm trying to filter results based on whatever dropdown option/paremter is selected. The dropdowns refer to three columns within my database table where the required information is due to be pulled from.

因此,例如:- book_title selected - search book_title WHERE query? IS LIKE '%';我知道这是沿着这些思路,但需要一些指导.

So for instance: - book_title selected - search book_title WHERE query? IS LIKE '%'; I know it's along these lines but would like some guidance.

<?php
 // Ignore warning and error messages
error_reporting(E_ALL);
ini_set('display_errors', '1');

$username="";
$password="";
$database="books";
$value= $_POST["filter-query"];    

mysql_connect(localhost,$username,$password);
@mysql_select_db($duncan_library) or die( "Unable to select database");

//catalog1//
if ($_POST['filter-query'] == 'catalog_number')
{
$query = "SELECT * FROM books WHERE catalog_number LIKE '%user-search'%;
}
elseif ($_POST['filter-query'] == 'book_title')
{
$query = "SELECT * FROM books WHERE book_title LIKE '%user-search'%;
}
elseif ($_POST['filter-query'] == 'book_author')
{
$query = "SELECT * FROM books WHERE book_author LIKE '%user-search'%;
}

$sql = mysql_query($query);
while ($row = mysql_fetch_array($sql)) {
        $catalog_number = $row["catalog_number"];
        $book_title = $row["book_title"];
        $book_author = $row["book_author"];

    echo $row["myrow"]."";
    }
    }
?>

    Filter:<br>
                <select name="filter-query"">
                    <option value="catalog_number">Catalog Number</option>
                    <option value="book_title">Book Title</option>
                    <option value="book_author">Book Author</option>
                </select>

</select>
</form>

当前错误

Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\xampp\htdocs\library\index.php on line 20

推荐答案

将LIKE字符串放在引号内,即使是%符号,也错过了双引号

Put your LIKE string inside quotes even the % sign and also you missed closing double quotes

//catalog1//
    if ($_POST['filter-query'] == 'catalog_number')
    {
    $query = "SELECT * FROM books WHERE catalog_number LIKE '%user-search%'";
    }
    elseif ($_POST['filter-query'] == 'book_title')
    {
    $query = "SELECT * FROM books WHERE book_title LIKE '%user-search%'";
    }
    elseif ($_POST['filter-query'] == 'book_author')
    {
    $query = "SELECT * FROM books WHERE book_author LIKE '%user-search%'";
    }

这篇关于使用php/mysql根据下拉参数过滤结果的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆