[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Поиск по БД
BorodinKO
есть mySQL табличка, в ней следующие столбцы: id, url

в столбике url написано следующее:

/main
/students
/students/page1
/students/page2
/students/page/123
/students/page/page
/page

SELECT * FROM `pages` WHERE (`url` like '/students%') AND url!='/students'

мне нужно вывести только те где 2 слеша а именно:

/students/page1
/students/page2

как это мне реализовать?



Спустя 6 минут, 46 секунд (27.09.2011 - 10:09) alex12060 написал(а):
прочитай про это:


LOCATE(substr , str [, pos])
POSITION(substr IN str)
INSTR(str, substr)

Спустя 10 минут, 59 секунд (27.09.2011 - 10:20) inpost написал(а):
WHERE `url` LIKE '%/students/%'
-вот, 2 слеша smile.gif

Спустя 8 часов, 38 минут, 10 секунд (27.09.2011 - 18:58) BorodinKO написал(а):
WHERE `url` LIKE '%/students/%' не подходит, так как так как по этой маске подайдут все ... даже так где их 3

Спустя 45 минут, 3 секунды (27.09.2011 - 19:43) inpost написал(а):
AND NOT LIKE '/%/%/' ?

Спустя 11 часов, 9 минут, 42 секунды (28.09.2011 - 06:53) BorodinKO написал(а):
Тоже не подходит,
ибо по этой маске будут хаходится

/students/page2/

а таких вообще нет


только
/students/page2

Спустя 49 минут, 52 секунды (28.09.2011 - 07:42) linker написал(а):
SELECT * FROM `pages` WHERE `url` LIKE '/students/page_'

Спустя 11 часов, 21 минута, 7 секунд (28.09.2011 - 19:04) BorodinKO написал(а):
в таком случае будут выводится только строки с параметром url = /students/page_

а таких в табличке просто нет!

Спустя 13 часов, 10 секунд (29.09.2011 - 08:04) linker написал(а):
BorodinKO
Почитай про спец символы в LIKE: % _ , потом проверь мой запрос, а апосля говори, что не работает.

Спустя 40 минут, 31 секунда (29.09.2011 - 08:44) inpost написал(а):
BorodinKO
Тоже не подходит,
ибо по этой маске будут хаходится

/students/page2/

а таких вообще нет

Ты сам себе противоречишь. ЕСЛИ ИХ НЕТ, ЗНАЧИТ И НАХОДИТЬСЯ НЕЧЕМУ БУДЕТ? smile.gif

Спустя 1 день, 7 часов, 22 минуты, 6 секунд (30.09.2011 - 16:06) BorodinKO написал(а):
Цитата (inpost @ 29.09.2011 - 05:44)
BorodinKO
Тоже не подходит,
ибо по этой маске будут хаходится

/students/page2/

а таких вообще нет

Ты сам себе противоречишь. ЕСЛИ ИХ НЕТ, ЗНАЧИТ И НАХОДИТЬСЯ НЕЧЕМУ БУДЕТ? smile.gif

/students/page2/ нету ... там есть /students/page2

Спустя 3 минуты, 22 секунды (30.09.2011 - 16:10) Игорь_Vasinsky написал(а):
ты что как в строке кол-во нужных символов не знаешь.. ай ай ай.

В строковых функциях php есть же, я уже не говорю про функции SQL

GOOGLE->Строковые функции php, подсчет символов в строке..

Авось повезёт wink.gif

Спустя 27 минут, 28 секунд (30.09.2011 - 16:37) killer8080 написал(а):
а если регулярками? Правдо быстродействие наверно пострадаетuser posted image
SELECT * 
FROM `table`
WHERE `url` REGEXP "^/students/[^/]+"

Спустя 4 часа, 51 минута, 38 секунд (30.09.2011 - 21:29) linker написал(а):
Ёпт, я же написал
SELECT * FROM `pages` WHERE `url` LIKE '/students/page_'
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.