Поле для запроса поиска вводит пространство перед поисковым запросом - PullRequest
0 голосов
/ 18 января 2012

У нас проблема с нашими предложениями по поиску. Каждый раз, когда мы нажимаем на предложение на нашем веб-сайте, перед поисковым запросом ставится пробел, что приводит к сбою запроса.

Код, который мы используем для предложений:

$query = $db->query("SELECT DISTINCT productnaam FROM product WHERE  merk LIKE      '$queryString%' LIMIT 10");
            if($query) {
                // While there are results loop through them -  fetching an Object (i like PHP5 btw!).
                while ($result = $query ->fetch_object()) {
                    // Format the results, im using <li> for the list, you can change it.
                    // The onClick function fills the textbox with the result.

                    // YOU MUST CHANGE: $result->value to $result->your_colum
                    echo '<li onClick="fill(\''.$result->merk.'&nbsp;'.$result->productnaam.'\');">'
                    .$result->merk.'&nbsp;'.$result->productnaam.''.'</li>';
                }
            } else {
                echo 'ERROR: There was a problem with the query.';

Ответы [ 2 ]

0 голосов
/ 18 января 2012

попробуйте использовать функцию trim () как Sameera Thilakasiri , указанную ниже, а также обновите ваш запрос до значения, подобного "SELECT DISTINCT productnaam FROM product WHERE merk LIKE '%$queryString%' LIMIT 10" Знак процента с обеих сторон гарантирует, что ваш запрос выберет записи, содержащие ваш ввод какВ отличие от записей, которые начинаются с вашего ввода.

ниже приведено еще одно объяснение условия SQL LIKE, которое может помочь вам

// This query will look for records that start with "sa"    
select * from table where name like 'sa%' 

// This query will look for records that contain "sa"    
select * from table where name like '%sa%' 

// This query will look for records that end with "sa"    
select * from table where name like '%sa' 

надеюсь, что это поможет!

0 голосов
/ 18 января 2012

Попробуйте использовать trim ()

$queryString = trim($queryString);

Функция trim () удаляет пробелы и другие предопределенные символы с обеих сторон строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...