Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Unikalna nazwa obrazka, według insert_id lub podobnie ?
Forum PHP.pl > Forum > Przedszkole
jarekhunter
Witam wszystkich.
Zrobiłem prostą galerię a dokładnie to jestem w trakcie jej realizacji i mam pewien problem, a może bardziej szukam dobrego rozwiązania.

Zdjęcia uploadowane są do tabeli tymczasowej

nazwa generowana zdjęcia jest na podstawie insert_id i id_usera + czas_(time)

Przy uploadowaniu 1 zdjęcia nie ma problemu.
Ale gdy zapisuję już opis wraz z zdjęciami, zdjęcia z tabeli tymczasowej są przepisywane do tabeli stałej, w tabeli jest nazwa pliku zakodowana do md5 w której występuje insert_id+id_usera+time
I teraz pytanie za każdym przepisaniu zdjęcia pobierać insert_id, generować nazwę i jeszcze raz aktualizować rekord questionmark.gif to na jedno zdjęcie jest 2 zapytania, a gdy jest ich 10 to już mam 20 zapytań do bazy mysql

Czy to dobry pomysł by to w ten sposób rozwiązaćquestionmark.gif, czy macie może jakieś inne pomysły jak by to rozwiązaćquestionmark.gif
Dziękuję serdecznie za pomoc.
emkej
Ale po co Ci tabela tymczasowa?

Uploaduj zdjecia, zapisuj nazwe do bazy i zdjeci kopiuj, zupelnie nie jest Ci tu potrzebna tabela tymczasowa.
Ja osobiscie nazywam zdjecia tak: $photo_id . friendlyUrl($title) . substr(md5(uniqid()), 0, 5)

Pozdrawiam
jarekhunter
No właśnie że bez tymczasowej tabeli nie osiągnę tego co piszę.

Do czasu publikacji dane i informacje o zdjęciach są przechowywane w tabeli tymczasowej, zapis jest co 3 min przez ajax.
Jeśli user nie da publikuj to widnieje mu galeria w informacjach że nie zapisana, chyba że kliknie skasuj.
Tak mniej więcej sobie to ustaliłem.

jakieś pomysły questionmark.gif
wNogachSpisz
Innym rozwiązaniem może być dodanie kolumny "status" TINYINT(1).

1 - opublikowane
2 - nieopublikowane
3 - usunięte
4 - ...
5 - ...
jarekhunter
Mogło by tak być, ale wtedy, przy edycji nie mam zapisu tymczasowego.
Nie można jakoś jakoś zrobić w ten sposób że dodaje kilka rekordów na raz i nazwę sobie automatycznie sam generuje, zostaje jedynie wtedy pobranie tego i zmiana nazw pliką i mam dwa zapytania zamiast przykładowych 20stu..

Panowie Jak wykonać insert np. w taki sposób że dodaje sobie rekord i on sam sprawdza pod jakim id głównym będzie i na tej podstawie sobie generuje sam nazwę.
Np:

  1. INSERT INTO galeria_tmp (id, nazwa, galeria_id) VALUES
  2. (LAST_INSERT_ID(), MD5(LAST_INSERT_ID()+$autor_id+time(),$galeria_id),
  3. (LAST_INSERT_ID(), MD5(LAST_INSERT_ID()+$autor_id+time(),$galeria_id),
  4. (LAST_INSERT_ID(), MD5(LAST_INSERT_ID()+$autor_id+time(),$galeria_id);


Nie wiem jak wygląda time od strony mysql czy w ten sposób mogę to wykonać..
Wysłał bym takie zapytanie dla wszystkich zdjęć i jednym pobrał wszystkie nazwy by zmienić pliki.
Co o tym pomyśle sądzicie ewentualnie co mam tu źle questionmark.gif
Dzięki wielkie za pomoc.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.