2016-05-30 7 views
0

Я пытаюсь создать мгновенный поиск, чтобы вытащить данные из моей базы данных. Я хочу, чтобы он мог искать 2 поля из 2 разных таблиц. Пока у меня есть работа, что, если вы выберете одно конкретное поле любой таблицы, оно будет работать нормально, в настоящее время; он вытягивает данные и отображает их, но я хочу, чтобы поиск был конкретным.php jquery json мгновенный поиск

Например, скажем, у меня есть 2 таблицы, одна для исполнителя, а другая для их записей; когда вы набираете имя исполнителя, он будет отображать все записи этого исполнителя, но если вы наберете дату выпуска рядом с именем, он предоставит вам эту конкретную запись, и она не покажет других. Вот как я хочу, чтобы он работал.

Вот что у меня до сих пор:

include 'conn.php'; 

$query = $_POST['query']; 

$like = "'%$query%'"; 
$sql = mysqli_query($db, "SELECT * FROM users JOIN tshift ON users.id=tshift.uid WHERE name LIKE {$like} 
    LIMIT 6"); 

$arr = array(); 
while ($r = mysqli_fetch_assoc($sql)) 
{ 
    $results= array(); 

    foreach($r as $key => $val){ 
     if(is_string($key)) 
      $results[$key] = $val; 
    } 
    array_push($arr, $results); 
} 
echo json_encode(array("artist" => $arr,"album" => $arr,"release" =>$arr)); 

ответ

0

для тех, кто интересно или будет интересно один день, как сделать что-то вроде этого, это то, как я получил его на работу я не знаю, это лучший способ, но пока это будет сделано.

include 'conn.php'; 

$query = $_POST['query']; 

    $newQuery = explode("+", $query); 
    $name = "'%{$newQuery[0]}%'"; 

    if(!empty($newQuery[1])){ 
     $date = "'%{$newQuery[1]}%'"; 
    } 

    if(empty($date)) 
    { 
     $select = "SELECT * FROM users JOIN tshift ON users.id=tshift.uid WHERE name LIKE {$name}"; 

    } 
    else 
    { 
     $select = "SELECT * FROM users JOIN tshift ON users.id=tshift.uid WHERE name LIKE {$name} AND udate LIKE {$date} "; 

    } 



    $sql = mysqli_query($db,$select); 
$arr = array(); 
while ($r = mysqli_fetch_assoc($sql)) 
{ 
    $results= array(); 

    foreach($r as $key => $val){ 
     if(is_string($key)) 
      $results[$key] = $val; 
    } 
    array_push($arr, $results); 
} 
echo json_encode(array("artist" => $arr,"album" => $arr,"release" =>$arr)); 
Смежные вопросы