Строковые функции... поиск по шаблону или как там....

Статус
В этой теме нельзя размещать новые ответы.

DRUG_ADDICT

Создатель
Регистрация
9 Янв 2007
Сообщения
33
Реакции
12
Начит есть скрипт:

PHP:
$pagestrc = "3";
for ($x=0; $x++<$pagestrc;){
$page = $_GET['page'];

$films = $row[1];
$res1 = @mysql_query (" SELECT * FROM `$kategorias` WHERE `ID` =$x LIMIT 0 , 30 ");
while ($mas1 = @mysql_fetch_array($res1))
{
echo "<a href=\"trilleri.php?page=$mas1[0]\">&nbsp;$mas1[1]</a>";
}
}
Этот скрипт выводит ссылки, он находит в базе ID - поля и выводит данные по этим ID (затем ID попадает в переименую $_GET['page'] (это сдесь не оформлено, а говорю я это для понимания (эдакая навигация получается))). ID соответственно задается циклом (смотрим выше в скрипте), так вот допустим скрипт выдал:

24 часа на DVD
24 часа на MPEG
The Sopranos 1-5 сезоны на DVD
24 часа на DVD 12 дисков
The Sopranos 1-5 сезоны на MPEG

так надо чтоб через функцию обработать на шаблон, каждое такое вхождение. Ща скажу по русски - например: установил чтобы выводилось тока "24 часа":
Чтобы было так:

24 часа на DVD
24 часа на MPEG
24 часа на DVD 12 дисков

подскажите как ето сделать?!
может составить особый SQL запрос?
может preg_match поможет?
или регулярные выражения?
может строковые функции, наконец тож???????

ПОМОГИТЕ пожалуйста!!!
 
Опа Карлсон! Ты в кого такой умный? варенья Объелся да?

Молодчина!!! По любому так будет работать!!!! Я тока ещё не проверил...
Заранее ставлю тебе Спасибо!

Я вот тут сам наковырял вот ето:

PHP:
for ($x=0; $x++<$pagestrc;){
$page = $_GET['page'];
$films = $row[1];
$res1 = @mysql_query (" SELECT * FROM `$kategorias` WHERE `ID` =$x LIMIT 0 , 30 ");
while ($mas1 = @mysql_fetch_array($res1))
{
$subject = "$mas1[1]";
$pattern = "/^$films/";
preg_match($pattern, $subject, $match);

echo "<a href=\"trilleri.php?page=$mas1[0]\">&nbsp;$match[0]</a>";
}
}
Как видно с помощью функции preg_match, сделал то что хотел! Тока вот с регулярными выражениями у меня проблемы! иииии...
$pattern = "/^$films/";

($film - это "24 часа") так вот выдает он тока 24 часа т.к.

24 часа
24 часа

вот второе - это "24 часа на DVD" но preg_match обрабатывает (шаблон - $pattern = "/^$films/";)

как бы так сделать-то тут, чтоб он выдавал то, что после "24 часа"`ов идет то "/^$films/"

чтоб так:

24 часа
24 часа на DVD


а хотя Карлслонский вариат щас испробую.... :smmne:

Добавлено через 35 минут
Эхх.... карлсон карлсон... к великому несчастью и с глубочайшем сожалением я заявлю тебе что твой SQL запрос не не рабит... :confused: мдя... жалко :)

:ah: щас объясню почему... хотя нет... времени нет ;)
Короче матрю все молчат не че не кто не знает про регулярные выражения чтоли... пойду в О великий гугол! :thenks:
 
Ну вот и все!!!

"/^$films.*/";

.* - квантификатор который указывает что после этого идет ещё что то это ___ пццц :D
 
вместо твоего ничего не значащего спича лучше бы написал почему не работает мой запрос (какие ошибки выдает; какая структура таблицы - если это принципиально; и т.д.), прежде чем обвинять в некомпетенции других.
второе: если спрашиваешь "может preg_match поможет?", то почему для начала не посмотрел вот это: Для просмотра ссылки Войди или Зарегистрируйся
 
Помойму кто-то тут посты набивает :smmne:.
 
вместо твоего ничего не значащего спича лучше бы написал почему не работает мой запрос (какие ошибки выдает; какая структура таблицы - если это принципиально; и т.д.), прежде чем обвинять в некомпетенции других.
второе: если спрашиваешь "может preg_match поможет?", то почему для начала не посмотрел вот это: Для просмотра ссылки Войди или Зарегистрируйся
Так вот в чера не имел возможности отписаться... да и как то не хотелось уже.. флудить и тему засорять то то то не то :D мля... ну во первых я тебя не в чем не обвиняю! во вторых я глубоко извиняюсь... если что... хоть хз что :)) НО твой SQL запрос мне в конце концов помог... т.к. preg_match не так работал как хотелось бы да он отфильтровывал лишнее и показывал то что надо но НЕ совсем так как надо... чтобы понять надо видеть это... короче смотрим сюда:

PHP:
$fotos = $row[8]; //получает с базы данных ссылку на фото (со всем с другого запроса) 
//ссылка в базе имеет вид как ../foto/*.jpg где, * это не что иное как название этого фота 
//для фильма именно этого! (для чего именно её я получаю и сую в SQL запрос я объясню дальше)
$resurs = mysql_query("SELECT * FROM `$kategorias` WHERE `foto` LIKE CONVERT( $koder_uni '%$fotos%' USING $koder ) COLLATE $koderovka LIMIT 0 , 30"); 
//вот он и запрос... за вместо уже обычных кавычек '*' я использовал твой 
//вариант с "%*%" и спасибо тебе за то что подсказал мне это...
while ($mas = mysql_fetch_array($resurs)) //тырим все полученное в массив и выводим его как цикл while ();
{
if ($mas[0] == $row[0]){ // $mas[0] - ID фильма полученного с выше приведенного SQL запроса..., $row[0] - ID фильма 
//полученный со всем с другого запроса... обычного... $row[0] собсно это показывает (тут этот код я не вылаживал) 
//показывает сам фильм на странице... Вообщем эта условие сделано для того чтобы фильм который уже открыт 
//на странице не выводился в блоке, "смотреть также"... кстати говоря preg_match это и не мог осуществить... 
//ну да ладно... щас тут много что придумывать можно... так что проедем далее... 
} else {
echo "<a href=\"$ssilka2".$mas[0]."\">&nbsp;".$mas[1]."</a><br />";
//сама сЦылка, кажит фильмы те которые нашла в базе
//НЕ ПО НАЗВАНИЮ как я хотел раньше, а по названию фотографии!!! (смотрим выше на запрос).
}
}
echo "</td>

Короче говоря теперь фильм шарится в базе не по одноименному его названия (фильма), а по фотографии... точнее по ссылке на фотографию так как ссылка для каждого фильма одна тоесть если будет "Клан Сопрано" у него будет фотка sap.jpg также и для версии на ДВД на MPEG4 и т.д. будет одна ссылка! После мы задаем условие чтоб не выводился тот фильм который уже открыт... все уже думаю я доходчего объяснил... ;)

Помойму кто-то тут посты набивает :smmne:.
мне кажется что это ты :))) я вот например зарегистрирован тут уже с 09.01.2007 через ровно 30 дней я буду сдесь как уже ГОД зарегистрирован... и посмотри теперь на мои сообщения... я сдесь только для того чтобы мне помогли! не хотя... если по чисноку то меня одна НАИПРЕКРАСНЕЙШАЯ девушка модер забанила на форме программистов ровно на месец с 17 чесла... забанила иза МАТОВ, так что я буду вас доставать ;) готовьтесь вопросов у меня куча... а тупых вопросов ещё больше ;)
 
Мда .
Я же тут зареган с 14.09.2006, однако ни одного тупого вопроса не задал .

"Ламеры парятся в баньке" (с) Неизвестный .

Кстати о PCRE :
"Регулярные выражения могут всё!" (с) Я .
 
Поскольку не очень хочется лезть мне в модерскую - просто закрою топик.

ЗЫ. ТС - ты балбес. Кури маны. И не надо наезжать на людей.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху