1. Задавайте здесь вопросы о коде, которые не подходят в другие разделы, такие как:
    Дизайн > Верстка
    PHP > Как сделать на PHP
    Скрыть объявление

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

Тема в разделе "Web Coding", создана пользователем DRUG_ADDICT, 18 дек 2007.

Статус темы:
Закрыта.
Модераторы: latteo
  1. DRUG_ADDICT

    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 поможет?
    или регулярные выражения?
    может строковые функции, наконец тож???????

    ПОМОГИТЕ пожалуйста!!!
     
    shkura нравится это.
  2. Karlasan

    Karlasan Постоялец

    Регистр.:
    7 дек 2007
    Сообщения:
    131
    Симпатии:
    205
    у тебя
    попробуй так:

    ессно, вместо NAME поставь имя поля с названием фильма
     
    shkura и DRUG_ADDICT нравится это.
  3. DRUG_ADDICT

    DRUG_ADDICT Создатель

    Регистр.:
    9 янв 2007
    Сообщения:
    33
    Симпатии:
    12
    Опа Карлсон! Ты в кого такой умный? варенья Объелся да?

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

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

    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:
     
    shkura нравится это.
  4. DRUG_ADDICT

    DRUG_ADDICT Создатель

    Регистр.:
    9 янв 2007
    Сообщения:
    33
    Симпатии:
    12
    Ну вот и все!!!

    "/^$films.*/";

    .* - квантификатор который указывает что после этого идет ещё что то это ___ пццц :D
     
  5. Karlasan

    Karlasan Постоялец

    Регистр.:
    7 дек 2007
    Сообщения:
    131
    Симпатии:
    205
    вместо твоего ничего не значащего спича лучше бы написал почему не работает мой запрос (какие ошибки выдает; какая структура таблицы - если это принципиально; и т.д.), прежде чем обвинять в некомпетенции других.
    второе: если спрашиваешь "может preg_match поможет?", то почему для начала не посмотрел вот это: http://ru2.php.net/manual/ru/function.preg-match.php
     
    DRUG_ADDICT нравится это.
  6. admLoki

    admLoki генератор случайного PHP

    Регистр.:
    14 сен 2006
    Сообщения:
    481
    Симпатии:
    93
    Помойму кто-то тут посты набивает :smmne:.
     
  7. DRUG_ADDICT

    DRUG_ADDICT Создатель

    Регистр.:
    9 янв 2007
    Сообщения:
    33
    Симпатии:
    12
    Так вот в чера не имел возможности отписаться... да и как то не хотелось уже.. флудить и тему засорять то то то не то :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 и т.д. будет одна ссылка! После мы задаем условие чтоб не выводился тот фильм который уже открыт... все уже думаю я доходчего объяснил... ;)

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

    admLoki генератор случайного PHP

    Регистр.:
    14 сен 2006
    Сообщения:
    481
    Симпатии:
    93
    Мда .
    Я же тут зареган с 14.09.2006, однако ни одного тупого вопроса не задал .

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

    Кстати о PCRE :
    "Регулярные выражения могут всё!" (с) Я .
     
  9. Jeurey

    Jeurey

    Регистр.:
    13 сен 2006
    Сообщения:
    419
    Симпатии:
    576
    Поскольку не очень хочется лезть мне в модерскую - просто закрою топик.

    ЗЫ. ТС - ты балбес. Кури маны. И не надо наезжать на людей.
     
Статус темы:
Закрыта.