使用按钮进行高级搜索的问题

时间:2017-05-20 20:07:42

标签: php phpmyadmin

我正在尝试像导航栏上的常规搜索一样进行高级搜索,但这次我想把它变成一个过滤器,使用看起来像链接的按钮,但问题是,当我点击按钮时它确实一个很好的搜索,它告诉我,没有1000的值,但在我的数据库中有字符串与该值(int)

我不想使用其他语言,我只想尝试使用PHP

我的网址中显示的值是

  

http://localhost/talvez%20usuario/1000more.php?valor=1000&send=1%2C000

这是我的代码:

<?php 
    session_start();

    require 'extras/config.php';
    require 'functions.php';

    comprobarSession();

    $conexion = conexion($bd_config);
    if (!$conexion) {
        header('Location: error.php');
    }

    if ($_SERVER['REQUEST_METHOD'] == 'GET' && !empty($_GET['valor'])) {
        $busqueda = limpiarDatos($_GET['valor']);

        $statement = $conexion->prepare('SELECT * FROM publications WHERE salario LIKE >= 1000-500 and salario <= 1000+500');

        $statement->execute(array(':valor' => "%$busqueda%"));
        $resultados = $statement->fetchAll();

        if(empty($resultados)) {
            $titulo = 'No se encontraron articulos con el resultado '. $busqueda;
        } else {
            $titulo = 'Resultados de la busqueda: ' . $busqueda;
        }
    } 

    require 'views/1000more.php';

?>

这是我的按钮:

<form action="1000more.php" method="GET">
   <input type="hidden" value="1000" name="valor" />
   $<input type="submit" class="btn btn-link" name="send" value="1,000">+</input>(16947)
</form>

1 个答案:

答案 0 :(得分:1)

你应该在where语句中添加“valor”:

$statement = $conexion->prepare('SELECT * FROM publications WHERE valor = :valor and salario >= 1000-500 and salario <= 1000+500');

并编辑该行:

$statement->execute(array(':valor' => $busqueda));