Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Запрос к бд (поиск)

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
difight
Отправлено: 26 Июля, 2013 - 10:08:25
Post Id



Посетитель


Покинул форум
Сообщений всего: 355
Дата рег-ции: Нояб. 2011  


Помог: 3 раз(а)




Подскажите сделал запрос к бд по поиску похожих значений
CODE (htmlphp):
скопировать код в буфер обмена
  1. SELECT id,name FROM mirkrep_goods WHERE descr LIKE '%562%'

В поле descr храниться описание товара, однако оно хранить с тегами, и поиск работает не корректно, т.к. он мне выдал значение в котором width = 562 =) Вообщем как мне организовать тут поиск, что бы он текст без тегов учитывал.
 
My status
 Top
soffrick
Отправлено: 26 Июля, 2013 - 10:12:39
Post Id



Посетитель


Покинул форум
Сообщений всего: 379
Дата рег-ции: Май 2012  
Откуда: Россия, Москва


Помог: 17 раз(а)




regexp? Радость


-----
Правильный вопрос - уже половина правильного ответа!

p.s. индусы повсюду, будьте осторожны!
 
 Top
difight
Отправлено: 26 Июля, 2013 - 10:15:15
Post Id



Посетитель


Покинул форум
Сообщений всего: 355
Дата рег-ции: Нояб. 2011  


Помог: 3 раз(а)




soffrick пишет:
regexp? Радость

И что мне с этим делать, на запрос повешу что ли ?Улыбка
 
My status
 Top
Мелкий Супермодератор
Отправлено: 26 Июля, 2013 - 10:20:21
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)






-----
PostgreSQL DBA
 
 Top
difight
Отправлено: 26 Июля, 2013 - 10:39:33
Post Id



Посетитель


Покинул форум
Сообщений всего: 355
Дата рег-ции: Нояб. 2011  


Помог: 3 раз(а)




Помогите запрос составить, не пойму нефига... Недовольство, огорчение Мне нужно теги обрезать и найти это слово
 
My status
 Top
Мелкий Супермодератор
Отправлено: 26 Июля, 2013 - 10:52:40
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Ну, например:
CODE (SQL):
скопировать код в буфер обмена
  1. RLIKE '(^|>)[^>]*562[^<]*(<|$)';


-----
PostgreSQL DBA
 
 Top
difight
Отправлено: 26 Июля, 2013 - 10:54:03
Post Id



Посетитель


Покинул форум
Сообщений всего: 355
Дата рег-ции: Нояб. 2011  


Помог: 3 раз(а)




Мелкий пишет:
Ну, например:
CODE (SQL):
скопировать код в буфер обмена
  1. RLIKE '(^|>)[^>]*562[^<]*(<|$)';

Нет, все равно выбирает то где в теге есть 562... Недовольство, огорчение(
 
My status
 Top
EuGen Администратор
Отправлено: 26 Июля, 2013 - 10:58:01
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Предполагается, что теги закрыты/открыты верно.
CODE (SQL):
скопировать код в буфер обмена
  1. `field` NOT REGEXP '<[^<>]*562[^<>]*>' && `field` REGEXP '562'

?


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
difight
Отправлено: 26 Июля, 2013 - 11:05:27
Post Id



Посетитель


Покинул форум
Сообщений всего: 355
Дата рег-ции: Нояб. 2011  


Помог: 3 раз(а)




EuGen пишет:
Предполагается, что теги закрыты/открыты верно.
CODE (SQL):
скопировать код в буфер обмена
  1. `field` NOT REGEXP '<[^<>]*562[^<>]*>' && `field` REGEXP '562'

?

Так запрос возвращает вообще пустую строку ... Огорчение
 
My status
 Top
Мелкий Супермодератор
Отправлено: 26 Июля, 2013 - 11:11:25
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




difight пишет:
Нет, все равно выбирает то где в теге есть 562...

Упс, перепутал < и > местами
CODE (SQL):
скопировать код в буфер обмена
  1. RLIKE '(^|>)[^<]*524[^>]*(<|$)';


-----
PostgreSQL DBA
 
 Top
EuGen Администратор
Отправлено: 26 Июля, 2013 - 11:17:03
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Мелкий
Так не получится, потому что
CODE (SQL):
скопировать код в буфер обмена
  1. mysql> SELECT '<562>562<e>' RLIKE '(^|>)[^<]*562[^>]*(<|$)' AS test;
  2. +------+
  3. | test |
  4. +------+
  5. |    1 |
  6. +------+
  7. 1 row IN SET (0.00 sec)

- хотя, неизвестно, нужны ли такие результаты автору.
difight
Нужен пример, у меня всё работает верно.
CODE (SQL):
скопировать код в буфер обмена
  1. mysql> SELECT * FROM tbl20130725;
  2. +----+-----------------------------------------+
  3. | id | word                                    |
  4. +----+-----------------------------------------+
  5. |  1 | <b>test WITH 524 data</b> end           |
  6. |  2 | <tag attr="562" et>contains</tag>       |
  7. |  3 | <a href="localhost">text 562 WITH .</a> |
  8. |  4 | text without tags AND 562               |
  9. +----+-----------------------------------------+
  10. 4 rows IN SET (0.00 sec)
  11.  
  12. mysql> SELECT * FROM tbl20130725 WHERE word NOT REGEXP '<[^<>]*562[^<>]*>' AND word REGEXP '562';
  13. +----+-----------------------------------------+
  14. | id | word                                    |
  15. +----+-----------------------------------------+
  16. |  3 | <a href="localhost">text 562 WITH .</a> |
  17. |  4 | text without tags AND 562               |
  18. +----+-----------------------------------------+
  19. 2 rows IN SET (0.00 sec)

- вероятно, можно обойтись и одним выражением, однако оно будет достаточно сложным, думаю, легче разбить на два условия.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
difight
Отправлено: 26 Июля, 2013 - 11:22:09
Post Id



Посетитель


Покинул форум
Сообщений всего: 355
Дата рег-ции: Нояб. 2011  


Помог: 3 раз(а)




EuGen пишет:
Мелкий
Так не получится, потому что
CODE (SQL):
скопировать код в буфер обмена
  1. mysql> SELECT '<562>562<e>' RLIKE '(^|>)[^<]*562[^>]*(<|$)' AS test;
  2. +------+
  3. | test |
  4. +------+
  5. |    1 |
  6. +------+
  7. 1 row IN SET (0.00 sec)

- хотя, неизвестно, нужны ли такие результаты автору.
difight
Нужен пример, у меня всё работает верно.


Ну вот то же слова для поиска моё 562

выдает 2 строки

Одну по имени ищет верно, но там поле без тегов а второе

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <div align="center" style="text-align: center; margin: 6pt 0cm">
  3. <div align="center" style="text-align: center; margin: 6pt 0cm">
  4. <p><strong><font face="Arial">БОЛТ Т-образный DIN 188 оцинкованный.</font></strong></p>
  5. <p><strong><font face="Arial"><input width="170" type="image" height="64" src="/uploads/image/knopka1.png" /></font></strong></p>
  6. <p align="left"><font face="Arial"><u>Описание:</u></font><font face="Arial">&nbsp;</font>DIN 188 болт к пазам станочным с Т-образной прямоугольной головкой и усом,&nbsp;Болт с головкой т-образной формы, с квадратным подголовником и с неполной метрической или дюймовой резьбой.</p>
  7. <p align="justify"><u>Материал:</u> сталь 4,6( класс прочности для болтов)</p>
  8. <p align="justify"><u>Применение:</u> <a href="http://www.mir-krepega.ru/steel/">Болты</a> DIN 188 используются для соединений деталей и агрегатов в производственных станках, приборах, а также в промышленных, машиностроительных и строительных областях.&#65279;</p>
  9. <p align="center"><u>Чертеж: Болт Т-образный DIN 188</u></p>
  10. <p align="center"><img width="562" height="236" src="/uploads/image/din188.jpg" alt="" /></p>
  11. <p align="center">&nbsp;</p>
  12. <p align="center"><u>Таблица: Болт Т-образный DIN 188</u></p>
  13. <p align="justify">Болт с уменьшенной головкой должен соответствовать конструкции и размерам указанным на чертеже и в таблице.</p>
  14. <p align="justify"><em><img width="858" height="657" src="/uploads/image/tab13.jpg" alt="" /></em></p>
  15. </div>
  16. </div>
  17.  


Такого содержания

я так понял его заинтересовала строка
CODE (htmlphp):
скопировать код в буфер обмена
  1. <img width="562" height="236" src="/uploads/image/din188.jpg" alt="" />

Что получается не корректно
 
My status
 Top
EuGen Администратор
Отправлено: 26 Июля, 2013 - 11:28:53
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




difight
Ваша строка не подходит под условие, поэтому у меня она в результат не вошла (что корректно).


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
difight
Отправлено: 26 Июля, 2013 - 11:45:05
Post Id



Посетитель


Покинул форум
Сообщений всего: 355
Дата рег-ции: Нояб. 2011  


Помог: 3 раз(а)




С вашим условием
http://prntscr[dot]com/1hllwi
Тут обычное условие
http://prntscr[dot]com/1hllz3
2рую строку захватывает как раз под описание что я выше прислал


Отредактировано администратором: EuGen, 26 Июля, 2013 - 11:48:12
 
My status
 Top
EuGen Администратор
Отправлено: 26 Июля, 2013 - 11:50:31
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Из приложенных ссылок ничего непонятно. Сделайте так:
- Какое условие использовали
- Какие строки должны выбраться (если их не слишком много) - спойлером
- Какие строки реально были выбраны (спойлером)
- Какие строки не должны были выбраться, но были выбраны (если имеются, спойлером)
- Какие строки должны были выбраться, но не были выбраны (если имеются, спойлером)


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB