Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL] Pobieranie ostatniego rekordu
Coolmax
post 22.07.2006, 15:32:19
Post #1





Grupa: Zarejestrowani
Postów: 168
Pomógł: 0
Dołączył: 12.11.2005
Skąd: Bulowice nearby Wadowice (E), Oświęcim (W)

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


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?


--------------------
Go to the top of the page
+Quote Post
suck
post 22.07.2006, 15:41:20
Post #2





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 7.03.2006

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


  1. SELECT id FROM test ORDER BY id DESC LIMIT 1


takie zapytanie i juz
Go to the top of the page
+Quote Post
acztery
post 22.07.2006, 17:05:14
Post #3





Grupa: Zarejestrowani
Postów: 945
Pomógł: 7
Dołączył: 15.03.2005
Skąd: katowice

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


albo

  1. SELECT MAX(id) AS last_id FROM test
Go to the top of the page
+Quote Post
Lonas
post 22.07.2006, 18:26:32
Post #4





Grupa: Zarejestrowani
Postów: 576
Pomógł: 14
Dołączył: 9.11.2005

Ostrzeżenie: (20%)
X----


a jeszcze prosciej tak

$ostatnieid = mysql_insert_id();


--------------------
Go to the top of the page
+Quote Post
acztery
post 22.07.2006, 18:57:13
Post #5





Grupa: Zarejestrowani
Postów: 945
Pomógł: 7
Dołączył: 15.03.2005
Skąd: katowice

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


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
Go to the top of the page
+Quote Post
Lonas
post 22.07.2006, 19:08:43
Post #6





Grupa: Zarejestrowani
Postów: 576
Pomógł: 14
Dołączył: 9.11.2005

Ostrzeżenie: (20%)
X----


No dokładnie - to znaczy ta funkcja pokaże wartosc aktualnie ostatniego wpisanego ID smile.gif


--------------------
Go to the top of the page
+Quote Post
nospor
post 22.07.2006, 19:12:42
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
suck
post 22.07.2006, 19:59:38
Post #8





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 7.03.2006

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


dokladnie, on wtedy by podal ostatnio wpisane id dla danej bazy a niekoniecznie to bedzie to samo id co w tej tabeli
Go to the top of the page
+Quote Post
acztery
post 22.07.2006, 20:26:16
Post #9





Grupa: Zarejestrowani
Postów: 945
Pomógł: 7
Dołączył: 15.03.2005
Skąd: katowice

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


mysql_insert_id(); racja cos mi sie pomylilo znam manuala
Go to the top of the page
+Quote Post
Cysiaczek
post 22.07.2006, 20:40:29
Post #10





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




  1. LAST_INSERT_ID();


Funkcja zwraca numer identyfikacyjny ostatnio wstawinaego wiersza dla danego połączenia MySQL.


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
Coolmax
post 23.07.2006, 21:01:25
Post #11





Grupa: Zarejestrowani
Postów: 168
Pomógł: 0
Dołączył: 12.11.2005
Skąd: Bulowice nearby Wadowice (E), Oświęcim (W)

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


Żeby nie zaczynać nowego wątku: Czy w zapytaniach MySQL mozna stosować jakieś wyrazenia, aby np, usunąć wszystkie tabele z prefiksem e.g. "phpbb_"


--------------------
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 - 14:47