За последние 24 часа нас посетили 63152 программиста и 1737 роботов. Сейчас ищут 914 программистов ...

Поиск по строке, подсчёт кол-ва результатов

Тема в разделе "PHP и базы данных", создана пользователем DemiuS, 13 фев 2016.

  1. DemiuS

    DemiuS Новичок

    С нами с:
    11 фев 2016
    Сообщения:
    33
    Симпатии:
    0
    Адрес:
    Киев
    Здравствуйте, снова обращаюсь с чем-то сверхъестественным)
    Всё тот же злополучный тест, я сделал при покупке запись в базу плана ID тестов "1 1 1 5 3 6", при покупки добавляется через пробел новый ID, повторяются специально, типо много раз можно проходить.
    Задаю вопрос, как мне сделать поиск по строке в MySQLi именно чтобы все 1 нашло допустим и посчитало сколько их, а затем возможно было один из них при прохождения убрать.
    Ух загнул конечно)
     
  2. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    тебе надо изменить запись в ячейку, что бы запись начиналась с пробела и заканчивалась пробелом, т.е. " 1 12 3 7 ", тогда можно искать запросом
    Код (PHP):
    1. ... WHERE `field_name` LIKE '% 1 %' AND `field_name` LIKE '% 12 %' AND `field_name` LIKE '% 7 %' ... 
    Добавлено спустя 1 минуту 24 секунды:PS если я конечно правильно понял о чем идет речь.
     
  3. DemiuS

    DemiuS Новичок

    С нами с:
    11 фев 2016
    Сообщения:
    33
    Симпатии:
    0
    Адрес:
    Киев
    В принципе уже реализовал это, но у меня какой-то походу не правильный алгоритм.
    Код (PHP):
    1.                             if($testf = $mysqli->query("SELECT `open-test` FROM `dle_tq_users` where `name`='$username' LIKE '% $tq_id %'"))
    2.                             {
    3.                                 if(mysqli_num_rows($testf) == 1)
    4.                                 {
    5.                                     $found = mysqli_fetch_row($testf);
    6.                                     $foundt = $found['open-test'];
    7.                                     echo "Найдены Тесты: ".$foundt;
    8.                                 }
    9.                                 else
    10.                                 {
    11.                                     echo "Тесты не найден!";
    12.                                 }
    13.                             }
    14.                             else
    15.                             {
    16.                                 echo "Запрос не выполнен!";
    17.                             }
     
  4. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    делай var_dump переменных, смотри что внутри

    и проверь, в БД точно запись в ячейке начинается с пробела и им же заканчивается