[Mysql] Czy można prosciej...?

0

Tylko nie krzyczcie, że lamerskie ptanie, ale już drugi dzień się z tym męczę... Dopiero się uczę... ;P

Czy można w prostrzy sposób niż ten który sobie wymyśliłem poniżej wyświetlić z bazy zawartość trzech ostatnich rekordów?? Bo to co jest poniżej wygląda na dość zagmatwane....

  1. Taką mam tabelę:
$tab="CREATE TABLE jeden(id int(5) auto_increment, imie char(30), lata char(3), PRIMARY KEY(id))";
  1. A to odczyt trzech ostatnich recordów:
$ts2=mysql_query("SELECT id FROM jeden");
$il=mysql_num_rows($ts2);
$trzy=($il-2);
$ts2=mysql_query("SELECT id FROM jeden WHERE id BETWEEN '$trzy' AND '$il'");
while($pok=mysql_fetch_row($ts2))
{
$pok['1'];
print $pok['1'];
}

P.S. Dodam tylko, że ma to jedną podstawową wadę... Gdy się usunie jakiś record ze środka wartość pola id, które tutaj jest przypisywane automatycznie nie pokrywa się z rzeczywistą liczbą recordów... No i wszystko w łeb bierze...
No i w związku z tym jeszcze jedno pytanie... Czy da się zrobić tak, aby wartość pola id zawsze przedstawiała rzeczywistą liczbę recordów... Czy jest jakiś sposób aby ple id indeksowało (?) się ponownie po usunięciu któregoś z regordów???

Za odpowiedz z góry dzieki...
Wielkie pzdr dla wszystkich mądrzejszych... :)

0

Tak mozna

$ts2=mysql_query("SELECT id FROM jeden");
$il=mysql_num_rows($ts2);
$trzy=($il-2);
$ts2=mysql_query(" SELECT id FROM jeden LIMIT $trzy,-1");
while($pok=mysql_fetch_row($ts2))
{
$pok['1'];
print $pok['1'];
}

nie wiem czy mozna bez pobierania liczby wierszy uzyc LIMIT ?

0

Po prostu:

SELECT * FROM tabela ORDER BY id DESC LIMIT 3

<-- pobiera ostatnie 3 rekordy

Pobranie ilosci rekordow w tabeli:

SELECT COUNT(*) AS LICZNIK FROM tabela

0

No porsze.... :) Jakie to proste...

Dzieki wielkie jeszcze raz...

1 użytkowników online, w tym zalogowanych: 0, gości: 1