Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MYSQL]AUTO_INCREMENT uzywanie poprzednich id
wrcnitro
post
Post #1





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 4.03.2006

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


Witam!!

Mój problem doskonale jest opisany na tej stronie:
http://algorytmy.pl/?id=1397
jednak odpowiedzi na nie tam nie dostałem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) a na jedno pytanie nie zmaierzam wykupowywac abonamentu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) a wiec jak pomozecie (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
JoShiMa
post
Post #2





Grupa: Zarejestrowani
Postów: 1 374
Pomógł: 149
Dołączył: 1.03.2006

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


Bez php to nie wiem. Tamta opcja to po prostu zresetowanie licznika i numerujesz wpisy od początku, oczywiście zamazując stare.

Z php to będzie tak:

  1. <?
  2. $tabela = "osoby";
  3.  
  4. if (mysql_connect($sql_serwer, $sql_login, $sql_haslo)
  5. and mysql_select_db($sql_baza)) {
  6.  
  7. if (mysql_query("SET @n:=0, @m:=0")) {
  8. $wynik2 = mysql_query("SELECT id, (@m:=@m+1) as nr
  9. FROM $tabela GROUP BY id HAVING id<>(@n:=@n+1) LIMIT 1");
  10. if (mysql_num_rows($wynik2)==0) {
  11. $wynik2 = mysql_query("SELECT max(id)+1 as nr FROM $tabela");
  12. }
  13. }
  14.  
  15. if ($wynik2 and $dane = mysql_fetch_array($wynik2)) {
  16. $nr = $dane["nr"];
  17. if ($nr<1) $nr = 1;
  18. } else echo "Błąd w danych...";
  19.  
  20. } else echo "Nie można połączyć się z bazą danych...";
  21.  
  22. echo "Pierwszy dostępny numer indeksu to: $nr";
  23. ?>
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 2.10.2025 - 23:32