поиск по БД

Mongolor

Новичок
поиск по БД

PHP:
$link = mysql_connect("", "", "")  or die("Не соединилось!!!");  
print "<!-- Соединение успешно -->";  
mysql_select_db("u50906") or die("Не найдена БД");   

$query = "SELECT * FROM dle_models"; 
$result = mysql_query($query) or die("Запрос ошибочный");    

while ($line = mysql_fetch_array($result, MYSQL_NUM)) {  
if (substr_count(strtoupper($line[2]),strtoupper($nmag))!=0) {  
for ($i=0;$i<=30;$i++) { $description = $line[6]; $ss = $line[18]; $id = $line[0];  $price = $line[5]; }  }  }    

mysql_free_result($result);  
mysql_close($link);
Собственно у меня вопросик, этот скриптик получается ищет по любым символам т.е. вводишь 1 он находит 1,10,11,12,13 и т.д.
я понял что нужно что-то преписать в $query, только вот что-то немогу найти что
 

Dl

Новичок
Интересный алгоритм.
А можно описать задачу поподробнее?
 

Mongolor

Новичок
ну собственно скриптик проводит сравнение строки из таблицы и из вводимого поля, если совпадает выводит строку из БД

только запрос у него сейчас получается не точный а по типу "хоть одно слово"

а нужно чтобы искал по типу "точное соответствие"
 

Фанат

oncle terrible
Команда форума
а что у тебя лежит в том поле, в котором ты ищешь?
 

Dl

Новичок
Ну так и сделай точное соответствие. В запросе в условии WHERE.

П.С. А какой смысл повторять 30 раз в цикле одно и то же присвоение?
 

Mongolor

Новичок
Автор оригинала: *****
а что у тебя лежит в том поле, в котором ты ищешь?
Артикульный номер, т.е. грубо говоря набор латинских символов с точками, слэшами, цифрами, в общем все знаки

П.С. А какой смысл повторять 30 раз в цикле одно и то же присвоение?
проморагал, спс, переписывал забыл удалить.

PHP:
while ($line = mysql_fetch_array($result, MYSQL_NUM)) {  
if (substr_count(strtoupper($line[2]),strtoupper($nmag))!=0) {   
$description = $line[6]; $ss = $line[18]; $id = $line[0];  $price = $line[5];
Ну так и сделай точное соответствие. В запросе в условии WHERE.
что-то немогу найти как

-~{}~ 12.09.08 14:38:

если добавить WHERE size=$nmag
тогда на артикул "098" все норм.
А на Article-123 фукция mysql_query отвечает DIE
 

Фанат

oncle terrible
Команда форума
Артикульный номер, т.е. грубо говоря набор латинских символов с точками, слэшами, цифрами, в общем все знаки
Mongolor, один номер или несколько?
если несколько, то должен быть один.
если один, то зачем ты ищешь через substr_count?

если добавить WHERE size=$nmag
тогда на артикул "098" все норм.
А на Article-123 фукция mysql_query отвечает DIE
а синтаксис составления SQL запросов за тебя кто соблюдать будет? Здесь не школа - здесь ты не учителю подляну делаешь, если не учишь, а себе.
 

Mongolor

Новичок
получается mysql_query дает ошибку на Символы латинского алфавита и символы, а на цифры нормально

-~{}~ 12.09.08 14:44:

*****
а через что искать?

-~{}~ 12.09.08 14:46:

и что нетак с синтаксисом?
 

Фанат

oncle terrible
Команда форума
а через что искать?
ну если тебе надо узнать, равна ли одна строка другой, то и надо проверять РАВЕНСТВО. а не подсчитывать, сколько раз одна входит в другую. неужели это не очевидно?
и что нетак с синтаксисом?
скачай учебник по mysql и почитай, как составлять запросы. или хотя бы в факе форума посмотри.
 

Фанат

oncle terrible
Команда форума
И правильно не подумал.
поскольку база данных - это не файлик со строчечками, к которому ты привык. Она специально придумана она для того, чтобы выдавать сразу нужные данные, а не каждую строку, чтобы ты потом сам в них копался.
если ты так по одной строке перебираешь, то зачем тебе втобще БД? Храни все в файле. с палочками.
 
Сверху