![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 1 Dołączył: 7.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Robię galerię. Chciałbym aby każde nowe dodane zdjęcie do bazy, w tabeli miało nazwę odpowiadająca jego ID. Czyli jeśli zdjęcie jest z wiersza o ID 24 to w rubryce FILE_NAME ma być 24.jpg
Aby to uzyskać chcialem przy wykonywaniu skryptu, aby pobieralo ostatnie najwyzsze ID z tabeli i po dodaniu 1 utworzyło wymaganą nazwę pliku. Niestety oba powyższe wyświetlają mi 'Resource id #13' .... ... taki nie wyświetla kompletnie nic. Co robię źle ? |
|
|
![]() |
![]() ![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 1 Dołączył: 7.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Rozwiązanie podane przez ~gitbejbe wykrzaczy się na banalnym przypadku. Przypuśćmy, że ID ostatniego użytkownika to 10. Z jakiegoś powodu go kasujesz, więc aktualnie największe ID to 9. Dodajesz nowego użytkownika - otrzymuje on ID 11, a fotka (czy co tam masz) ID 10 (9 + 1). W tym momencie numeracja użytkownik-fotka całkowicie Ci się rozjeżdża. Tak! Nie pomyślałem o tym mimo iż możliwość usuwania zdjęć jest w kodzie. Dzięki za zwrócenie uwagi, bo użycie pierwotnego sposobu pozbywa tego problemu tylko jeśli zostaną usunięte z bazy wcześniej dodane foty, a nie ta ostatnia. mysql_insert_id jest jedynym prawidłowym rozwiązaniem w tej sytuacji. To, że otrzymujesz 0 wynika pewnie z tego, że wywołujesz tą funkcję przed dodaniem rekordu do bazy, a powinieneś po. I tutaj także dziękuję. Przetestowałem i działa elegancko. Wielki + dla Ciebie. Pozdrawiam Ten post edytował wbeatn 22.08.2013, 18:33:37 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.10.2025 - 00:39 |