Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - Несколько вопросов по PHP

Ответить
Настройки темы
Разное - Несколько вопросов по PHP

Аватара для ManHack

Старожил


Сообщения: 361
Благодарности: 6

Профиль | Отправить PM | Цитировать


У меня возникли следующие вопросы, когдя я пытался разобраться...
1) Как индексировать содержимое папки? Есть большой фолдер (большой - это значит около 10к файлов схожего типа, дальше - больше).
Какую структуру языка PHP лучше всего использовать для хранения информации об каждом файле с учётом максимально простого, быстрого и эффективного обращения к ним из другого PHP-файла (или flash-приложения).
Массив не подходит, ибо одному элементу массива соответствует одно значение (а нужно хранить как минимум значения типа Ident, Vendor ID, Group и Link)
Я читал про такой тип данных в PHP как ресурс, но, как я понял, он хранит только ссылки, и вообще это не тип данных, а процедуры обращения к тем же GZ2-файлам или MySQL DB...
А как в PHP выглядит тип данных, идентичный типу record (запись) в Pascal/Delphi.
Очень хорошо, если бы вы подсказали не только как он выглядит и декларируется в программе, но и как обращаться к элементам, записывать значения в элементы записи и и.п.
2) Вот есть у файлов в Св-вах вкладочка "Сводка". Там Vendor ID и ещё всякая ерунда обычно хранится.
А как к этой штучке обращаться в PHP?
Вот допустим из этой папки с файлами (10000+ файлов) PHP-файл должен найти файл, у которого в св-вах во вкладке "сводка" в поле "создатель" написано "FileVendor01", как будет выглядеть ответственная за поиск часть этого PHP-файла?
3) Что из себя представляют ASPX (ASP, Active Server Pages) файлы?
Что есть ASP и зачем его используют?
Имело бы смысл реализовывать то, что описано в вопросах выше, с помошью ASP? (хотя заглянув в Википедию я сам ответил на этот вопрос, ответ отрицательный)
Где можно почитать литературу по ASP?
ASP и ASP.NET - разные вещи?

Отправлено: 17:25, 22-01-2009

 

Аватара для Coutty

Кот Ти


Сообщения: 7318
Благодарности: 1204

Профиль | Отправить PM | Цитировать


Цитата ManHack:
Для начала, как данные, забитые в форму, отдать PHP файлы (записать в указанную переменную в php-файле, для определённости, в $data) »
HTML код: Выделить весь код
<form action='script.php' method='get'> <input type='text' name='data' /> <input type='submit' value='Отправить' /> </form>

Жмёте кнопку "отправить" и скрипт script.php получает переменную $_GET['data'], содержащую то, что написано в текстовом поле.
Цитата ManHack:
И я всё-равно не понимаю как организовать поиск по БД, если в формочку вводится строка с несколькими параметрам, по которым должен выполняться поиск, причём в совершенно неопределённом порядке. »
Вопрос немного размытый.
Вот, например, ввели мы эту $_GET['data']. Нужно выполнить поиск по таблице table_name по полю name:
PHP код: Выделить весь код

$result mysql_query("SELECT * FROM `table_name` WHERE `name` LIKE '%" $_GET['data'] . "%'"); 



Отправлено: 19:57, 04-02-2009 | #21



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 1862
Благодарности: 132

Профиль | Сайт | Отправить PM | Цитировать


1 Рисуешь формочку
2 В параметре action ставишь нужный php-файл. action="getforma.php"
3 Это пока весь getforma.php
PHP код: Выделить весь код

echo '<br />var_dump ($_POST) = '.var_dump ($_POST);

echo 
'<br />var_dump ($_GET) = '.var_dump($_GET); 

4 Как искать по базе -
http://www.mysql.ru/docs/man/String_...functions.html
http://dev.mysql.com/doc/refman/5.0/...functions.html
http://habrahabr.ru/blogs/mysql/25646/

Coutty,

-------
ДИЛЕТАНТ - это курьезный человек, который испытывает удовольствие делать то, чего не умеет.
AMD 4200+, MSI Neo2Platinum, 2Gb, ATI 9600, D-Link DWL-G510, FreeBSD 8.0, KDE 4.3.4


Отправлено: 19:57, 04-02-2009 | #22


Аватара для ManHack

Старожил


Сообщения: 361
Благодарности: 6

Профиль | Отправить PM | Цитировать


Цитата:
Вот, например, ввели мы эту $_GET['data']. Нужно выполнить поиск по таблице table_name по полю name:
А если надо искать по нескольким полям таблицы сразу?
Причём пользователь вводит данные в форму разныого характера, а поиск определяет по каким полям надо искать и выдаёт наиболее соответствующие результаты.
Аналогично поиску человеков на facebook/vkontakte фразой вида "Петя Васечкин Тула", выдаёт всех людишек с именем "Петя" (или его производными), фамилией "Васечкин", которые указали город "Тула".

Отправлено: 16:58, 05-02-2009 | #23


Ветеран


Сообщения: 1862
Благодарности: 132

Профиль | Сайт | Отправить PM | Цитировать


Есть база, в ней много полей, одни из них - name - Петя, family - Васечкин, city - Тула.
Надеюсь с формой разобрался. Тогда у нас есть переменные $pname, $pfamily, $pcity. Не путать с полями в базе.
Делаем запрос -
$query = "SELECT * from `user` WHERE `city`='".$pcity."' AND `family`= '".$pfamily."' AND `name` LIKE '%".$pname."%'";
$result = mysql_query($query);
Далее в ман по php.

-------
ДИЛЕТАНТ - это курьезный человек, который испытывает удовольствие делать то, чего не умеет.
AMD 4200+, MSI Neo2Platinum, 2Gb, ATI 9600, D-Link DWL-G510, FreeBSD 8.0, KDE 4.3.4


Отправлено: 21:13, 05-02-2009 | #24


Аватара для ManHack

Старожил


Сообщения: 361
Благодарности: 6

Профиль | Отправить PM | Цитировать


Получается, у нас три переменных.
Я понял как забирвать из формы одну переменную, а как три забрать?
Что значит слово LIKE '% в запросе?

Отправлено: 16:19, 06-02-2009 | #25


Аватара для Coutty

Кот Ти


Сообщения: 7318
Благодарности: 1204

Профиль | Отправить PM | Цитировать


LIKE - это вместо "равно". Используется для поиска похожих сочетаний.
% - подстановочный знак "любое количество символов".
_ - "один символ".
Цитата ManHack:
Я понял как забирвать из формы одну переменную, а как три забрать? »
Делать три поля ввода с разными именами.
И забирать: $_GET['name'], $_GET['family'], $_GET['city']. Или же $_POST['name'] я только не уверен, что можно делать имя для поля - name, если передаёте POST'ом.
А чтоб в одно поле всё что угодно писать и получать результаты поиска по всей БД - это особое мастерство Как вы, наверное, помните, в том же "контакте" поиск чего угодно появился не так уж и давно. Полагаю, дело там в дополнительном столбце, который содержит в себе особый индекс. Фраза, получаемая из поля ввода разбивается по пробелам и используется поиск с фразами, где слова меняются местами. Хотя это должна быть слишком высокая нагрузка на СУБД)
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:12, 06-02-2009 | #26


Ветеран


Сообщения: 1862
Благодарности: 132

Профиль | Сайт | Отправить PM | Цитировать


А кто сказал, что там 3 переменные? Переменная одна, а вот как сделан поиск - коммерческая тайна. Можно конечно докумекать и сделать аналогично, но это будет именно аналогично, а не точно так же.

-------
ДИЛЕТАНТ - это курьезный человек, который испытывает удовольствие делать то, чего не умеет.
AMD 4200+, MSI Neo2Platinum, 2Gb, ATI 9600, D-Link DWL-G510, FreeBSD 8.0, KDE 4.3.4


Отправлено: 19:59, 06-02-2009 | #27


Аватара для ManHack

Старожил


Сообщения: 361
Благодарности: 6

Профиль | Отправить PM | Цитировать


Цитата:
лагаю, дело там в дополнительном столбце, который содержит в себе особый индекс. Фраза, получаемая из поля ввода разбивается по пробелам и используется поиск с фразами, где слова меняются местами. Хотя это должна быть слишком высокая нагрузка на СУБД)
Я собственно так и думал... Хотя не уверен что на тех же vpleer.ru и vkontakte.ru именно так, но данный способ выглядит убедительно.
Объясните как слова по пробелам разбивать пожалуйста.
И чем отличается метод GET от метода POST?

Отправлено: 10:15, 08-02-2009 | #28


Ветеран


Сообщения: 1862
Благодарности: 132

Профиль | Сайт | Отправить PM | Цитировать


ManHack, ручками сделай форму, обработчик формы и сравни.

-------
ДИЛЕТАНТ - это курьезный человек, который испытывает удовольствие делать то, чего не умеет.
AMD 4200+, MSI Neo2Platinum, 2Gb, ATI 9600, D-Link DWL-G510, FreeBSD 8.0, KDE 4.3.4


Отправлено: 14:21, 10-02-2009 | #29


Аватара для ManHack

Старожил


Сообщения: 361
Благодарности: 6

Профиль | Отправить PM | Цитировать


Теперь такой вопрос: как в PHP получить системное время? А если только дату? или только час с минутами?
Как получить размер файла? (с целью записать его в MySQL таблицу) и конкретный параметр из stats(filename).
А если это аудиофайл, как, скажем, обратиться к полям исполнитель или альбом?
Как можно организовать ID, записываемый в таблицу, чтобы при добавлении нового файла ему присваивался именно следующий ID?

Отправлено: 01:46, 15-02-2009 | #30



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - Несколько вопросов по PHP

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - PHP - несколько вопросов ManHack Программирование и базы данных 38 26-08-2009 18:15
Несколько вопросов по ОС Master WEB Общий по Linux 33 02-08-2007 23:23
Несколько вопросов raingts Хочу все знать 2 30-01-2007 18:05
Несколько вопросов barbos Общий по Linux 8 16-12-2004 20:40
Несколько вопросов по RH 9 Frost Wolf Общий по Linux 12 07-09-2003 12:51




 
Переход