Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Pseudo auto_increment.
Forum PHP.pl > Forum > Przedszkole
starter91php
Korekta najwyzszej wartosci ac w przypadku np. usuniecia najwyzszego rekordu itd:

  1. <?php
  2. mysql_query("ALTER TABLE `table` ORDER BY `id` ASC");
  3. $a=mysql_query("SELECT MAX(id) FROM `table`");
  4. $c=$b[0]+1;
  5. mysql_query("ALTER TABLE `table` AUTO_INCREMENT ='$c'");
  6. ?>


czemu to nie dziala?
Andaramuxo
Kod
$c=$b[0]+1;
A nie
Kod
$c=$b['0']+1;
erix
Raz, masz składnię pomieszaną,
dwa: dlaczego powielasz działanie bazy, która wylicza następną wartość dla auto_increment w dokładnie ten sam sposób...? Jeśli kod masz poprawny, to po prostu nadpisujesz tę samą wartość...
starter91php
Andaramuxo, jest jak bylo :|

erix, bo jak mam rekordy o id: 1,2 i usune nr 2, to nastepny ktory wrzuce bedzie mial wartosc 3, tak? smile.gif i wtedy mam 1,3 - a chcialbym po kolei :]
viking
O matko. Przy milionie rekordów też to będziesz przepisywał co chwila? Tak ma to działać a jak chcesz na stronie ładnie wyświetlić to zrób licznik po stronie serwera.
dr_bonzo
I jeszcze chcesz zeby pliki na dysku ukladaly sie jeden po drugim, zeby ladniej wygladalo?
Nie robi sie tego i juz. Wartosci klucza glownego sie nie zmienia, np. ktos zapisal sobie linka do twojej strony example.com/artykuly/3
poprawiles IDki przez co ten artykul jest teraz pod .../2 - bez sensu.
Albo w sesji zapisujesz ID userka na ktorego dany uzytkownik jest zalogowany, usuwasz jakiegos userka, zmieniaja sie ID i klops, bo uzytkownik jest nagle zalogowany na kogos innego.
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.