2016-09-16 3 views
0

Я использую CONCAT объединить несколько столбцов,Объединение и отдельные данные запросы

SELECT CONCAT(col1, ' - ', col2) AS result 
FROM table 
WHERE col1 LIKE '%apple%' OR 
     col2 LIKE '%apple%' 
ORDER BY col1 ASC 

И затем вернуть его в виде данных в формате JSON.

while ($row = mysql_fetch_array($query)) { 
    $data[] = $row['result']; 
} 
echo json_encode($data); 

Вопрос: Как я могу разделить данные на отдельные поля, когда я прочитал его в JQuery? Лучше (более эффективно) отправить его отдельно?

<script> 
    $(function() { 
    $("#AllWord").autocomplete({ 
     source: 'search_apple.php' 
    }); 
    }); 
</script> 
+0

Почему вы бы разделили 2 столбца, если хотите отдельные значения? – Neat

+0

это для автозаполнения формы. показывая два поля мгновенно. затем разделить его на другие цели. Я тоже могу сделать наоборот. – askseekknock

ответ

0

Лучше всего отправить его индивидуально, поэтому запрос без concat.

Кодирование:

while ($row = mysql_fetch_array($query)) { 
    $data[] = $query; // No need to create another array, it is already correct 
} 
echo json_encode($data); 

Вы можете все еще CONCAT (лучшее место будет в самом запросе), рядом с col1 и col2 индивидуально, если вам нужно Concat.

И последнее замечание:
Пожалуйста, не используйте функции mysql_ *.
Используйте mysqli_ * или PDO.
Дополнительная информация здесь: Why shouldn't I use mysql_* functions in PHP?

+0

Как я могу отделить его в моей функции автозаполнения? – askseekknock

+0

Если я отправлю его отдельно, как я могу получить два поля в функции автозаполнения? – askseekknock

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