2015-11-01 2 views
0

Я сохранил URL-адреса изображений в столбце B моей базы данных и надеюсь показать их в форме изображения в результатах автозаполнения. Я попытался составить код следующим образом, но он просто дает URL-адреса в текстовом формате. Что я могу сделать, чтобы решить эту проблему? Большое спасибо.показ изображений в результатах автозаполнения

index.php

<script type="text/javascript"> 
       $(document).ready(function(){ 
        $("input[name='search']").autocomplete({ 
         source:'search.php', 
         minLength:1 
        }); 
       }); 
     </script> 

<input type="text" name="search" required/> 

search.php

$keyterms = $_GET['term']; 
$query = $database->query("SELECT * FROM table WHERE A LIKE '%".$keyterms."%' ORDER BY A ASC"); 
while ($row = $query->fetch_assoc()) { 
    $data[] = $row['B'];} 
echo json_encode($data); 
+0

вы хотите показать изображение в автозаполнения? – Laurentiu

+0

Yup. покажите изображения, но не их URL. – jiten2015

ответ

0

Что-то вроде этого:

$keyterms = $_GET['term']; 
$query = $database->query("SELECT * FROM table WHERE A LIKE '%".$keyterms."%' ORDER BY A ASC"); 
while ($row = $query->fetch_assoc()) { 
$data[] = '<a href="' . $row['B'] . '"></a>';} 
echo json_encode($data); 

Примечание: это не окончательное решение, но намекают на ваше решение.

0

You can have a label and a value when using autocomplete

$keyterms = $_GET['term']; 
$query = $database->query("SELECT * FROM table WHERE A LIKE '%".$keyterms."%' ORDER BY A ASC"); 
while ($row = $query->fetch_assoc()) { 
    $data[] = [ 
     'value' => $row['B'] 
     ,'label' => '<img src="' . $row['imgurl'] . '">' 
    ]; 
} 
echo json_encode($data); 

И страница должна просто справиться с этим

+0

И вы должны обязательно избегать $ _GET ['term'], прежде чем вставлять его в эту строку. Вы уязвимы для SQL-инъекций – Terminus