Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Unikalna nazwa obrazka, według insert_id lub podobnie ?
jarekhunter
post 20.07.2012, 08:57:36
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 21.01.2010

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


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.
Go to the top of the page
+Quote Post
emkej
post 20.07.2012, 11:48:19
Post #2





Grupa: Zarejestrowani
Postów: 48
Pomógł: 5
Dołączył: 18.06.2012

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


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


--------------------
http://tropmy.net - narzędzie do badania usability stron WWW.
Go to the top of the page
+Quote Post
jarekhunter
post 20.07.2012, 13:11:57
Post #3





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 21.01.2010

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


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
Go to the top of the page
+Quote Post
wNogachSpisz
post 20.07.2012, 21:12:37
Post #4





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


Innym rozwiązaniem może być dodanie kolumny "status" TINYINT(1).

1 - opublikowane
2 - nieopublikowane
3 - usunięte
4 - ...
5 - ...

Ten post edytował wNogachSpisz 20.07.2012, 21:12:58
Go to the top of the page
+Quote Post
jarekhunter
post 21.07.2012, 22:28:31
Post #5





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 21.01.2010

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


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.
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 Wersja Lo-Fi Aktualny czas: 12.06.2025 - 12:15