Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> при закрытии браузера уничтожать таблицу 
V
    Опции темы
Самозванка
Дата 28.9.2007, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Девушка в стиле IT
**


Профиль
Группа: Завсегдатай
Сообщений: 484
Регистрация: 5.9.2006
Где: USA

Репутация: нет
Всего: 40



Суть в том, что я создаю временную таблицу в БД, и работаю с ней ( с помощью сессии). Но при закрытии браузера, мне надо удалить эту таблицу чтобы в БД не накапливались таблицы вида T272787328dkkjkjk.  Вопрос в том, каким событием можно это сделать. То есть на какое сыбатие написать DROP и так далее...
PM MAIL ICQ   Вверх
Grig
Дата 28.9.2007, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 809
Регистрация: 29.4.2005
Где: Иркутск

Репутация: нет
Всего: 16



Надо писать на Аяксе.
На window.close вешать процедуру которая отправляет запрос на сервер, и там скрипт удаляет таблицу


--------------------
        
PM MAIL ICQ   Вверх
Самозванка
Дата 28.9.2007, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Девушка в стиле IT
**


Профиль
Группа: Завсегдатай
Сообщений: 484
Регистрация: 5.9.2006
Где: USA

Репутация: нет
Всего: 40



Grig, спасибо, и пишу на аяксе.... поняла как сделать...
PM MAIL ICQ   Вверх
sw04
Дата 28.9.2007, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 372
Регистрация: 22.1.2007
Где: Ufa

Репутация: нет
Всего: 18



как вариант создать таблицу, где хранятся сессии, последняя активность и имя таблицы.
при каждом переходе проверять таблицу. если последняя активность какой-то сессии была допустим 10 минут назад - сносить таблицу.


--------------------
<удалено администрацией>
PM   Вверх
WolfON
Дата 28.9.2007, 15:57 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 604
Регистрация: 19.7.2004

Репутация: 6
Всего: 8



Временные таблицы для каждой сессии - жуткое извращение =/

Вообще сессии надо чистить при вызове сборщика мусора
PM MAIL ICQ   Вверх
Самозванка
Дата 28.9.2007, 16:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Девушка в стиле IT
**


Профиль
Группа: Завсегдатай
Сообщений: 484
Регистрация: 5.9.2006
Где: USA

Репутация: нет
Всего: 40



WolfON, а как можно сделать временные таблицы не извращаясь?
PM MAIL ICQ   Вверх
sTa1kEr
Дата 28.9.2007, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


Профиль
Группа: Завсегдатай
Сообщений: 1553
Регистрация: 21.2.2007

Репутация: 56
Всего: 146



Цитата(sw04 @  28.9.2007,  15:36 Найти цитируемый пост)
как вариант создать таблицу, где хранятся сессии, последняя активность и имя таблицы.
при каждом переходе проверять таблицу. если последняя активность какой-то сессии была допустим 10 минут назад - сносить таблицу. 


Цитата(WolfON @  28.9.2007,  15:57 Найти цитируемый пост)
Вообще сессии надо чистить при вызове сборщика мусора 

Отличная идея. Написать свои обработчики сессий и при вызове сборщика мусора вместе с сессией уничтожать таблицы. Это будет надежнее и *намного* безопаснее чем через AJAX. 

Цитата(Самозванка @  28.9.2007,  16:00 Найти цитируемый пост)
WolfON, а как можно сделать временные таблицы не извращаясь? 

Если таблицы не большие и в них не используются поля типа TEXT и BLOB, то можно использовать движок HEAP, тогда они будут создаваться в памяти.
А если же таблицы нужны только на время работы скрипты, то достаточно будет воспользоваться TEMPORY TABLE
PM MAIL   Вверх
Самозванка
Дата 28.9.2007, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Девушка в стиле IT
**


Профиль
Группа: Завсегдатай
Сообщений: 484
Регистрация: 5.9.2006
Где: USA

Репутация: нет
Всего: 40



sTa1kEr, просто я работаю с SYBASE и там нет TEMPORY TABLE .
поэтому я и создавала таблиц AAA[номер сессии]. А тут заглянула в базу и их там куча...
Хочу стбы в конце скрипта удалялись. 

А у вас у кого нить пример не будет как сделать другим вариантом,пожалуйста, я не очень а то понимаю... smile 
PM MAIL ICQ   Вверх
sTa1kEr
Дата 28.9.2007, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


Профиль
Группа: Завсегдатай
Сообщений: 1553
Регистрация: 21.2.2007

Репутация: 56
Всего: 146



Цитата(Самозванка @  28.9.2007,  16:16 Найти цитируемый пост)
sTa1kEr, просто я работаю с SYBASE и там нет TEMPORY TABLE .

Тогда понятно... Хотя временные таблицы есть во многих СУБД и, наверняка, в Sybase они тоже есть, только создаются другим синтаксисом.

Цитата(Самозванка @  28.9.2007,  16:16 Найти цитируемый пост)
А у вас у кого нить пример не будет как сделать другим вариантом,пожалуйста, я не очень а то понимаю... smile 

В общем-то ничего сложного. http://us2.php.net/manual/en/function.sess...ave-handler.php тут рабочий пример создания пользовательских обработчиков сессий. По сути все что вам нужно - это в функции gc() проверить есть ли таблица с запрашиваемым session id и если таблица обнаружена, то удалять ее.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0554 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.