![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Gold Dragon |
|
||||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 2 Всего: 71 |
есть две таблицы
в этой талице хранятся фотографии
в это хранятся комментарии к фотографиям
связываются таблицы так `foto_datsogallery`.`id`=`foto_datsogallery_comments`.`cmtpic` в `foto_datsogallery`.`imgoriginalname` хранится имя файла. Задача такая: удалить из таблицы комментариев комментарии тех фотографий которых не существует на сервере (фотки физически удалены с сервера, а запись о них осталась в базе). Как это можно оптимально организовать? -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
||||
|
|||||
Kesh |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2488 Регистрация: 31.7.2002 Где: Германия, Saarbrü cken Репутация: 5 Всего: 54 |
Наверное
-------------------- ![]() |
|||
|
||||
Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 2 Всего: 71 |
в том то и дело что в папке хранится очень большое количество файлов и их имена конечно генеряться автоматом.. Мне получается нужно получить весь список файлов, сверить с таблицами, если такой файл есть то оставить запись, если в списке такого файла нет - удалить...
просто что-то даже не могу понять как это организовать -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 14 Всего: 260 |
фи. не делать же на каждую запись проверку!
делаем отдельную таблицу(можно - temporary), в которую запихиваем одним циклом имена картинок, имеющихся в папке. после чего, сделав left join на эту таблицу, вполне можно будет удалить записи, не имеющих связей с существующими файлами. |
|||
|
||||
Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 2 Всего: 71 |
skyboy,
![]() чёрт, совсем не подумал об этом.... А я тутвсякие циклы придумываю.. А как мне перебрать все файлы в папке? просто с файлами не очень хорошо работаю... ![]() -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
solenko |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1473 Регистрация: 15.1.2006 Где: Украина Репутация: 7 Всего: 67 |
Gold Dragon, для этой задачи проще всего результат ls. Где-то так:
-------------------- Ла-ла-ла-ла Заметьте, нет официального подтверждения, что это не просто четыре слога. |
|||
|
||||
gta4kv |
|
|||
![]() Walking around mad. ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1868 Регистрация: 25.7.2006 Репутация: 4 Всего: 91 |
есть к файлу идёт обращение не напрямую, а через скрипт, то лучше сделать как сказал(о/а) Kesh.
Это сообщение отредактировал(а) gta4kv - 2.9.2008, 16:40 |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 14 Всего: 260 |
можно воспользоваться glob, который за один вызов тебе вернет список файлов.
|
|||
|
||||
Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 2 Всего: 71 |
glob понравился
![]() вот только не сображу как запрос то составить... ![]() -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |