2013-11-30 5 views
-1
<?php $query = $_GET['search-text'];   
$min_length = 3;   
if(strlen($query) >= $min_length){ 

    $query = htmlspecialchars($query);    
    $query = mysql_real_escape_string($query); 

    $raw_results = mysql_query("SELECT * FROM movies WHERE (`title` LIKE '%".$query."%')") or die(mysql_error());    

    if(mysql_num_rows($raw_results) > 0){ 

     while($results = mysql_fetch_array($raw_results)){     

     } 

    } 
    else{ 
     echo "No results"; 
    } 

} 
else{ 
    echo "Minimum length is ".$min_length; 
} ?> 

ну, я не указал соединение с базой данных здесь.Не отображать результаты поиска

моего HTML код

<form id="frm-search" action="search.php" method="GET"> 
<div class="m-search"> 
<input type="hidden" id="search-text-value" name="search-text-value"> 
<input type="text" id="search-text" maxlength="150" class="search-text" name="search-text" placeholder="search" value="" autocomplete="off" onblur="" style="color: rgb(140, 140, 140);"> 
<input type="image" src="spray/search.png" value="" class="search-btn"> 
<div class="clear"></div> 
</div> 
</form> 

он показывает неопределенный индекс поиск текстов и results.and, когда я пытаюсь найти его ничего не отображается.

У меня есть эхо после тега формы.

+1

Вы ничего не делаете внутри вашего 'while' цикла. –

+0

, если вы используете метод GET, у вас должен быть URL-адрес, например webpage.com/index.html?search-text=$query. Я думаю, проблема заключается в получении значения из формы. –

+0

Ваш образец ничего не делает, пустой цикл, исправить вопрос – nrathaus

ответ

0

Сделайте что-то вроде echo $ results [index]; внутри цикла! и изменение SQL для:

mysql_query("SELECT * FROM movies WHERE title LIKE '$query%'"); 
+0

хорошо, если я хочу, чтобы результат отображался где-то в другом месте. И если я делаю echo $ results ['title']; внутри цикла while результат отображается вверху страницы, но при этом все еще отображается неопределенный индекс «search-text» и «results» .why? –

+0

, если вы хотите что-то отобразить, сохраните в переменной, как $ name = $ results ["name"]; –

+0

заменить mysql_fetch_array на mysql_fetch_assoc –

Смежные вопросы