Сайт сообщества | Клуб пользователей | О проекте

Имя
Пароль
ПравилаРегистрацияСправка
Сообщения за деньПоиск

Вернуться   Клуб пользователей портальной системы RUNCMS > Опен Ресурс > MySQL

Ответ
 
Опции темы Опции просмотра
pan вне форума pan
): ǝҺɐни dиw ɐн иd⊥оwɔ

Аватар для pan

| Цитировать Старый #1 04-01-2014, 22:53

Помогите с запросом к базе. Модуль news - роня двоечка

Надо найти одинаковые title и вывести типа

1. Найдено "запись1" (это title) 2 раза
id новости "Запись1"
id новости "Запись1" (дубль)
2. Найдено "запись2" (это title) 3 раза
id новости "Запись2"
id новости "Запись2" (дубль)
id новости "Запись2" (дубль)

База взята с двига в котором можно помещать новость в разные категории. Сейчас пашет с роней но куча дублей.

Я заранее всех люблю


Напильник для RUNCMS
Строим помаленьку
Для гурманов
Мебель для дома
Посетить домашнюю страницу pan
  Сообщения: 4,777 c 15.03.2004 | Репутация: 121
LARK вне форума LARK
[исход]

Аватар для LARK

| Цитировать Старый #2 04-02-2014, 19:53

PHP код:
$sql 'SELECT COUNT(*) AS `cnt`, `title`, GROUP_CONCAT(storyid) AS `ids` FROM `' $db->prefix('stories') . '` GROUP BY `title` HAVING `cnt` > 1'
Дальше думаю понятно


Правила нашего Форума :: О клубе пользователей RUNCMS :: Рекомендации по публикации сообщений :: Прежде чем задать вопрос воспользуйтесь Поиском
-------------------------------------------------------------------
Если что-то не работает, задавая вопрос, ! ОБЯЗАТЕЛЬНО ! пишите версию RUNCMS/модуля/PHP/MySQL и текст самой ошибки.
Посетить домашнюю страницу LARK
  Сообщения: 4,185 c 20.09.2003 | Репутация: 223
pan вне форума pan
): ǝҺɐни dиw ɐн иd⊥оwɔ

Аватар для pan

| Цитировать Старый #3 04-03-2014, 05:09

Мерси, как всегда. Вот код

PHP код:
include("mainfile.php");
global 
$db$meta$rcxUser$rcxConfig;
$sql 'SELECT COUNT(*) AS `cnt`, `title`, `storyid`, GROUP_CONCAT(storyid) AS `ids` FROM `' $db->prefix('stories') . '` GROUP BY `title` HAVING `cnt` > 1';  
$result $db->query($sql);
while (
$myrow $db->fetch_array($result)) {
$title $myts->makeTboxData4Show($myrow['title']);
$storyid $myrow['storyid'];
echo 
"<a href='".RCX_URL."/modules/news/article.php?storyid=$storyid'>".$title."</a></br>";

Но выводит он только 1 заголовок. То есть у этой новости есть дубль, но где он неизвестно.


Напильник для RUNCMS
Строим помаленьку
Для гурманов
Мебель для дома
Посетить домашнюю страницу pan
  Сообщения: 4,777 c 15.03.2004 | Репутация: 121
LARK вне форума LARK
[исход]

Аватар для LARK

| Цитировать Старый #4 04-03-2014, 07:53

Список дублей через запятую в ids. В cnt количество дублей. `storyid` в запросе убери.

Последний раз редактировалось LARK, 04-03-2014 в 07:58


Правила нашего Форума :: О клубе пользователей RUNCMS :: Рекомендации по публикации сообщений :: Прежде чем задать вопрос воспользуйтесь Поиском
-------------------------------------------------------------------
Если что-то не работает, задавая вопрос, ! ОБЯЗАТЕЛЬНО ! пишите версию RUNCMS/модуля/PHP/MySQL и текст самой ошибки.
Посетить домашнюю страницу LARK
  Сообщения: 4,185 c 20.09.2003 | Репутация: 223
pan вне форума pan
): ǝҺɐни dиw ɐн иd⊥оwɔ

Аватар для pan

| Цитировать Старый #5 04-03-2014, 08:08

Цитата:
Сообщение от LARK Посмотреть сообщение
`storyid` в запросе убери
А если надо, то как?


Напильник для RUNCMS
Строим помаленьку
Для гурманов
Мебель для дома
Посетить домашнюю страницу pan
  Сообщения: 4,777 c 15.03.2004 | Репутация: 121
LARK вне форума LARK
[исход]

Аватар для LARK

| Цитировать Старый #6 04-03-2014, 08:14

Цитата:
Сообщение от pan Посмотреть сообщение
А если надо, то как?
отдельным запросом с подстановкой ids в IN(), делай выборку всех дубликатов, потом уже с ними работай.

PHP код:
 $sql 'SELECT * FROM `' $db->prefix('stories') . '` WHERE `storyid` IN (' $myrow['ids'] . ')'

Последний раз редактировалось LARK, 04-03-2014 в 08:18


Правила нашего Форума :: О клубе пользователей RUNCMS :: Рекомендации по публикации сообщений :: Прежде чем задать вопрос воспользуйтесь Поиском
-------------------------------------------------------------------
Если что-то не работает, задавая вопрос, ! ОБЯЗАТЕЛЬНО ! пишите версию RUNCMS/модуля/PHP/MySQL и текст самой ошибки.
Посетить домашнюю страницу LARK
  Сообщения: 4,185 c 20.09.2003 | Репутация: 223
pan вне форума pan
): ǝҺɐни dиw ɐн иd⊥оwɔ

Аватар для pan

| Цитировать Старый #7 04-03-2014, 09:02

Так, стоп, чо то я глубоко залез и ничо не понимаю
ids это же и есть массив с id новостями дублями
как его разделать так что бы не через запятую, а урлами ?

Найдено дублей 2
и два раза это строка отработала
PHP код:
echo "<a href='".RCX_URL."/modules/news/article.php?storyid=$ids'>".$title."</a><br>"


Напильник для RUNCMS
Строим помаленьку
Для гурманов
Мебель для дома
Посетить домашнюю страницу pan
  Сообщения: 4,777 c 15.03.2004 | Репутация: 121
LARK вне форума LARK
[исход]

Аватар для LARK

| Цитировать Старый #8 04-03-2014, 09:21

ids это не массив, это строка с id новостей.

Как то так:

PHP код:
include("mainfile.php");

$sql 'SELECT COUNT(*) AS `cnt`, `title`, GROUP_CONCAT(storyid) AS `ids` FROM `' $db->prefix('stories') . '` GROUP BY `title` HAVING `cnt` > 1';  

$result $db->query($sql);

while (
$myrow $db->fetch_array($result)) {
    
$title $myts->makeTboxData4Show($myrow['title']);
    
    
    
$sql2 'SELECT * FROM `' $db->prefix('stories') . '` WHERE `storyid` IN (' $myrow['ids'] . ')'
    
    
$result2 $db->query($sql2);
    
    while (
$myrow2 $db->fetch_array($result2)) {
        echo 
"<a href='" RCX_URL "/modules/news/article.php?storyid=" $myrow2['storyid'] . "'>" $title "</a></br>";
    }




Правила нашего Форума :: О клубе пользователей RUNCMS :: Рекомендации по публикации сообщений :: Прежде чем задать вопрос воспользуйтесь Поиском
-------------------------------------------------------------------
Если что-то не работает, задавая вопрос, ! ОБЯЗАТЕЛЬНО ! пишите версию RUNCMS/модуля/PHP/MySQL и текст самой ошибки.
Посетить домашнюю страницу LARK
  Сообщения: 4,185 c 20.09.2003 | Репутация: 223
pan вне форума pan
): ǝҺɐни dиw ɐн иd⊥оwɔ

Аватар для pan

| Цитировать Старый #9 04-03-2014, 09:34

Ништячок. Дублей то у меня пипец

Найди пять минут то на создание кошелька.


Напильник для RUNCMS
Строим помаленьку
Для гурманов
Мебель для дома
Посетить домашнюю страницу pan
  Сообщения: 4,777 c 15.03.2004 | Репутация: 121
Ответ

Метки
база, дубль

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Рейтинг@Mail.ru Хостинг провайдер Majordomo. Powered by: vBulletin Version 3.0
Copyright ©2000-2024, Jelsoft Enterprises Ltd.
Все разделы прочитаны - Руководство форума - Архив - Вверх
Rambler's Top100
Output: 92.07 Kb. compressed to 85.26 Kb. by saving 6.81 Kb. (7.40%)
Page generated in 0.08062 seconds with 11 queries