Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   jquery ajax. Сохранение подключения к базе (https://javascript.ru/forum/jquery/3838-jquery-ajax-sokhranenie-podklyucheniya-k-baze.html)

VICTOR_81 28.05.2009 10:26

jquery ajax. Сохранение подключения к базе
 
Здравствуйте подскажите как реализовать следующий пример.
Есть форма, с помощью аякса подставляю данные в поле селект. Проблема в следующем. Посылаю первый аякс запрос. На стороне сервера происходит подключение к БД выборка оттуда данных возврат.
Как реализовать так чтобы при последующих аякс запросах подключение к базе уже было. А то мне приходится при каждом аякс запросе производить коннект к БД.

И еще вопрос как сохранить то что возвращает аякс переменная data что бы позже использовать в программе
$.ajax({
			type: 'post', 
			data: 'hostBD='+hostBD+'&loginBD='+loginBD+'&passBD='+passBD+'&nameBD='+nameBD+'&id='+id+'&type='+types+'',
			url: './ajax/example.php', 
			beforeSend: function(){
				//$('#hostBD').attr('value','Loading...');
			},							
			success: function(data){ alert (date); } 
})

Kolyaj 28.05.2009 10:33

http://www.php.ru/manual/function.mysql-pconnect.html

Gvozd 28.05.2009 10:37

Цитата:

Сообщение от VICTOR_81
Как реализовать так чтобы при последующих аякс запросах подключение к базе уже было

вы уверены, что на тот форум отправили вопрос?)
Если вы используете PHP , то с помощью mysql_pconnect
Только, зачем?!
соеденение с базой-это пара строк.
У вас MySQL-сервер отделен от web-сервера физически?
Цитата:

Сообщение от VICTOR_81
И еще вопрос как сохранить то что возвращает аякс переменная data что бы позже использовать в программе

в обработчике события success сохраняете переменную data в глобальной области видимости, либо создаете замыкание вокруг Ajax-запроса
$.ajax({
            type: 'post', 
            data: 'hostBD='+hostBD+'&loginBD='+loginBD+'&passBD='+passBD+'&nameBD='+nameBD+'&id='+id+'&type='+types+'',
            url: './ajax/example.php', 
            beforeSend: function(){
                //$('#hostBD').attr('value','Loading...');
            },                            
            success: function(data){window.data=data; alert (data);/*у вас тут была опечатка, кстати*/ } 
})

VICTOR_81 28.05.2009 10:55

Gvozd
А что лучше при каждом запросе заново подключаться или же сразу работать с базой? По мне так лучше второе.
За window.data=data; спасибо)) я правда не знал что так можно.

Gvozd 28.05.2009 11:12

Цитата:

Сообщение от VICTOR_81
А что лучше при каждом запросе заново подключаться или же сразу работать с базой?

Если ваша база не находится на лдругом сервере, то выигрыш от постоянных соединений сомнителен

к тому же, учтите:
Цитата:

Замечание: Учтите, что соединения такого типа работают только, если PHP установлен как модуль. За дополнительной информацией обращайтесь к разделу Постоянные Соединения с Базами Данных.
Цитата:

Внимание
Использование устойчивых соединений может потребовать некоторой настройки Apache и MySQL. Убедитесь, что вы не превысите максимальное число дозволенных соединений.

x-yuri 28.05.2009 12:40

Цитата:

Если ваша база не находится на лдругом сервере, то выигрыш от постоянных соединений сомнителен
он просто сомнителен ;)
http://www.phpclub.ru/talk/showthread.php?postid=839378
http://phpclub.ru/talk/showthread.ph...ysqlpc onnect
Цитата:

В ext/mysql имелись "достоинства, оказавшиеся недостатками": в первую очередь это mysql_pconnect()... Функция mysql_pconnect() была создана для предоставления механизма уменьшения затрат на установление и разрыв соединений с сервером MySQL. К сожалению, из-за взаимодействия между архитектурами сервера Apache и PHP, большой трафик на сайте, использующем pconnect, мог быстро загрязнить сервер MySQL большим количеством неиспользуемых соединений, которые мешали активным соединениям получать доступ к базе данных
http://www.php.net/manual/en/feature...onnections.php
много я думаю можно найти на эту тему


Часовой пояс GMT +3, время: 00:33.