Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Czy jest możliwy tymczasowy INSERT ?, lub lepsze rozwiązanie problemu
Black-Berry
post
Post #1





Grupa: Zarejestrowani
Postów: 663
Pomógł: 6
Dołączył: 3.06.2007
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Mam prostą tabelę dla przykładu news_table a w jakieś pola (nie mają znaczenia bo chodzi głównie o ID):
Kod
ID | title | content | creation_date | expire_date

No i teraz problem jest taki:
Każdy news ma na serwerze swój folderek na obrazki którego nazwa zawiera ID z bazy np folder media/news_12/. Jeśli updatujemy jakiś wpis to nie ma problemu bo zczytujemy sobie z bazy numerek. Problem pojawia się kiedy chcemy dodać wpis. Użytkownik znajdujący się w panelu dodawania newsa uploaduje obrazek na serwer ale system nie wie do jakiego folderu wgrać obrazek ponieważ wpis w bazie nie istnieje. Wpisu nie można stworzyć przed dodaniem obrazka bo w przypadku anulacji w bazie danych siedziałby niepotrzebny wpis.

Moje pytanie:
Czy można utwożyć wpis który usunie się np po 15 minutach jeśli nie zostanie będzie na nim wykonana np komenda UPDATE albo jakaś inna? Coś bez CRONA ?
Może jest lepszy sposób rozwiązania tego problemu o którym nie pomyślałem?

Bardzo prosze o posty i pozdrawiam.


--------------------
Go to the top of the page
+Quote Post
mike
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


1. "anulacji" a cóż to znaczy? Nie ma takiego słowa.
2. Najpierw dodawaj do bazy wpis a później zapisuj obrazek. Będziesz miał aktualny identyfikator.
Go to the top of the page
+Quote Post
wookieb
post
Post #3





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Mike Zawsze się musisz czepiać. http://www.sjp.pl/co/anulacja

A bez crona nie da się usunąć wpisu.


--------------------
Go to the top of the page
+Quote Post
Black-Berry
post
Post #4





Grupa: Zarejestrowani
Postów: 663
Pomógł: 6
Dołączył: 3.06.2007
Skąd: Kraków

Ostrzeżenie: (0%)
-----


haha.gif No ale własnie w tym istota problemu. Użytkownik uploaduje obrazek zanim wpis istnieje w bazie.


--------------------
Go to the top of the page
+Quote Post
wookieb
post
Post #5





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Możesz zrobić tak, że uploudujesz zdjecie do katalogu tymczasowego. Zapisujesz sciezke do zdjecia w input hidden i potem przy zapisie newsa mozesz przeniesc zdjecie do nowego katalogu.

Cronem sprawdzasz w tymczasowym katalogu czy sa jakies pliki starsze niz np 5 godzin. Jak tam to usuwasz.


--------------------
Go to the top of the page
+Quote Post
nithajasz
post
Post #6





Grupa: Zarejestrowani
Postów: 230
Pomógł: 27
Dołączył: 27.05.2008
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Kwestia ustawienia czynności.

Lub możesz po prostu nadawać folderowi (lub obrazek wrzucać do folderu tymczasowego), tymczasową nazwę a po dodaniu do bazy zmieniać nazwę folderu na poprawną.
Go to the top of the page
+Quote Post
Black-Berry
post
Post #7





Grupa: Zarejestrowani
Postów: 663
Pomógł: 6
Dołączył: 3.06.2007
Skąd: Kraków

Ostrzeżenie: (0%)
-----


No i właśnie tu jest cały problem jeszcze większy. Nie pisałem wcześniej żeby nie zarzucać treścią. Opcja z tymczasowym folderem u mnie nie może zadziałać bo:

Mam edytor TinyMCE. Napisałem sobie plugin który wrzuca obrazki do Tiniego. Tak więc po uploadzie jeśli obrazek trafia do folderu tymczasowego to później trzeba by całą treść z tiniego parsować i zamieniać ścieżki tymczasowe na właściwe.

Chciałbym tego uniknąć. Mam nadzieję że ktoś ma rozwiązanie lepsze niż foldery tymczasowe.


--------------------
Go to the top of the page
+Quote Post
wookieb
post
Post #8





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Wiec moze zostac opcja ze zapisany bedzie najpierw news. Ale przy kazdym uruchomieniu jakiejs strony (zalozmy listy newsow) uruchomisz zapytanie usuwajce wpisy starsze niz 15 minut. Nie jest to jakos wielce obciazajace. ale jezeli chcesz uniknac crona to jest to najlepsze rozwiązanie.


--------------------
Go to the top of the page
+Quote Post
Black-Berry
post
Post #9





Grupa: Zarejestrowani
Postów: 663
Pomógł: 6
Dołączył: 3.06.2007
Skąd: Kraków

Ostrzeżenie: (0%)
-----


No cóż. Pociąga to też za sobą jakieś konsekwencje bo trzeba w bazie dodać flagę temp_news zeby przypadkiem nie traktowac newsa jako istniejącego. Widzę że nie ma idealnych rozwiązań na takie coś :/

Ten post edytował Black-Berry 5.12.2008, 11:41:45


--------------------
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #10





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


Cytat
No cóż. Pociąga to też za sobą jakieś konsekwencje bo trzeba w bazie dodać flagę temp_news zeby przypadkiem nie traktowac newsa jako istniejącego. Widzę że nie ma idealnych rozwiązań na takie coś :/

Nosz qwa, chlopie, idealne to by bylo jakby baza sama sie domyslila co ty chcesz zrobic. Dla mnie to wlasnie jest idealne rozwiazanie dla tego problemu.

A czemu crona nie chcesz uzyc? przeciez do takich zadan doskonale sie nadaje.
Przy tworzeniu nowego newsa wrzucasz rekord do bazy + oznaczasz ze nie jest jeszcze zapisany, a cronem usuwasz "niezapisane" newsy.
Uzywam tego przy tworzeniu produktow w sklepie - bo tez musze od razu obrazki dodawac.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
Black-Berry
post
Post #11





Grupa: Zarejestrowani
Postów: 663
Pomógł: 6
Dołączył: 3.06.2007
Skąd: Kraków

Ostrzeżenie: (0%)
-----


trzeba ciągle poszukiwać najdoskonalszych rozwiązań. Nie da się to się nie da. Rozumiem. Jest jednak szansa że ktoś wpadł na lepszy sposób niż mi przyszedł do głowy. Przyznasz że warto czasem popytać ludzi. smile.gif


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 12:30