![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 1.01.2004 Skąd: czewa Ostrzeżenie: (0%) ![]() ![]() |
(php+mysql) sklep internetowy
problem napotkalem w kasowaniu tabeli w bazie danych podczas zamykania przegladarki internetowej skrypt polega na tym ze niezalogowany uzytkownik wklada do koszyka jakas rzecz stawiam sesje w ktorej wartosciami sa $st=2 i $sekunda="sekunda z czasu internetowego" nastepnie tworzy sie tabela "create table tab$sekunda" i dodaje rekord zamowionego produktu . jezeli gosc zrezygnuje z przemiotu zamawianego naciska w koszyku usun - przerywam sesje i kasuje tabele ALE... jezeli gosc nie nacisnie klawisza usun a zamknie przegladarke to ta tabela mi zostaje i zasmieca baze danych czy istenieje jakas mozliwosc przeslanmia "drop table tab$sekunda" podczas zamykania przegladarki ![]() Ten post edytował selea 17.09.2004, 13:34:01 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 195 Pomógł: 0 Dołączył: 7.07.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
co zrobisz przy tysiacu requestow (np. przy uzyciu apache benchmarka? ab -n 1000 http://adres) - stworzysz 1000 tabel? Przeciez to zabije Ci system...
-------------------- "(...)Zrozumienie wymagaloby od Ciebie odrobiny pokory. A dzis, w dobie
obalania autorytetu i udowadniania, ze doswiadczenie jest niepotrzebnym balastem, to jest niemodne.(...)" |
|
|
![]()
Post
#3
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
Użyj tabel tymczasowych: CREATE TEMPORARY TABLE .....
-------------------- "Coś się kończy, coś się zaczyna." Andrzej Sapkowski
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 602 Pomógł: 1 Dołączył: 3.04.2004 Skąd: Trójmiasto (Gdańsk) Ostrzeżenie: (0%) ![]() ![]() |
1. a czy na pewno nie może się zdażyć, że dwóch lub więcej użytkowników wejdzie na stronę w tej samej sekundzie i ich tabele się zmiksują or sth like that?
2. tak jak mówi e-Gandalf, okropnie nieefektywne. Możesz użyć tabel tymczasowych, ale najlepiej chyba używać jednej tabeli, w której będzie zapisany przy każdym rekordzie identyfikator sesji. A tak w ogóle, czy nie możesz przekazywać koszyka w sesji ? 3. co do twojego pytania - jeżeli chcesz coś wywołać przy zamykaniu przeglądarki, musiałbyś zastosować JavaScriptowe onUnload, ale nigdy nie możesz ufać temu rozwiązaniu - akcja niekoniecznie musi być wykonana. -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 1.01.2004 Skąd: czewa Ostrzeżenie: (0%) ![]() ![]() |
Cytat(e-Gandalf @ 2004-09-17 16:58:42) co zrobisz przy tysiacu requestow (np. przy uzyciu apache benchmarka? ab -n 1000 http://adres) - stworzysz 1000 tabel? Przeciez to zabije Ci system... ale nie ma takiej opcji bo tabel moze byc tylko 60 (poniewaz minuta ma tylko 60 sek :]) a jest sprawdzanie czy istenieje taka tabela. to sa tymczasowe tabele tworzone tylko na czas obecnosci uzytkownika na stronie wiec podczas korzystania z witryny 5 uzytkownikow i kazdy z nich wrzuci produkt do koszyka (ale nie zlozy zamowienia ) to zostanie utworzone 5 tabel ![]() nie wiem czy to dobre rozwiazanie ale takie mi wpadlo do glowy :] |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 127 Pomógł: 0 Dołączył: 18.08.2004 Skąd: Jastrzębie Zdrój Ostrzeżenie: (0%) ![]() ![]() |
A jeśli będziesz miał np 200 użytkowników? Będziesz pisał cały sklep od nowa?
Poczytaj o sesjach. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 10:59 |