Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> user chce ustawic kolejnosc,, i drugie user chce usunac zdjecie
AxZx
post
Post #1





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

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


witam

mam 2 sporne kwestie nad ktorymi sie zastanawiam - wynikaja one z usuniecia zdjecia przez usera
zdjecie jest fizycznie zapisywane na serwerze, oraz jego dane oraz dodatkowe info w bazie,

1) jak ma wygladac bezpieczna procedura usuwania?
(chodzi mi juz o sam skrypt)
najpierw usuniecie danych z bazy a pozniej fizycznie z dysku?
czy na odwrot?
a co jesli ktoras z operacji nie wykona sie poprawnie?
bedzie taka sytuacja ze bedzie albo samo zdjecie bez wpisu w bazie albo sam wpis w bazie bez zdjecia ((IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?)

2) teraz kolejnosc zdjecia..
w tabeli mam kolumne zdjecie_kolejnosc - wedlug tej wartosci sa sortowane zdjecia na stronie
jezeli user usunie zdjecie ze srodka trzeba chyba od nowa przypisac kazdemu zdjeciu nowa wartosc zdjecie_kolejnosc
(?)
czy takie rozwiazanie bedzie dobre?

  1. <?php
  2. $i=0;
  3. $zap = $sql->query('SELECT * FROM zdjecia ORDER BY zdjecie_kolejnosc ASC');
  4. while($dane = $sql->fetch_assoc($zap)){
  5. $i++;
  6. $sql->query('UPDATE zdjecia SET zdjecie_kolejnosc = '.$i.' WHERE zdjecie_id = '.$dane1['zdjecie_id'].' LIMIT 1');
  7. }
  8.  
  9. ?>


z gory dzieki za jakies wskazowki
pozdrawiam

Ten post edytował AxZx 9.03.2006, 21:38:00
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
konys
post
Post #2





Grupa: Zarejestrowani
Postów: 100
Pomógł: 7
Dołączył: 5.11.2005

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


1.
Cytat
jak ma wygladac bezpieczna procedura usuwania?
(chodzi mi juz o sam skrypt)
najpierw usuniecie danych z bazy a pozniej fizycznie z dysku?
czy na odwrot?

Chodzi o zachowanie spójności między danymi przechowywanymi na dysku, a danymi przechowywanymi w bazie. Kolejność usuwania danych będzie identyczna z kolejnością ich łączenia (jeśli pobierasz dane zdjęcia z katalogu, po czym szukasz informacji o nim w bazie (na podstawie np. nazwy pliku), najpierw powinieneś usunąć zdjęcie, następnie dane z bazy). Jeśli zaś pobierasz info o pliku z bazy a następnie wyświetlasz zdjęcie, usuń w pierwszej kolejności rekord w bazie.
Cytat
a co jesli ktoras z operacji nie wykona sie poprawnie?

Uruchom w cronie skrypt oczyszczający bazę z niepotrzebnych rekordów (w pierwszym przypadku) lub niepotrzebnych zdjęć (w drugim).
2. Jeśli użytkownik wyrzuci zdjęcie ze środka, kolejność jest nadal zachowana, nie musisz nic update'ować. Bardziej obrazowo: po wyrzuceniu 3 z ciągu (1,2,3,4,5) otrzymujesz (1,2,4,5) i zdjęcia są odpowiednio posortowane.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 16.10.2025 - 19:02