| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > Связать MySQL и JS |
| Автор: December 18.5.2005, 19:26 |
| Greetings All! Стоит следующая задача: взаимодействовать с СУБД (MySQL, в частности) на сервере, используя только JavaScript и HTML. Либо какими-то стандартными средствами (если таковые имеются), либо каким-нибудь cgi-bin модулем, по принципу "установил и забыл". Если такое осуществимо, то дайте плиз линки где качать/чего читать. ЗЫ: Ни php, ни perlом заниматься не хочу. Изучение технологии должно занять максимум 2-3 часа. Всем заранее спасибо за указание верного пути |
| Автор: PARROT 18.5.2005, 20:33 |
| Помоему это невозможно Msql & PHP || Msql & Perl Выбора нет. |
| Автор: Aliance 18.5.2005, 21:20 | ||||||
У меня так и заняло... азы php+MySQL...
Хороший анекдот Сам подумай: HTML - это разметка JS - клиентский язык - а для связи с сервером нужен серверный! |
| Автор: Ignat 18.5.2005, 21:53 | ||
По теме, но не в тему...
ASP-шный JavaScript никто не отменял. Можно использовать данную связку ASP+Mysql, но хостинг дороже будет, и, ИМХО, сложнее, чем PHP. |
| Автор: Sardar 18.5.2005, 23:39 |
| Чисто теоретически можно заюзать ODBC коннект к БД, попытаться дёргать запросы, НО я такого еще не видел и тебе потребуеться масса прав. Другими словами это возможно для интранет приложения, но в и-нете такое не прокатит. Выход(не красивый): пишем простой скриптик на сервере, который будет посылать твои запросы на БД. Запросы формируешь на клиенте, отсылаешь текстом, получаешь назад XML, далее DOM + XPath тебе товарищи. Хороши бы в скриптик на сервере сессии и авторизацию с ограничением прав сделать, иначе совсем левые запросы отовсех получать будет. Выхо(правильный): пишем нормальную серверную сторону. Клиент опрашивает сервер и ничего не знает о SQL и т.п. В ответ получает XML. Коммуникации с сервером сейчас модно делать на XMLHTTPRequest. |
| Автор: December 18.5.2005, 23:45 | ||||
Очень просто. Передавая кверю в URL'e как параметр.
Не, хостинг уже есть, на никсах. С АСП разбираться тоже в лом Перефразируем задачу. Есть ли какой-нибудь способ что-нибудь залить на сервер, типа интерперетатора запросов, чтоб потом к нему обращаться и от него получать ответ? Например, давать запрос с параметром SELECT FROM а в ответ получать страничку с <table>? |
| Автор: Sardar 19.5.2005, 00:18 |
| December вопрос, это нечто должно слушать всех и каждого или какая то авторизационная система должна быть(что более вероятно)? Если первое, то за 5 минут на кидаю включая API для клиента на JS. |
| Автор: December 19.5.2005, 08:46 | ||
| Sardar Нет, никакой авторизационной системы - вообще. Есть логин+пасс, их даже шифровать не надо. Всё ОЧЕНЬ просто. Решаемые задачи, например, такие: 1) реализовать счётчик посещений 2) простейший журнал работы (timestamp обращения к странице + какая-то ID информация) То есть совершенно тривиальные (по крайней мере, ч точки зрения SQL) задачи.
Буду очень благодарен, если нарисуешь это. Хостинг на SuSe. Есть PHP и Perl. |
| Автор: Alx 19.5.2005, 21:24 |
| December юзай не mysql, а че-нить попроще. для ИЕ я писал статейку про CSV. ( http://forum.vingrad.ru/index.php?showtopic=34883&hl=excel ) а все-таки лучше выучить хоть чуть-чуть PHP... |
| Автор: December 19.5.2005, 23:36 | ||
Куда уж проще!!! Если стоит выбор между MySQL и Postgre, то я выбираю MySQL, потому что с этой базой я знаком довольно близко, а в Постгри меня ничто не привлекает. ЗЫ Какой, к дьяволу, Excel на Линуксе? |
| Автор: Sardar 20.5.2005, 13:18 | ||||
Это легко реализуеться на PHP, к тому же множество готовых примеров, на http://hotscripts.net найдёшь что угодно хоть на Perl, хоть на PHP. December тебе вообще любые SQL на сервер посылать или всё таки есть какой то определённый список? Ну не могу я поверить что ты хочешь для всего мира открыть свою БД... Вчера по моему форум лежал, не мог запостить код, вечером выложу. Но нужно ли это еще? |
| Автор: December 20.5.2005, 15:11 | ||||||
Ну, давай посмотрим на практическом примере Допустим, я хочу реализовать счётчик посещений. Для этого мне нужно иметь права на UPDATE в определённой таблице. Или для лога посещений мне нужен INSERT. Само собой, SELECT... У меня изначально урезанные права - я владею не всем сервером, всего лишь купил хостинг на нём. Я могу создать 10 датабазов. Так что злоумышленник сильно не поживится Единственное, на что, возможно, имеет смысл надстроить авторизацию - это DDL. Но поскольку я не имею даже смутного понятия, как в PHP реализуется авторизация, я не могу предложить никаких вариантов аутентификации...
Да! Нужно, и скорее всего, ещё потом потребуется первоначальная помощь в освоении.
Хочется начать с чего-то очень простого, поскольку задача не приоритетная, и времени на неё выделено - ноль целых фиг десятых |
| Автор: Sardar 4.6.2005, 01:00 |
| December, я увлёкся реализацией JSInteractiveRequest, идея вышедшая из этого топика, хорошо что напомнил И так вопрос: как посылать запросы к SQL серверу из бродилки на JavaScript? Ответ: никак, но можно посылать запросы на сервер, а тот в свою очередь перенаправит их куда нужно и сформирует ответ. Замечание: естественно реализовав такое мы делаем огромную дыру в безопасности, сервак будет слушать запросы со всего мира В прикреплённом архиве весь код. Для того что бы всё работало у вас должен стоять сервер, PHP и MySQL. Открываем server.php меняем логин, пароль и имя БД на ваши. Из браузера открываем index.htm, пишем любой запрос в текстовое полё, жмём кнопку. Внимание: любой запрос означет любой который позволяют ваши права, другими словами по неосторожности и базу снести можно Код очень прост, где не ясно коментировал. JSInteractiveRequest описан в разделе Наши скрипты. December по поводу счётчика и журнала. Счётчик можно сделать простой однопиксельной картинкой, которую будет выдавать скриптом. Скрипт регистрирует обращение к серверу и сохраняет в логах. По сети куча примеров, в буквальном смысле 20 строк. Журнал уже интересней, опиши подробней. Только это не JS, а скорее серверный скрипт что ты будешь юзать, т.е. другой раздел. |