2014-01-10 7 views
0

Поскольку я новичок в Mysqli вообще, я не уверен, что искать, поэтому я размещаю здесь.MYSQLi выберите из результатов базы данных, которые соответствуют/содержат

TABLE = id | имя пользователя | lastname | attribute1 | атрибут 2

Пример строки для поиска - «test» Сценарий должен искать любую строку, в которой первое или последнее имя содержат «test» или «tést» или «tèst» или вариант этого.

Тогда должен возвращать все результаты в формате JSON.

Как бы я это сделал?

+2

Расскажите подробнее .... – Hackerman

+0

просто принести результат запроса MySQL в массив и использовать PHP функцию json_encode преобразовать массив JSON – Girish

+1

Какую часть этого вы застряли на? Вы знаете, как писать SQL-запросы? Вы знаете, как запустить их в PHP? Вы знаете, как вывести JSON? –

ответ

3

Ну, MySQL для JSON - большой участок.

Обратим внимание на часть MySQL здесь.

  1. запросов для фильтрации по ключевому слову: SELECT * FROM table WHERE firstname LIKE '%test%' OR lastname LIKE '%test%'
  2. Затем с помощью MySQLi вы можете получить результаты.

Вы должны провести исследование самостоятельно. Опубликуйте конкретные вопросы или проблемы здесь. Мы не можем просто сделать это для вас ...

0

Что вам нужно сделать, чтобы найти строку это

SQL: SELECT * FROM TABLE WHERE firstname LIKE '%test%' OR lastname LIKE '%test%' OR attribute1 LIKE '%test%' OR attribute2 LIKE '%test%'

Вы, конечно, можете поставить переменную запись в т.п. если вы хотите так, как '%".$_POST['value']."%'

Чтобы добавить его в json, используйте функцию php json_encode.

0
SELECCT * FROM <TABLE NAME> WHERE firstname LIKE '%test%' OR lastname LIKE '%test%'; 

затем использовать функцию выборки массива и применить json_encode() функцию на этом массиве, чтобы получить строку JSON.

0

Спасибо за помощь, ребята!

Я был в основном ищу SQL запрос

Использования

$results = mysqli_query($mysqli, "SELECT * FROM players WHERE firstname LIKE '%test%' OR lastname LIKE '%test%'"); 


$myarray = array(); 
while ($record = mysqli_fetch_assoc($results)) 
    { 
     //print_r($record); 
     $temparray = $record; 
     array_push($myarray, $temparray); 
    } 
     echo json_encode($myarray); 
+0

Это не соответствует вариациям теста. Вы можете сделать% t_st%. – loveNoHate

0

Я нашел его сам. Надеюсь, это поможет вам в качестве альтернативного кодирования.

$temp_findcategory = $_POST['findcategory']; 
$temp_findkeyword = "%".$_POST['findkeyword']."%"; 
$search = mysqli_query($conn,"SELECT * FROM table WHERE field1 like '$temp_findkeyword' order by '$temp_findcategory' asc"); 
$row_search = mysqli_fetch_assoc($search); 
Смежные вопросы