За последние 24 часа нас посетили 19410 программистов и 1606 роботов. Сейчас ищут 833 программиста ...

Фильтрация данных MySQL

Тема в разделе "PHP и базы данных", создана пользователем Aquila, 17 апр 2011.

  1. Aquila

    Aquila Активный пользователь

    С нами с:
    17 апр 2011
    Сообщения:
    45
    Симпатии:
    0
    Адрес:
    Дания
    Есть таблица TBL:

    [ ... | X | ... | ... | ... | ... ]

    Информация записана как:
    X
    test1
    test2
    test1
    test3
    test3
    test2
    test1 test2 newTest
    test2 newtest test3

    Надо добиться результата:
    test1
    test2
    test3
    newTest

    Я попробовал
    PHP:
    1.  
    2. <?
    3. $query = mysql_query("SELECT DISTINCT [u]X[/u] FROM [u]TBL[/u]");
    4. while($row = mysql_fetch_array($query));
    5. {
    6.      echo $row['X']." <br />";
    7. }
    8. ?>
    9.  
    Вышло
    test1
    test2
    test3
    test1 test2 newTest
    test2 newtest test3

    Помогите добиться результата:
    test1
    test2
    test3
    newTest
     
  2. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    Aquila
    необходимо данные при вводе в базу разделять и заносить отдельно, а не пытаться извращаться при выводе.
    если это и возможно с помощью мускула, то будет довольно непросто. по крайней мере в голову сходу ничего не приходит.
     
  3. Aquila

    Aquila Активный пользователь

    С нами с:
    17 апр 2011
    Сообщения:
    45
    Симпатии:
    0
    Адрес:
    Дания
    Gromo
    Я бы хотел поподробнее узнать о разделении данных при вводе в базу.

    Вот пример с новостями:

    Допустим есть таблица news [ id | category | title | content | author | Data ]

    И нужно сделать мультикатегории но при этом ID должен быть один и тотже :

    ...
    id_____category_____title
    1_____test1_________T1
    2_____test2_________T2
    3_____test1,test2_____T1 and T2

    Как записать несколько категория в ячейку category?
     
  4. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    Aquila
    для этого создаётся отдельная таблица категорий, и таблица для связи категорий и новостей.

    например, у нас есть три категории в таблице категорий:
    id----name
    1-----test_1
    2-----test_2
    3-----test_3

    и 2 новости:
    id----title
    1----Новость 1
    2----Новость 2

    и таблица для связи новости и назначенных ей категорий:
    news_id-----category_id
    1-------------1
    1-------------2
    2-------------1
    2-------------3

    таким образом новости 1 назначены категории test_1 и test_2, а новости 2 назначены категории test_1 и test_3.

    это правильный подход, который рекомендуется в идеальном случае.
    но, т.к. жизнь не идеальна, то в зависимости от ситуации возможны другие решения.
     
  5. Aquila

    Aquila Активный пользователь

    С нами с:
    17 апр 2011
    Сообщения:
    45
    Симпатии:
    0
    Адрес:
    Дания
    Gromo
    Спасибо за помощь. Связал таблицы всё работает.