Покинул форум
Сообщений всего: 9
Дата рег-ции: Сент. 2009
Помог: 0 раз(а)
Вот мой скрип он сравнивает файлы.
Первый с базой (он один!)
И следующие с чем сравнить и если есть одинаковые то жирным селект сделать
вот почти рабочий код:
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
srazil пишет:
У меня в трех папких эти файлы, и селекта тоже три! А нада один! Как это сделать
Для вывода списка файлов из различных каталогов в одном общем select-элементе можно использовать различные схемы постороения идентификаторов - в частности вы можете сохранить имена файлов из каждой директории в отдельный подмассив и потом сформировать их общий вывод - с некоторой системой указания принадежности файла в папки например за счет использовать относительных путей с предварительным шифрования специальных символов
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
srazil
Отправлено: 22 Августа, 2010 - 06:19:03
Новичок
Покинул форум
Сообщений всего: 9
Дата рег-ции: Сент. 2009
Помог: 0 раз(а)
Ну хоть маленький намек на пример, я новичок в PHP.
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
srazil пишет:
Ну хоть маленький намек на пример, я новичок в PHP.
Для того чтобы реализовать единый select-элемент в котором будут указаны файлы из различных каталогов - можно использовать различные варианты их однозначной идентификации В частности если у вас есть некоторая БД со список файлов и дополнительными сведениями к нем - то возможно просто указывать уникальные идентификаторы - но в общем случае достаточно использования относительного файлового пути в каталоге виртуального хоста При использовании последнего варианта после совершения передачи пользователем формы с выбранными файлами - необходимо осуществить предварительную проверку на наличие их в исходном списке поскольку на клиентской стороне их можно подменить
Можно привести к примеру очень простой вариант в котором выводятся файлы из различных папок
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
srazil
Отправлено: 23 Августа, 2010 - 18:13:08
Новичок
Покинул форум
Сообщений всего: 9
Дата рег-ции: Сент. 2009
Покинул форум
Сообщений всего: 1539
Дата рег-ции: Март 2010 Откуда: Киров
Помог: 6 раз(а)
srazil пишет:
И все равно 3 селекта вместо одного.
Потому что у вас селект внутри цикла while.
srazil пишет:
Пробовал переносить выше, тогда один селект и в нем не все, остальное вылезает за селект в виде каки.
А закрывающий </select> кто будет выносить из цикла? (Добавление)
Чтоб не мучились, поменяйте местами 26 и 27 строки.
srazil
Отправлено: 23 Августа, 2010 - 22:15:47
Новичок
Покинул форум
Сообщений всего: 9
Дата рег-ции: Сент. 2009
Помог: 0 раз(а)
Все сделал теперь один селект но блин опять столкнулся с проблемой.
В селекте видны только то, что в цикле файлов а не в базе.
т.е. вижу $nix1 а должен видеть $cv_dir и если есть совпадения с $nix1 то выделить это!
беда.
Покинул форум
Сообщений всего: 9
Дата рег-ции: Сент. 2009
Помог: 0 раз(а)
Пробовал еще так, но он теперь начал по несколько раз в одном селекте выдавать базу т.е. вместо 10 пунктов селекта выдает 10 умноженное на 3 селектов. Но хоть начал жирным выделять то с чем сравнивать.
Вот пример:
Покинул форум
Сообщений всего: 111
Дата рег-ции: Окт. 2009 Откуда: Казахстан, Алматы
Помог: 0 раз(а)
srazil пишет:
вместо 10 пунктов селекта выдает 10 умноженное на 3 селектов
Видимо, это потому, что вы используете один цикл (foreach) внутри другого (while) - подумайте над логикой...
Если требуется именно так (?) логику строить, тогда внутри цикла foreach нужно еще раз проверить: существует ли ключ массива, либо такое значение массива, если да, то заново не добавлять.
Поскольку код не очень читабельный, то сами... вынесите второй цикл "foreach($numer as $linems)" из цикла "while@? полагаю, он там вообще не к месту, тогда 1 раз будет распечатка ;)
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
srazil пишет:
селекте видны только то, что в цикле файлов а не в базе.
Для вывода некоторой сводной информации по файлам которая доступна в БД для выбираемых файлов вы можете использовать такую схему - сначала вы считываете все значение имен файлов в том виде котором они есть и сохраняете в одномерный массив - и для него делаете запрос в БД для получения дополнительной информации и связываете ее с соответствующими идентификаторами - и после этого уже можете осуществлять вывод select-ов в которых в качестве value будет уникальное имя файла в экранированном виде - а в качестве самого показывемого значения внутри option будет информация скопированная из БД
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
srazil
Отправлено: 24 Августа, 2010 - 18:02:11
Новичок
Покинул форум
Сообщений всего: 9
Дата рег-ции: Сент. 2009
Помог: 0 раз(а)
isle пишет:
Поскольку код не очень читабельный, то сами... вынесите второй цикл "foreach($numer as $linems)" из цикла "while@? полагаю, он там вообще не к месту, тогда 1 раз будет распечатка ;)
Благодарю всех за помощь, все хоть по немного помогли!
Вот именно то, что мне было нужно:
Естественно понятно, что $dir содержит в себе эти названия.
Вопрос в следующим как можно отсортировать по возрастанию или убыванию $dir, собственно тут главное сам смысл. Сам прбовал
sort($dir); - не помогло
usort
rsort
Пробую сортировать сразу после continue;
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
srazil пишет:
Вопрос в следующим как можно отсортировать по возрастанию или убыванию $dir, собственно тут главное сам смысл. Сам прбовал
В приведенной вами части PHP-кода для реализации вывода директорий в соответствии с некоторой сортировкой - необходимо организовать их предварительное сохранение в массив для которого уже будет выполняться упорядочивание элементов - то есть при считывании содержимого папки $dir=readdir($dir_handle) вы осуществляете добавление полученного значения в массив $arr[]=$dir - и после окончания цикла вы осуществляете сортировку массива $arr функцией типа sort или usort с собственным условием и производите дальнейший вывод с обрамление требуемыми строковыми константами Если вы хотите огранизовать ресурсивное чтение всех вложенных файлов и директорий с их последующей сортировкой - то можете произвести аналогичную операцию в заменой линейного массива на древесную структуру
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.