2013-02-28 2 views
-1

Я загрузить мой сценарий Fiddle и можно найти здесь: http://jsfiddle.net/XdPk5/1/поиск Ajax не побежит

Я просто не могу показаться, чтобы получить это работает, я пытаюсь добавить ошибки, такие как количество строк = 0, и если пусто сообщение было отправлено

JavaScript:

 $(document).ready(function(){ 
      $(".search").click(function(){ 
       $.post(
        "search.php", 
        { keywords: $(".keywords").val() }, 
         function(data) { 
         $("div#search").empty(); 
         obj = JSON.parse(data); 
         $("div#search").append(obj.id + " " + obj.title); 
         }, 
        "json" 
       ); 
      }); 
     }); 

PHP:

<?php 
$db = new PDO('mysql:host=localhost;dbname=db','root',''); 

$keywords = (isset($_POST['keywords']) === true) ? $_POST['keywords'] : ''; 
if (empty($keywords) === true) { 
    echo json_encode("error"); 

} else { 
    $query = $db->prepare("SELECT `media`.`id`, `media`.`title` FROM `media` WHERE `media`.`title` LIKE :keywords"); 

    if ($query->rowCount() == 0) { 
     echo 'empty'; 

    } else { 
     $query->bindValue(':keywords', '%' . $keywords . '%', PDO::PARAM_STR); 

     $arr = array(); 
     $query->execute(); 
     while($row = $query->fetch(PDO::FETCH_ASSOC)) { 
      $arr[] = array("id" => $row["id"], "title" => $row["title"]); 
     } 
     echo json_encode($arr); 
    } 
} 

?> 
+1

Вы должны добавить свой javascript и php к своему вопросу. – jeroen

ответ

1

Это ж Ронг:

$query = $db->prepare("SELECT `media`.`id`, `media`.`title` FROM `media` WHERE `media`.`title` LIKE :keywords"); 

if ($query->rowCount() == 0) { 
    echo 'empty'; 

} else { 
    $query->bindValue(':keywords', '%' . $keywords . '%', PDO::PARAM_STR); 
  • Там нет rowCount перед выполнением запроса;
  • Если введено несколько слов, вам нужно будет построить свой SQL-запрос, добавив индивидуальное ключевое слово и связав их вместе, используя OR или AND.

Также, где вы делаете echo 'empty';, вы не возвращаете действительный json.

В javascript, вы, вероятно, имеете в виду dataType: "json" вместо "json", поскольку это недопустимый вариант.

+0

Я действительно застрял и просто собираюсь сдаться. Спасибо хоть. – sw0o0sh

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