Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.06.2011, 16:46   #1
Abuhamed
Форумчанин
 
Аватар для Abuhamed
 
Регистрация: 27.01.2010
Сообщений: 330
По умолчанию Уникальные записи из БД

Есть таблица в БД:
PHP код:
|id|name|text|tag1|tag2|tag3
Задача: Взять теги в массив и только уникальные.

Код HTML:
|1|Имя1|Текст1|Яблоко|Апельсин|Ананас|
|2|Имя2|Текст2|Яблоко|Апельсин|Программист|
Нужно получить массив:
Код HTML:
$tags = array("Яблоко","Апельсин","Ананас","Программист");
Т.е. что бы теги не повторялись. Как это сделать
Abuhamed вне форума Ответить с цитированием
Старый 30.06.2011, 17:10   #2
graymaster
Форумчанин
 
Аватар для graymaster
 
Регистрация: 03.05.2011
Сообщений: 158
По умолчанию

Надо обязательно из БД или РНР тоже можно задействовать ?
Можно сделать как-то так:

PHP код:
$arr = array ();
for (
$i 1$i 4$i++) {
    
$t mysql_query("select distinct tag$i as tag from mytable");
    while (
$row mysql_fetch_assoc($t)) {
        if (!
in_array($row['tag'], $arr)) $arr[] = $row['tag'];
    }

соответственно, надо будет подправить под вашу таблицу. Там ещё можно union использовать, но я не помню как точно, а искать неохота. Но, вполне возможно, можно и одним запросом получить сразу уникальные тэги. Скорее всего через 2 юнайта и вложенные селекты. Это вам в соседнем форуме про SQL наверняка точнее скажут.

Последний раз редактировалось graymaster; 30.06.2011 в 17:13.
graymaster вне форума Ответить с цитированием
Старый 30.06.2011, 17:23   #3
Abuhamed
Форумчанин
 
Аватар для Abuhamed
 
Регистрация: 27.01.2010
Сообщений: 330
По умолчанию

Конечно и php.
Цитата:
$arr=array_u
- Это что?
Abuhamed вне форума Ответить с цитированием
Старый 30.06.2011, 17:44   #4
graymaster
Форумчанин
 
Аватар для graymaster
 
Регистрация: 03.05.2011
Сообщений: 158
По умолчанию

Это случайно огрызок кода остался от проверок, странно, что он у вас вытащился через 10 минут после того, как я отредактировал сообщение и его оттуда зачистил.
graymaster вне форума Ответить с цитированием
Старый 01.07.2011, 00:06   #5
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

PHP код:
$arr = array();
$result mysql_query('SELECT DISTINCT tag1, tag2, tag3 FROM mytable');
while(
$row mysql_fetch_row($result))
{
    
$arr array_merge(array_flip($row), $arr);
}
$arr array_keys($arr); 
Ограничимся одним запросом к базе.
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Старый 01.07.2011, 01:55   #6
Abuhamed
Форумчанин
 
Аватар для Abuhamed
 
Регистрация: 27.01.2010
Сообщений: 330
По умолчанию

Johnatan

Хм... интересно. Спасибо, попробую.
Abuhamed вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Уникальные значения Fezdipekla Microsoft Office Access 1 13.05.2010 11:02
Уникальные посетители на PHP PSix1_73 PHP 2 02.08.2009 09:06
Уникальные имена файлов на Perl Sergey2 PHP 1 06.07.2009 23:01
Уникальные значения SwiP SQL, базы данных 6 07.05.2009 23:22
Уникальные строки werser Microsoft Office Excel 1 02.04.2009 18:23