Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Pobieranie ostatniego rekordu
Forum PHP.pl > Forum > Przedszkole
Coolmax
Dopiero rozpoczynam naukę z MySQL więc i pytanie jest błahe. Nie wiedziałem o tym, że podobnie jak w plikach są wskaźniki, tak też w MySQL. Potrzebuję z pola id pobrać wartość ostatniego rekordu. Udało mi sę wykombinowac coś takiego:
  1. <?php
  2. $query = "SELECT id FROM test;";
  3. $result = mysql_query($query);
  4. $row = mysql_num_rows($result);
  5. mysql_data_seek($result, $row-1);
  6. $r = mysql_fetch_assoc($result);
  7. print_r($r['id']);
  8. ?>

Może jest prostszy sposób albo, chociaż ktoś mi powie czy mój spsób jest poprawny?
suck
  1. SELECT id FROM test ORDER BY id DESC LIMIT 1


takie zapytanie i juz
acztery
albo

  1. SELECT MAX(id) AS last_id FROM test
Lonas
a jeszcze prosciej tak

$ostatnieid = mysql_insert_id();
acztery
Cytat(L.Pociask @ 22.07.2006, 17:26 ) *
a jeszcze prosciej tak

$ostatnieid = mysql_insert_id();



to nie jest ostatnie id tylko aktualne jak ostanie to chyba mysql_last_id
Lonas
No dokładnie - to znaczy ta funkcja pokaże wartosc aktualnie ostatniego wpisanego ID smile.gif
nospor
A ja panom: @L.Pociask i @acztery proponuje zajrzec do manuala.
@L.Pociask
Cytat
mysql_insert_id -- Podaje numer ID wygenerowany podczas ostatniej operacji INSERT
A kto powiedzial, że Coolmax chce pobrac ostatnio wygenerowane id? Ostanie rekord w tabeli, a ostatnio generowane id to nie koniecznie to samo.

@acztery nie ma takie cuda jak mysql_last_id. najpierw sprawdź, potem pisz

edit: widze, ze jednak L.Pociask wiedzial co podaje, w sensie ze wiedzial co robi jego funkcja. tak czy siak to raczej nie oto chodzilo autorowi smile.gif
suck
dokladnie, on wtedy by podal ostatnio wpisane id dla danej bazy a niekoniecznie to bedzie to samo id co w tej tabeli
acztery
mysql_insert_id(); racja cos mi sie pomylilo znam manuala
Cysiaczek
  1. LAST_INSERT_ID();


Funkcja zwraca numer identyfikacyjny ostatnio wstawinaego wiersza dla danego połączenia MySQL.
Coolmax
Żeby nie zaczynać nowego wątku: Czy w zapytaniach MySQL mozna stosować jakieś wyrazenia, aby np, usunąć wszystkie tabele z prefiksem e.g. "phpbb_"
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.