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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.03.2012, 09:36   #1
Che Guevara
Пользователь
 
Аватар для Che Guevara
 
Регистрация: 27.07.2010
Сообщений: 91
Злость Выборка только повторяющихся записей

Доброго дня!
Не знаю как реализовать следующее:
1. Есть таблица с полями id, date, room, group
2. В колонке date есть повторябщиеся записи (т.е. несколько 19.03.2012 и несколько 20.03.2012)
3. Делаю выборку на период "с" и "до" вот так:
$start=date('d.m.Y', strtotime(date('Y').'W'.date('W').' 1'));
$end=date('d.m.Y', strtotime(date('Y').'W'.date('W').' 7'));
$result=mysql_query("SELECT * FROM `schedule` WHERE `date` >= '$start' AND `date` <= '$end'", $db);
4. Теперь надо запихнуть в массив только повторяющиеся записи из столбика date, причём каждой по одной. Т.е. из нескольких записей 19.03.2012 запишится одна, из нескольких записей 20.03.2012 запишится одна.
Che Guevara вне форума Ответить с цитированием
Старый 20.03.2012, 09:54   #2
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Можно было бы сделать 2 запроса для каждой даты с LIMIT в конце запроса.
Либо в цикле уже перебираете результаты и проверяте дату по $row['date'] и заносите их в массив.
motorway вне форума Ответить с цитированием
Старый 20.03.2012, 10:11   #3
Che Guevara
Пользователь
 
Аватар для Che Guevara
 
Регистрация: 27.07.2010
Сообщений: 91
По умолчанию

Хм... в любом случае после выборки я пишу: $myrow=mysql_fetch_array($result);
Может есть смысл искать повторяющиеся записи в массиве $myrow? НО КАК?
Che Guevara вне форума Ответить с цитированием
Старый 20.03.2012, 10:21   #4
Lesha
Форумчанин
 
Аватар для Lesha
 
Регистрация: 30.01.2009
Сообщений: 418
По умолчанию

Цитата:
4. Теперь надо запихнуть в массив только повторяющиеся записи из столбика date, причём каждой по одной. Т.е. из нескольких записей 19.03.2012 запишится одна, из нескольких записей 20.03.2012 запишится одна.
Код:
SELECT * FROM `schedule` as shc WHERE (SELECT COUNT(*) FROM `schedule` WHERE id = shc.id AND `date` >= '$start' AND `date` <= '$end'  LIMIT 2)>1

Последний раз редактировалось Lesha; 20.03.2012 в 10:27.
Lesha вне форума Ответить с цитированием
Старый 20.03.2012, 10:41   #5
Che Guevara
Пользователь
 
Аватар для Che Guevara
 
Регистрация: 27.07.2010
Сообщений: 91
По умолчанию

2Lesha,
Сразу, точно, работает! спасибо!
Che Guevara вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление повторяющихся записей в БД Dinamik БД в Delphi 8 22.03.2012 22:05
Выборка повторяющихся записей. Небесный SQL, базы данных 1 29.12.2011 20:24
Фильтр формулой, выборка не повторяющихся значений Python Microsoft Office Excel 7 30.06.2011 19:27
Фильтрация повторяющихся записей euronymous SQL, базы данных 3 04.02.2010 15:17
Удаление повторяющихся записей gavrylyuk Microsoft Office Excel 3 28.06.2008 08:10