|
|
|
| Собственно база здесь http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=81556&page=1.
Теперь думаю, наверное начать надо с формы добавления книг в БД?
Или? | |
|
|
|
|
|
|
|
для: Артурыч
(09.07.2011 в 19:47)
| | Совершенно верно. Вы упоминали, что знаете HTML, самое время продемонстрировать свое искусство и создать две страницы с HTML-формами-заголовками, которые позволят заполнять данные таблицы. Если что-то вызывает сложности, сообщите, постараемся помочь. | |
|
|
|
|
|
|
|
для: cheops
(09.07.2011 в 19:54)
| | Зачем две? :( не понял? | |
|
|
|
|
|
|
|
для: Артурыч
(09.07.2011 в 19:56)
| | Собственно пока можно одну, для книг, а каталоги набить вручную через базу данных.
PS Но вообще по уму, пользователи бы ожидали, что вы предоставили им интерфейс для создания, редактирования и удаления каталогов из системы (это удобнее делать отдельно от книг). Т.е. чтобы можно было создать каталог и наполнить его книгами, а потом в случае чего, переименовать или удалить за ненадобностью (вместе с книгами или указав раздел, куда книги из удаляемого каталога нужно поместить), т.е. в конечном варианте форм будет много. В конце концов нужно стремиться очаровать пользователя, чтобы он думал: "Это как же я раньше без этого полезного ПО жил?", вместо "Ну ка нафиг, я лучше по старинке все буду в каталогах на жестком диске хранить". Да и хорошее ПО получается, если оно вам самому нравится и вы им охотнее пользуетесь, вместо сторонних продуктов. Только при выполнении этого условия возможна монетизация вашего труда (если вам удобнее пользоваться своей программой, а не чужой, значит 100% есть еще такие люди и свои услуги можно продавать/менять/предлагать - этого состояния и нужно добиться, чтобы было удобнее/мощнее/функциональнее, чем у других). | |
|
|
|
|
|
|
|
для: cheops
(09.07.2011 в 20:10)
| | Ок, спасибо :) Буду думать! | |
|
|
|
|
|
|
|
для: Артурыч
(09.07.2011 в 20:17)
| | Вообщем, есть вопросы. Вот форма:
<form action="" method="post" enctype="multipart/form-data" name="form">
Название книги <input type="text" name="bookname"><br>
Краткое описание книги <input type="text" name="opisanie"><br>
Год издания <input type="text" name="data"><br>
Выберите файл <input type="file" name="filename"><br>
Выберите категорию <select name="id_katalog" multiple></select><br>
<input name="submit" type="submit" value="Добавить книгу">
</form>
|
И так, как я понял, в моей форме, данные попадут в глобальную переменную $_POST. Если не прав, поправьте. Теперь, по идеи, надо как то эти все данные обработать, т.е. файл загрузить на сервер, поля записать в БД, присвоев ему уникальное имя "filename" и уникальный "id" в БД.
Т.е. нужен обработчик формы. Тут у меня столбняк случился :D, блин, как его сделать. Даже точнее, текстовые данные я из формы в БД сохраню, а что делать с файлом?
Честно, вопросов еще больше, чем сейчас написал здесь. Просто боюсь задавать сразу все, чтобы не послали :) | |
|
|
|
|
|
|
|
для: Артурыч
(09.07.2011 в 23:16)
| | имя файла сохранять в БД, а сам файл сохранять на сервере в папке с именем (точнее номером) id строки связанной с настоящим именем файла | |
|
|
|
|
|
|
|
для: Valick
(09.07.2011 в 23:45)
| | Смысл понятен. Не могу понять некоторые моменты. Если можно, дайте список функций и опрераторов, которые мне понадобятся для обработки формы. Хочу почитать, потом уже что то пробовать? | |
|
|
|
|
|
|
|
для: Артурыч
(10.07.2011 в 10:33)
| | Посмотрите пример по ссылке http://softtime.ru/scripts/upload.php.
Вам потребуется глобальный массив $_FILES и функции is_uploaded_file() - загружен ли файл и move_uploaded_file() - переместить файл из временной директории в директорию назначения. | |
|
|
|
|
|
|
|
для: Артурыч
(09.07.2011 в 23:16)
| | >И так, как я понял, в моей форме, данные попадут в глобальную переменную $_POST.
Совершенно верно. Кроме того, данные файла попадают в $_FILES.
В первую очередь просто выведите при помощи print_r содержимое массива $_POST (а за одно и $_FILES), чтобы вам было проще ориентироваться.
<?php
echo "<pre>";
print_r($_POST);
echo "</pre>";
?>
| Во вторую очередь нужно решить, где будет обработчик. (1) В отдельном файле - удобство в том, что вы разделяете HTML-код и PHP-обработчик или в этом же самом файле (2) удобство в том, что проще обрабатывать сообщения об ошибках, если что-то не так, то просто опять выведется HTML-форма с сообщением об ошибке, при этом у вас будет готовый $_POST из которого можно взять данные, чтобы подставить в атрибут value (т.е. все что введет пользователь не пропадает). В зависимости от выбранной стратегии - советы о том что делать дальше будут различаться.
В третью очередь, нужно создать параллельный проект, в котром разобраться, как устанавливать соединие с MySQL, как выполнять статические запросы (без подстановки своих переменных, просто строковый запрос вроде SELECT VERSION(), который возвращает версию сервера), получать не сложные результаты. Когда вы для себя все уясните, можно будет думать о собственном разработчике. | |
|
|
|
|
|
|
|
для: cheops
(10.07.2011 в 13:38)
| | Вообщем я так понял, переменные $_POST возвращает ассоциативный массив, в котором названия ключей, это название полей в форме, а значения соотвветсвенно содержимое этих полей.
То же самое с $_FILE возвращает тоже массив с ключами которые содержат параметры загружаемого файла, его истинное название и временный каталог размешения, и еще какой то ключ error, я не понял зачем :).
Далее с базой разобрался, подключаться научился, простые запросы делать вроде получается.
Решил делать в одном файле и обработчик м форму.
Как теперь все это до кучи завязать? | |
|
|
|
|
|
|
|
для: Артурыч
(11.07.2011 в 17:56)
| | >Вообщем я так понял, переменные $_POST возвращает ассоциативный массив, в котором
>названия ключей, это название полей в форме, а значения соотвветсвенно содержимое этих
>полей.
>То же самое с $_FILE возвращает тоже массив с ключами которые содержат параметры
>загружаемого файла, его истинное название и временный каталог размешения, и еще какой то
>ключ error, я не понял зачем :).
Совершенно верно, поле error содержит ошибку, если не удалось загрузить файл.
>Решил делать в одном файле и обработчик м форму.
>Как теперь все это до кучи завязать?
Можно использовать следующую схему
if(!empty($_POST))
{
// Обработчик
...
// Переадресация на файл index.php (здесь файл, куда пользователь
// должен попадать после успешного добавления каталога)
header("Location: index.php");
exit();
}
// Тут HTML-форма
|
| |
|
|
|
|
|
|
|
для: Артурыч
(09.07.2011 в 19:47)
| | Я не пропал, я тут :) не закрывайте тему, были выходные однако :) сегодня вечером буду продолжать.:) | |
|
|
|
|
|
|
|
для: Артурыч
(11.07.2011 в 09:16)
| | И еще, не могу понять, как сделать список select, чтобы в него потом добавлялись имеющиеся категории? | |
|
|
|
|
|
|
|
для: Артурыч
(11.07.2011 в 18:00)
| | смотря как добавлялись.. если автоматически без перезагрузки страницы, то это пока рановато (это уже AJAX)
а сформировать список селект при помощи РНР абсолютно не составляет труда
запрос на выборку категорий можете составить? | |
|
|
|
|
|
|
|
для: Артурыч
(11.07.2011 в 18:00)
| | >И еще, не могу понять, как сделать список select, чтобы в него потом
>добавлялись имеющиеся категории?
Вопрос вызывает синтаксис select-тэга или извлечение списка из базы данных? Лучше всего формировать его из таблицы категорий. | |
|
|
|
|
|
|
|
для: cheops
(11.07.2011 в 20:25)
| | Второе, список категория для списка селект. Выше код, но блин, не выводит нечего из таблицы. Таблица называется katalog.
[поправлено модератором: ветка, посвященная взаимодействию с базой данных, выенесена в отдельную тему] | |
|
|
|