[MySQL][PHP] Usuwanie rekordów

0

Dopiero zaczynam zabawę z bazami danych i napotkałem na mały problem.
Mam tabele składającą się z pól:
id (auto_increment, podstawowy) i nazwa (varchar)

wyświetlam tą tabelę

...
mysql_connect($adr, $user, $pass);
mysql_select_db($db) or die("Bład");
$query="SELECT * FROM tab";
$result=mysql_query($query);
$num=mysql_numrows($result);
mysql_close();
$i=0;
while ($i < $num) {
	$alfa=mysql_result($result,$i,"nazwa");
	$i++;
	echo "<a href=\"del.php?id=$i\"><img src=\"/graf/delete.JPG\"></a></img> $alfa ";
	}

i kasowanie chciałem obsłużyć poprzez:

DELETE FROM tab WHERE id={$id}

no ale id po osunięciu czegokolwiek nie będą po kolei w tabeli więc usuwanie kolejnych rekordów się już "skiełbasi". I teraz, czy można jakoś automatycznie znów ponumerowac ID, a może polecicie mi mniej "lamerski" sposób kasowania ;)

0
$query="SELECT id, nazwa FROM tab";
$result=mysql_query($query);
while( ($row = mysql_fetch_array($result)) !== false)
  echo "<a href='del.php?id=$row[id]'><img src='/graf/delete.JPG'></a></img> $row['nazwa'] ";

Usuwasz tak samo po id i wlasnie dlatego skryptowi podajesz to wlasnie id obrazka, a nie w jakiej kolejnosci zostal podany z bazy. Nie mozesz polegac na kolejnosci id, bo nie do tego sluzy autonumerowanie.

PS. Ze wzgledow 'przyszlosciowych' (poprawek i rozwijania kodu) lepiej nie pisac select * from.

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