Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

PHP+AJAX+MySQL

16K
30 апреля 2006 года
DiG
4 / / 18.04.2006
Я думаю, все понимают, что время WEB 2.0. уже пришло. Поэтому нижеприведенная инфа будет интересна многим.

У меня есть таблица в БД, допустим speciality. (специализация). В ней 3 поля: первое quantity (auto_increment), второе speciality, третье surname. В столбце speciality допустим идут значения сантехник, киповец, программер, строитель, мануальный терапевт и так далее. В столбце surnames – фамилии специалистов. Из базы извлекаются все значения столбца speciality и преобразовываются в массив special[]. Результат передаётся в функцию show_listbox
Код:
<?
include 'sql.php'; //тут подключаемся к БД
$result = mysql_query("SELECT speciality FROM specialities");
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
$special[]="$row[0]";  
$num = mysql_num_rows($result);
}
mysql_free_result($result);


function show_listbox($i, $num, $special){
echo '<SELECT NAME="names">';
while  ($i < $num){
echo '<OPTION VALUE=" ';
echo $special[$i];
echo ' ">';
echo $special[$i];
echo '</OPTION>';
$i++;
}
echo "</select>";
}
show_listbox(0, $num, $special);
?>

На выходе имеем листбокс, в котором на выбор предлагаются все специализации, начиная с выбранной точки отсчёта ($i).

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

Естественно было бы очень приятно, чтобы второй листбокс появлялся без перезагрузки страницы, т.е. используя технологию AJAX. В JS я абсолютный дуб/нуб :D, поэтому использую готовую библиотеку KA AJAX.
Там достаточно зарегистрировать PHP функцию, и повесить её на JS обработчик. Но
МySQL функции напрочь отказываются работать.

Тут есть вышеупомянутая библиотека с комментариями разработчика и примером использования и статья Криса Хэдлока, о MySQL и AJAX’e тоже с переводом и примерами.

Исчо адин вапрос: а целесообразно ли вообще использовать АЯКС в таких конструкциях?
Может на самом деле будет быстрее перезагрузить страницу? Итак, Ваши соображения господа программеры!
15
30 апреля 2006 года
shaelf
2.7K / / 04.05.2005
1. Предлагаю общаться на великом и могучем и исключить всякие "Исчо".
2. Поясните пожалуйста чем отличаются MySQL функции в PHP от не MySQL.
Цитата:
Я думаю, все понимают, что время WEB 2.0. уже пришло. Поэтому нижеприведенная инфа будет интересна многим.

Оно наступит только тогда, когда все браузеры будут корректно отображать основные словари XML и его связку с JavaScript.

Цитата:
Может на самом деле будет быстрее перезагрузить страницу

Если такой вопрос задаётся, то я думаю, что сначало нужно почитать "Что такое ALAX".

16K
01 мая 2006 года
DiG
4 / / 18.04.2006
Цитата:
Originally posted by shaelf
1. Предлагаю общаться на великом и могучем и исключить всякие "Исчо".
2. Поясните пожалуйста чем отличаются MySQL функции в PHP от не MySQL.
Оно наступит только тогда, когда все браузеры будут корректно отображать основные словари XML и его связку с JavaScript. Если такой вопрос задаётся, то я думаю, что сначало нужно почитать "Что такое ALAX".


1. Я по спецухе филолог, и я не думаю, что меня следует учить общаться на родном языке. Это всего лишь даньуходящей моде.
2. Тем, что для первых функций из вышеозначенных нужно соединение с БД.
3. Флудить я и сам умею. А что можете сказать по делу?

15
01 мая 2006 года
shaelf
2.7K / / 04.05.2005
Цитата:
Это всего лишь даньуходящей моде.


Тут принято общаться на русском языке.

Цитата:
Тем, что для первых функций из вышеозначенных нужно соединение с БД.


А какие затруднения тогда? Вызываете скрипт который подключается к БД.

Цитата:
Флудить я и сам умею. А что можете сказать по делу?


Я отвечаю на вопросы. И повторюсь, прежде чем задавать вопросы как этот

Цитата:
Может на самом деле будет быстрее перезагрузить страницу?


Подумайте, зачем вообще тогда нужен AJAX.

12
01 мая 2006 года
alekciy
3.0K / / 13.12.2005
Цитата:
Originally posted by DiG
Может на самом деле будет быстрее перезагрузить страницу?


Камрад shaelf прав, что посылает тебя в сад ;)
Основная задача AJAX не скорость (хотя ресурс на AJAX будет работать быстрее, нужны примеры, идем в гугль), а исключение из трафика инфы, которая посылается от сервера хотя она совершенно не изменилась. Т.е. паразитный трафик. Вот как раз его эта технология позволяет и минимизировать.

А вообще замечу, что это сроди связи. Когда фактически на том же оборудовании, и на каналах той же ширины при именении логики кодирования сигнала удается запихать в канал данных больше, чем при старом алгоритме.
Так и AJAX: браузеры теже, серевера теже самый, каналы связи по прежнему такие же и логики их работы не изменялась. Лишь чуть чуть изменили алгоритм работы клиент-серверной схемы работы браузера и сервера и все, все уже кричать о Web 2.0. А фактически то нифига не изменилось.

16K
02 мая 2006 года
DiG
4 / / 18.04.2006
Спасибо за выраженное недоверие, но и вопреки ему у меня получилось прикрутить оба листбокса к аяксу.Правда пока к разным обработчикам, а не один к обработчику другого, но это пока. :) Теперь меня очень мучают кодировки... Но это вопрос времени.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог