Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 959
от 28.04.2008, 07:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 482, Экспертов: 46
В номере:Вопросов: 3, Ответов: 4

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 133561: Здравствуйте, уважаемые эксперты. Имеется форма ввода данных в БД. После нажатия "сохранить" осуществляется переход на другую страницу. Хотелось бы на этой странице разместить кнопку "назад", причем, чтобы работало это не как ...
Вопрос № 133598: Здраствуйте. Как мне витянуть значение с джава скрипт переменной в пхп...
Вопрос № 133707: Добрый день уважаемые эксперты! Помогите пожалуйста решить проблему. Имеется таблица МЕНЮ с полями 'ID', 'NAME' (название меню), 'RODITEL' (название родительской категории), 'INDEX' (название корневой категории). А проблема заключается в...

Вопрос № 133.561
Здравствуйте, уважаемые эксперты.
Имеется форма ввода данных в БД. После нажатия "сохранить" осуществляется переход на другую страницу. Хотелось бы на этой странице разместить кнопку "назад", причем, чтобы работало это не как простой переход, а как в браузере - т.е. все заполненные формы отображались (ну к примеру если данные были введены неверно и надо что-то поправить, а в БД это естественно еще не записалось - чтобы не вводить все заново).
Отправлен: 22.04.2008, 11:51
Вопрос задал: Наумов Сергей Александрович / snov (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Иван Сергеевич
Здравствуйте, Наумов Сергей Александрович / snov!
Поскольку все данные формы передаются в массивах $_GET и $_POST, ничто не мешает их передать обратно на страницу, например так:
<form action='backpage.php' method='post'>
<input type='hidden' name='login' value='somelogin' />
<input type='hidden' name='text' value='sometext' />
<input type=submit value='Назад'>
</form>

Однако это не очень хороший способ, т.к. мы передаем туда/обратно лишние данные. Запоминать их в сессиях или в Cookies по-моему тоже не совсем верно. В идеале необходимо делать проверку корректности введенных данных на стороне клиента, т.е. в JavaScript браузера. Если все правильно, то переходим к скрипту занесения в БД. Иначе просто выводим сообщение об ошибке, не перегружая страницу. Я подобные вещи реализовывал с помощью AJAX'а.
Ответ отправил: Иван Сергеевич (статус: 9-ый класс)
Ответ отправлен: 22.04.2008, 12:03
Оценка за ответ: 5


Вопрос № 133.598
Здраствуйте.
Как мне витянуть значение с джава скрипт переменной в пхп
Отправлен: 22.04.2008, 14:29
Вопрос задал: Tmishka (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Иван Сергеевич
Здравствуйте, Tmishka!

Не забудьте, что пхп - серверная сторона скрипта, т.е. именно он и формирует содержимое страницы, в том числе и javascript. Таким образом, когда начинает работу функция JS, страница УЖЕ сформирована и php отработал.
Если Вы хотите вызвать дополнительный скрипт и передать ему значения переменных JavaScript, используйте GET и POST-переменные. Например, можно перенаправить страницу на другой URL (location.href='newpage.php?a=1&b=2'), а можно выполнять асинхронные запросы к серверным скриптам посредством Ajax'а. Вопрос в том, какую задачу Вы хотите выполнить.
Ответ отправил: Иван Сергеевич (статус: 9-ый класс)
Ответ отправлен: 22.04.2008, 14:37
Оценка за ответ: 5
Комментарий оценки:
В принципе, вариант....


Вопрос № 133.707
Добрый день уважаемые эксперты!
Помогите пожалуйста решить проблему.

Имеется таблица МЕНЮ с полями 'ID', 'NAME' (название меню), 'RODITEL' (название родительской категории), 'INDEX' (название корневой категории). А проблема заключается в следующем: необходимо вывести все данные на страницу в древовидном представлении.
Например:
Категория 1
Категория 1.1
Категория 1.2
Категория 1.2.1
Категория 2
... и т.д.

Подскажите как правильно и наиболее эффективно составить запрос.
Отправлен: 23.04.2008, 01:15
Вопрос задал: Armaniden (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Иван Сергеевич
Здравствуйте, Armaniden!
1. Обычно не имеет смысла загружать все дерево целиком - только определенные уровни (обычно это собственно корневой узел дерева и его непосредственные потомки). А уже по щелчку на каком-то узле происходит подгрузка дочерних ветвей данного узла (опять-таки только непосредственных потомков) и т.д. В итоге в один момент времени происходит только один запрос вида "SELECT * FROM MENU WHERE RODITEL=".$N
Если все же надо отобразить все дерево, то придется делать рекурсивный обход дерева, т.е. в цикле по узлам уровня N выполнять загрузку дочерних ветвей (уровень N+1) каждого из этих узлов.
2. Неоднократно рекомендовал и буду рекомендовать прочитать статью:
http://dev.mysql.com/tech-resources/articles/hierarchical-data.html
Она на английском, но полностью описывает структуру иерархических таблиц. Там два основных вида деревьев, один из них предложен Вами. В случае больших объемов данных лучше использовать т.н. Nested Set Model - второй тип. В статье подробно описаны необходимые запросы для выборки данных из дерева.
3. В Вашем примере нет необходимости хранить ссылку на корневую директорию, т.к. она известна и так - это узел, у которого RODITEL=NULL. Не стоит дублировать информацию.
Ответ отправил: Иван Сергеевич (статус: 9-ый класс)
Ответ отправлен: 23.04.2008, 01:42
Оценка за ответ: 4
Комментарий оценки:
Спасибо за ссылку, но очень нужен был готовый скрипт запроса.

Отвечает: Tmishka
Здравствуйте, Armaniden!
предлагаю немножко другую структуру

table ->tables
field->id
field->name

table->table_structure
field->table_id
field->parent_id

parent_id-корневая папка

Приложение:

Ответ отправил: Tmishka (статус: 1-ый класс)
Ответ отправлен: 23.04.2008, 02:45
Оценка за ответ: 5
Комментарий оценки:
Отлично! Огромное спасибо! Это именно то, что я искал.


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2008, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале

∙ Версия системы: 4.91 pre 5.0 RC1 от 13.04.2008

Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное