Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] aktulizacja ID
Forum PHP.pl > Forum > PHP
openwater
Witam,

jakią napisać pętlę bym mógł zaktualizować ID wpisów, a mianowicie w bazioe danych mam ID jak auto_increment, i w ten sposób nazbierało się dużo wpisów, część została usunięta. I powstały braki w numeracji. Czyli teraz mam ID1, ID5, ID10 itd. A chciałbyym to zaktualizować, by było kolejno, 1,2,3 itd. No i na końcu trzeba było by zaktualizować informacjię o ostatnim ID, by kolejne dodawane rekordy zaczynały się od tego ostatnio zaaktualizowanego.
b0b3k
a po co zmieniac ID tych wpisów co juz istnieją?
openwater
Ehh, wszyscy od razu po co? Nawet w internecie jak szukałem, wszędzie pisze, że nie zmieniać itp. Ale czasem jest to konieczne a odpowiedzi nie ma nigdzie winksmiley.jpg Tak jeśli ktoś ma coś bardzo rozbudowanego, powiązania to nie powinien tego robić, ale w moim wypadku jest tylko jedna tabela, i udało mi się napisać do tego prosty skrypcik:
  1. <?
  2. $query = "SELECT id FROM tabela ORDER BY 'id' ASC";
  3. $result = @mysql_query ($query); 
  4.  
  5. $b=0;
  6. while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
  7.  
  8. $b=$b+1;
  9.  
  10. $y = "UPDATE katalogi SET kat_id = '$b' WHERE kat_id = '$row[0]'";
  11. $p = mysql_query($y);
  12.  
  13. }
  14. $b=$b+1;
  15. $z = "ALTER TABLE tabela AUTO_INCREMENT = $b";
  16. $o = mysql_query($z);
  17. if ($p) { // jezeli zapytanie zostalo wykonane pomyslnie
  18.  
  19. echo 'OK'; 
  20. exit(); 
  21. }
  22. ?>


Pozdrawiam, może komuś się przyda.
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.