Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Поиск дубликатов

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Помогите разобраться с проблемой.
TurnOff
Отправлено: 16 Июля, 2014 - 11:32:13
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Март 2014  


Помог: 0 раз(а)




Доброго времени суток, ребята. В общем имеется такая задача. Есть таблицы в mysql, допустим таблица qwerty, с атрибутами titile, image,id. Атрибут titile может быть любым, а вот атрибут image генеритсяю Допустим, есть файл... вы внесли туда изменения, сохранили его под названием file, потом опять его поменяли, но он уже сохранится как file + рандомное число от 10 до 99, то есть file56. И таких названий может быть куча. И разных. Что надо: 1) найти первоначальное имя файла; 2) вывести файл первоначального вида и сбоку вывести все го дубликаты.
Вот так выглядит таблица.
CODE (htmlphp):
скопировать код в буфер обмена
  1. "id"    "title"                 "image"
  2. "158"   "privod_cepn"           "privod_cepn"
  3. "265"   "privod_cepn16"         "privod_cepn16"
  4. "335"   "privod_cepn17"         "privod_cepn17"
  5. "160"   "privod_cepn79"         "privod_cepn79"
  6. "347"   "privod_cepn92"         "privod_cepn92"
  7. "159"   "privod_naval"          "privod_naval"
  8. "336"   "privod_naval56"        "privod_naval56"
  9. "348"   "privod_naval80"        "privod_naval80"
  10. "266"   "privod_naval99"        "privod_naval99"
  11. "301"   "proem_garazh"          "proem_garazh"
  12. "305"   "proem_garazh20"        "proem_garazh20"
  13. "351"   "proem_garazh99"        "proem_garazh99"
 
 Top
SAD
Отправлено: 16 Июля, 2014 - 12:29:58
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




Ну храните в этой табличке первоначальное имя, а в доп. табличке дубликаты и свяжите таблицы по id

(Отредактировано автором: 16 Июля, 2014 - 12:30:31)

 
 Top
TurnOff
Отправлено: 16 Июля, 2014 - 13:27:18
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Март 2014  


Помог: 0 раз(а)




SAD пишет:
Ну храните в этой табличке первоначальное имя, а в доп. табличке дубликаты и свяжите таблицы по id

Дело в том, что это имена файлов... они располагаются в каталоге. Файлы парсятся и заносится информация в бд. Таблицы трогать нельзя )

(Отредактировано автором: 16 Июля, 2014 - 13:28:55)

 
 Top
Panoptik
Отправлено: 16 Июля, 2014 - 13:59:50
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


Помог: 131 раз(а)




а что можно трогать?
(Добавление)
допустим оригинальный файл можно узнать так

PHP:
скопировать код в буфер обмена
  1. $file = 'file232';
  2. $baseFile = substr($file, 0, -2);


проблема то в чем?


-----
Just do it
 
 Top
TurnOff
Отправлено: 16 Июля, 2014 - 14:12:48
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Март 2014  


Помог: 0 раз(а)




Panoptik пишет:
а что можно трогать?
(Добавление)
допустим оригинальный файл можно узнать так

PHP:
скопировать код в буфер обмена
  1. $file = 'file232';
  2. $baseFile = substr($file, 0, -2);


проблема то в чем?


Так не покатит )))) Тут как я понял надо 2 массива делать и проверять, где первоначальное название, а где уже дублируется...
 
 Top
Sail
Отправлено: 16 Июля, 2014 - 14:47:51
Post Id



Участник


Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014  


Помог: 57 раз(а)




CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM `qwerty` WHERE convert(reverse(`image`), decimal) = 0;

Этот запрос вернёт строки с "первоначальными" именами файлов из таблицы (докустим, qwerty).
Если, конечно, "первоначальное" имя однозначно не заканчивается цифирью Улыбка
Ну а дальше - like "первоначальное_имя%" в помощь.
 
 Top
TurnOff
Отправлено: 16 Июля, 2014 - 14:50:43
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Март 2014  


Помог: 0 раз(а)




Sail пишет:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM `qwerty` WHERE convert(reverse(`image`), decimal) = 0;

Этот запрос вернёт строки с "первоначальными" именами файлов из таблицы (докустим, qwerty).
Если, конечно, "первоначальное" имя однозначно не заканчивается цифирью Улыбка
Ну а дальше - like "первоначальное_имя%" в помощь.

а вот косяк, файл может уже цифрой заканчиваться )))
 
 Top
Panoptik
Отправлено: 16 Июля, 2014 - 16:38:58
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


Помог: 131 раз(а)




вы сперва внятно объясните что и как вы делаете (должны сделать) на словах без кода
если устно вы сможете это сделать, значит программно без проблем задача решается

если вы не сможете объяснить что и как, то увы ванга и настрадамус в отпуске


-----
Just do it
 
 Top
TurnOff
Отправлено: 16 Июля, 2014 - 17:58:45
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Март 2014  


Помог: 0 раз(а)




Panoptik пишет:
вы сперва внятно объясните что и как вы делаете (должны сделать) на словах без кода
если устно вы сможете это сделать, значит программно без проблем задача решается

если вы не сможете объяснить что и как, то увы ванга и настрадамус в отпуске

Объясняю ещё раз. Есть файлы в папке, в них располагаются данные. Вся информация хранится в БД. То есть какое-то веб приложение считывает данные с бд и потом сохраняет в файлы. Мне нужно сделать своё веб-приложение, которое показывает первоначальное наименование файла и его дубликаты. Дубликаты я уже писал как создаются.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB