Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/sql] Jak pobrac do skryptu aktualne id z SQL
Forum PHP.pl > Forum > Przedszkole
free
Potrzebuje funkcji, która pobierze mi wartosc nastepnego w kolei id /pole jest auto increment/ z bazy SQL.
nospor
po pierwsze: po co ci to? Moze da sie obejsc smile.gif
po drugie: http://forum.php.pl/index.php?showtopic=33...mp;#entry191278
free
Chce nadawac plikom unikalna nazwe i wykorzystac do tego przyszla wartosc id .
Nazwa pliku musi powstac przed dodaniem danych o pliku do bazy

Jak otrzymac aktualnie ustawione
Kod
TYPE=MyISAM AUTO_INCREMENT=3;
mike
Cytat(free @ 19.03.2007, 13:29:36 ) *
Chce nadawac plikom unikalna nazwe i wykorzystac do tego przyszla wartosc id .
Nazwa pliku musi powstac przed dodaniem danych o pliku do bazy
Czemu?
Przecież do unikalności nie potrzeba ścisłej kolejności w nazwach.

Sam sobie takim podejściem stwarzasz problemy, zarówno teraz jak i w przyszłości.
free
Tworze galeria.
Przesylam obrazek o jakiejs nazwie.
Skrypt go przerabia tworzy miniaturke.
skrypt umieszcz plik w katalogu max a miniaturke w min
Do tej nazwy miniaturki chce uzyc aktualne id_min, a duzy obrazek nazwac id_max
I dane o nazwie plikow umiescic w bazie sql

Czy
  1. SELECT last_insert_id()
sie tu przyda i jak tego uzyc ?
mike
1. Upload;
2. Walidacja czy plik OK i czy zapisujesz go;
3. Wygenerowanie unikalnej nazwy dla pliku (na przykład: md5(uniqid()););
4. Generujesz miniaturkę i zapisujesz pliki w odpowiednich lokalizacjach;
5. Jeśli wszystko się udało to zapisujesz do bazy danych;
6. Jeśli zapis do bazy się nie powiódł to usuwasz pliki.

Nie ma żadnego uzasadnienia do ciągłości identyfikatorów.
free
Otoz jest. Majac takie dane w bazie w łatwy spsob wyswietlam w skrypcie z galeria.
Prosze o rade a nie o uzasadnienie mojej decyzji.
maryaan
przeciez jak uzywasz bazy to mozesz zapisac tam nazwe pliku, zreszta to jest nawet logiczne. A jesli juz sie tak upierasz przy tym id to sobie pobierz najwieksze z bazy i dodaj 1
mike
No ale czemu tkwisz w swoim założeniu? Gwarantuję Ci że jest błędne i przysporzy Ci bardzo wiele problemów. Na początek z kontrolą identyfikatorów. Nie jest to banalne.

A poza tym:
Cytat
Majac takie dane w bazie w łatwy spsob wyswietlam w skrypcie z galeria.
Nie ma żadnej różnicy. Kiedy będziesz miał dane w tabeli:
Kod
id | generatedName | originalName
i id nie będzie po kolei, nie będziesz miał żadnych problemów z wyświetlaniem. A za to będziesz miał mnie problemów na głowie.


Nie chce na siłę Ci wmusić tego rozwiązania tylko uchronić Cię przed błędem.
free
Niestety potrzebuje wartosc id z auto increment. Powiesz mi jak ja uzyskac ?
nospor
Cytat
Niestety potrzebuje wartosc id z auto increment. Powiesz mi jak ja uzyskac ?
No przeciez dostales linka odemnie....
Tu masz drugiego:
http://forum.php.pl/index.php?showtopic=30...;hl=ostatnie+id
Cienki1980
Jeżeli się upierasz przy takim rozwiązaniu to oto kilka prostych rzeczy do zrobienia:

1. Wysyłasz formularz
2. Dodajesz informacje o pliku do bazy
3. Wyciągasz za pomocą mysql_insert_id() wygenerowane ID
4. Korzystając z move_uploaded_files() przenosisz pliki z folderu tymczasowego do folderu docelowego w nazwie wykorzystując id pobrane w kroku 3cim.
5. Aktualizujesz dane w bazie o nową nazwę pliku korzystając z ID wygenerowanego w kroku 3cim.


Możesz tam wstawić jeszcze walidację pobieranego pliku.
mike
A czy jak masz zdjęcia o id 1, 2, 3, 4, 5 i usuniesz zdjęcie o id 4 i będziesz miał:
1, 2, 3, 5 to czy to wpłynie jakoś negatywnie na Twoja aplikację?
free
Cienki tak mialem zamiar pierwotnie zrobic, ale przyznasz ze jest to metoda okrezna . Dlatego zastanawiam sie jak pobrac aktualna id
sprobuje jeszcze z select last_insert_id();

Mike. wplynie negatywnie. Bo mam galerie obrazy przed i po /remoncie/. Nie chce tego opisywac, ale wyswietlam obok siebie obraz przed remontem i po remoncie / galeria budowlana/ a adresem jest id i wstawiam po lub przed i mi skrypt wyswietla. tera zmam problem z dodaniem nie majac tego id

Apropo last_insert_id(); to w wypadku usuniecia ostatniego rekordu metoda nie wypali

Pytanie jest proste :
Jak pobrać wartosc ktora aktualnie w bazie widnieje w
TYPE=MyISAM AUTO_INCREMENT=3;

Pytanie jest proste :
Jak pobrać wartosc ktora aktualnie w bazie widnieje w
TYPE=MyISAM AUTO_INCREMENT=3;
nospor
Cytat
Pytanie jest proste :
Jak pobrać wartosc ktora aktualnie w bazie widnieje w
TYPE=MyISAM AUTO_INCREMENT=3;

Odpowiedź jest rownie banalna:
Juz dwa razy ci to mowilem, przypominalem o linku co dostales. Tam masz rozwiązanie. Jakies problemy z czytaniem?

zamykam bo ile razy mozna oto samo pytac gdy odpowiedź padla juz kilka razy?
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.