2015-04-21 3 views
-5

У меня есть проблема. Я строю клиентскую информационную систему с PHP и MYSQL. Одна из особенностей приложения - позволить пользователям искать имя, вводя число ic в нескольких вводах. Например, информация хранится в базе данных:mysql для поиска в нескольких количествах

ID: 1
ИМЯ: Джон
IC: 111

ID: 2
ИМЯ: Джеймс
IC: 222

ID: 3
ИМЯ: Сара
IC: 333


Итак, чтобы найти данные, в поле поиска (форме), я бы хотел ввести 111222, без запятой. так есть ли какие-то способы? Любой синтаксис sql, который я должен использовать?

Любая помощь очень ценится


EDITED

Вот мой код для поиска функции.

$ics = $_POST["nokp"]; 
$each =explode(' ',$ics); 

$q=mysql_query("SELECT id,nama,nokp from client where nokp in(". implode(',', $each).") group by nama,nokp"); 
+2

No. Использование нескольких полей в форме. – AbraCadaver

+2

, если IC всегда был 3-значным ... но нет @AbraCadaver правильно –

+0

Я не могу использовать несколько полей в форме, потому что база данных хранит миллионы строк в таблице «клиентов». Мне нужно найти номер ic в пределах 200 и ++ ic номер –

ответ

0
<?php 

$ics="111 222 333 444 aaaaaaaaaaaddddddd335555555555"; 

//$each =str_split ($ics,3); 
$each =explode(' ',$ics); 
//print_r($each); 

$q="SELECT foo from bar where ic in(" . implode("','", $each)."')"; 

echo $q; //SELECT foo from bar where ic in(111','222','333','444','aaaaaaaaaaaddddddd335555555555') 
+0

но если ic номер есть другой тип. Например, 111, 222, 333, 1234, A111, A 111 B –

+0

, тогда как вы знаете, когда начинаете, а другой заканчивается? –

+0

один номер заканчивается, а другой начинается с пробела –

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