Вопрос № 162068: Здравствуйте. Моя проблема: -есть два объекта формы <select name="FIO"> и <input type="text" name="TITLE">; -в список <option> первого объекта делаю загрузку элементов из БД(MySQL); -после того...
Вопрос № 162111: Здравствуйте уважаемые эксперты. Помогите пожалуйста разобраться с данной задачкой: "Присвоить значения элементам массива случайным образом. Отсортировать элементы
массива. Вывести на печать в обратном порядке (по убыванию индексов). Я ...Вопрос № 162144: Здравствуйте уважаемые эксперты. Помогите пожалуйста разобраться с данной задачкой: "Тема. Работа с файлами. Разработать сценарий, позволяющий инициализировать пользователя по трем категориям: зарегистрированный пользователь, пользователь,...
Вопрос № 162.068
Здравствуйте. Моя проблема: -есть два объекта формы <select name="FIO"> и <input type="text" name="TITLE">; -в список <option> первого объекта делаю загрузку элементов из БД(MySQL); -после того как пользователь сделал выбор в selecte нужно автоматически в текстовое поле "воткнуть" соответствующее этому выбору значение, которое тоже должно браться из БД; Проще говоря - выбрал имя сотрудника и тут же увидел его должность. Буду очень признателен,
если объяснение будет на каком-нить примерчике. Спасибо :)
Отправлен: 05.03.2009, 08:55
Вопрос задал: Antonnestor2
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Евгений Иванов
Здравствуйте, Antonnestor2!
jQuery
$('наш select').change(function(){ $.ajax({url: адрес на сервере для взятия значения из бд, data: {selectId: $(this).val()}, dataType: 'json' success: function(data){ $('наш input').val(data['поле возврата. из БД']); } });
});
серверную часть напишите под свою архитектуру
в простейшем случае это будет: В обработчике
вашего адреса (указанного выше в функции) берём параметр selectId и делаем запрос в БД и возвращаем json-данные на клиент типа так die(json::encode(array('поле' => данные))); код условен, функции используйте соответствующие вашей архитектуре.
успехов.
Ответ отправил: Евгений Иванов (статус: Посетитель)
Ответ отправлен: 05.03.2009, 09:11
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 245078 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Отвечает: Товарищ Бородин
Здравствуйте, Antonnestor2! Коль скоро коллега меня опередил с клиентской частью(я тоже "яростный" фанат jQuery ), попробую упредить Ваши вопросы с организацией серверной части.
Чтобы в таком варианте клиент получил данные, их надо соответствующим образом закодировать. Для этого можно использовать стандартную функцию PHP(если версия PHP = 5.2.x) - json_encode. Ей следует передать значение, получаемое из базы данных с помощью запроса.
То есть, посылаете значение из списка на сервер, делаете поиск строки, соответствующей данному значению(желаю Вам, чтобы значения в списке были уникальными). Пример запроса: SELECT `dolzhnost` FROM `table` WHERE `name` = 'Вася'; Где "Вася" - пересылаемое Вами из списка значение. По данному запросу должна выдаваться всего одна строка таблицы, то есть, поле name должно быть ключом таблицы. Замените слова dozhnost, table, name и "Вася" на
более подходящие Вашей ситуации. После этого передаете результат в функцию json_encode, а результат ее работы выводите через die, как Вам советовал Евгений Иванов. Если json_encode не срабатывает, можно привлечь стороннюю библиотеку для кодирования. Для этого можно использовать PEAR, Zend Framework. С первым помочь не смогу, ибо никогда с ним не работал, а если понадобится консультация по второму - всегда пожалуйста.
Ответ отправил: Товарищ Бородин (статус: Посетитель)
Ответ отправлен: 05.03.2009, 09:54
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 245082 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Отвечает: Волков Алексей
Здравствуйте, Antonnestor2! ещё можно сделать это при помощи AJAX, но самый простейший вариант (при условии небольшого списка опций) - сделать в джава-скрипте выгрузку в массив "должностей" и по событию onChange select'a присваивать TITLE.value соотв. элемент заранее выгруженного массива.
Приложение:
Ответ отправил: Волков Алексей (статус: Посетитель)
Ответ отправлен: 05.03.2009, 09:58
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 245084 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Вопрос № 162.111
Здравствуйте уважаемые эксперты. Помогите пожалуйста разобраться с данной задачкой: "Присвоить значения элементам массива случайным образом. Отсортировать элементы массива. Вывести на печать в обратном порядке (по убыванию индексов). Я к сожалению с PHP никогда не имел дела и не представляю, как это можно реализовать в данном языке.
Отправлен: 05.03.2009, 15:47
Вопрос задал: Антон Аз
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Волков Алексей
Здравствуйте, Антон Аз!
Принципиально ничем не отличается от других языков. генератор псевдослучайных чисел: rand ([ int $min ], int $max )
При вызове без параметров min и max , возвращает псевдослучайное целое в диапазоне от 0 до RAND_MAX. Например, если вам нужно случайное число между 5 и 15 (включительно), вызовите rand (5, 15).
сортируем по какому признаку, в какой
последовательности? например, по возрастанию: ( http://docs.php.net/manual/ru/function.sort.php ) sort($massiv);
выводим наоборот:
for ($i=0; $i<count($massiv); $i++) { echo $massiv[(count($massiv)-1-$i)]."<br>
"; };
Приложение:
Ответ отправил: Волков Алексей (статус: Посетитель)
Ответ отправлен: 05.03.2009, 16:15
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 245125 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Отвечает: Hubbitus
Здравствуйте, Антон Аз!
Хм, что-то мне подсказывает что это учебное задание и решать его не сильно правильно? Впрочем, если Вам оченб хочется, то задание-таки элементарное:
Приложение:
Ответ отправил: Hubbitus (статус: Посетитель)
Ответ отправлен: 05.03.2009, 16:28
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 245127 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Вопрос № 162.144
Здравствуйте уважаемые эксперты. Помогите пожалуйста разобраться с данной задачкой: "Тема. Работа с файлами. Разработать сценарий, позволяющий инициализировать пользователя по трем категориям: зарегистрированный пользователь, пользователь, который неправильно ввел логин или пароль и незарегистрированный пользователь. Предоставляется 3 попытки, после 3 попытки выводится соответствующее сообщение". В данном случае по условию надо создать отдельный тхт файл, в который заносятся сообщения, например:
"зарегистрируйтесь"/"неправильный логин или пароль/ "добро пожаловать" и при различных комбинациях логина/пароля выводится то или иное сообщение с началом я разобрался, а вот как сделать 3 попытки к сожалению не могу "догнать". Начало в приложении:
Приложение:
Отправлен: 05.03.2009, 19:12
Вопрос задал: Антон Аз
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 5)
Отвечает: Alex_Nick
Здравствуйте, Антон Аз!
самый простой вариант - ввести в форму поле "num" например: <input type="hidden" id="num" value="<?php if(isset($_GET['num'])) echo ($_GET["num"]+1); else echo "1"?>">
PHP вставка проверит на этапе генерации формы, первая ли это попытка ввода данных. если первая - значение скрытого элемента управления будет 1, иначе - номер попытки заполнения данных.
Далее добавляем оценку значения
$_GET['num'] в обработчик формы: if((isset($_GET['num']))&&($_GET['num']>=3)) echo "Превышено количество попыток подключения"; else {?> //код вашей формы <?php } ?>
В приложении код файла.
С уважением, Alex
Приложение:
Ответ отправил: Alex_Nick (статус: Посетитель)
Ответ отправлен: 05.03.2009, 19:31
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 245146 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Отвечает: Товарищ Бородин
Здравствуйте, Антон Аз! Что касается трех попыток, то тут, я думаю, лучший вариант - назначить переменную сеанса. Идея такова: в начале страницы открываете сеанс с помощью функции session_start(), и при первом запуске назначаете переменную, скажем, $_SESSION['tries_number']. Код такой(примерно, естественно):
if (!isset($_SESSION['tries_number'])) { $_SESSION['tries_number'] = 1; } else { $_SESSION['tries_number']++; // если счетчик попыток
больше 3, то есть, пользователь исчерпал свои 3 попытки, то делаем какие-либо действия - предупреждение выводим if ($_SESSION['tries_number'] > 3) { // предупреждение } else { // даем пользователю возможность сделать еще одну попытку } }
С уважением, Товарищ Бородин
Ответ отправил: Товарищ Бородин (статус: Посетитель)
Ответ отправлен: 05.03.2009, 19:33
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 245147 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Скажите "спасибо" эксперту, который помог Вам!
Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
на короткий номер 1151 (Россия)
Номер ответа и конкретный текст СМС указан внизу каждого ответа.
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.