![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 215 Pomógł: 0 Dołączył: 13.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Elo. Gdy dodaje nowy rekord, to ID rekordu to 4, zamiast 1. Wyczyściłem całą tabelę klany5 , i dodaje nowy rekord to samo. Tabela polega na zasadzie:
kto ma więcej punktów, ten wyzej w rankingu. Powiedzmy Uczeń X: 10 punktów (id 4) dodaje nowego Uczeń Y: 11 punktów (i daje mu id 4 a Uczeń X dostaje id 5) Wszystko działa dobrze, tylko dlaczego wyskakuje ID od 4 zamiast od 1? Błędy w wyświetlaniu, czy co? Z dodawaniem (jako skrypt) jest ok, chyba coś jest nie tak z wyświetlaniem? Ten post edytował maly_pirat 10.08.2008, 10:34:01 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Zmień w phpmyadmin wartość "auto_increment" w tabeli.
Wchodzisz w tabele -> Operacje |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 215 Pomógł: 0 Dołączył: 13.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Próbuje tak jak piszesz, ale nici z tego :x
1) Wchodzę i zaznaczam kolumne [ID] -> Operacje -> 2) W okienku: Opcje tabeli -> widzę pole: auto_increment -> wpisuje wartość 0 -> Wykonaj Żadnych zmian, Wpisuje wartość 1 pisze: Kod Zapytanie SQL zostało wykonane pomyślnie ALTER TABLE `klany5` AUTO_INCREMENT =1 I patrze, a tu dalej: auto_increment: 3 jest wpisane, zamiast 1 Hosting: webd. Spróbowałem dać nową tabelę (zamiast klany5 to klany5on5) przestawiłem wszystko w pliku .php dodaje nowy rekord, ale dalej od 4 zaczyna się, he? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 1 Dołączył: 20.03.2006 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
A wczesniej nie miales jakis 'testowych' id ktore zajmowaly wartosci od 1 do 3? nie wiem na jakiej zasadzie dokladnie sa przydzielane te id ale napewno nie na zasadzie, ze w bazie jest cos o id 1,2,3,4 to kolejny bedzie 5, bo zalozmy, ze mielismy id 1,2,3 potem je skasujemy to i tak kolejny bedzie 4
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 215 Pomógł: 0 Dołączył: 13.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
A wczesniej nie miales jakis 'testowych' id ktore zajmowaly wartosci od 1 do 3? nie wiem na jakiej zasadzie dokladnie sa przydzielane te id ale napewno nie na zasadzie, ze w bazie jest cos o id 1,2,3,4 to kolejny bedzie 5, bo zalozmy, ze mielismy id 1,2,3 potem je skasujemy to i tak kolejny bedzie 4 Tak zgadza się. Sorry że tak ważnej informacji nie napisałem, ale całego posta pisałem na szybko. Miałem około 20 wartości (nie pamiętam dokładnie ile), później kazałem wszystkie je wywalić, i dodać nowe. I tak powstał problem. Ten post edytował maly_pirat 10.08.2008, 10:33:37 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 1 Dołączył: 20.03.2006 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
Hmm a probowales recznie wbic np dane i dac im id 1,(np przez phpmyadmin'a) a potem juz poprzez skrypt dac kogos z wiekszym wynikiem? Pozatym nie mozna tego zrobic tak, ze w bazie jedynie przetrzymujesz wszystkie wyniki a potem gdy chcesz je wyswietlic to sobie je w zapytaniu sortujesz na podstawie tych punktow? Bo z tego co tlumaczysz to wynika, ze Ty to sobie w bazie ukladasz a id = miejsce, troche bezsensu bo jak np masz 100 miejsc i dodajesz nowy rekord ktory ma wyladawac na 1 miejscu to musisz kazdy rekord z osobna zwalic o 1 miejsce w dol? Chyba, ze jest jakis system/funckja dzieki ktoremu tow szystko da sie prosto zrobic i smiga... ale ja noga w bazach danych jestem wiec nie wiem... lepsze rozwiazanie to chyba sortowanie przynajmniej biorac pod uwage jak ja rozumiem dzialanie tego skryptu.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 215 Pomógł: 0 Dołączył: 13.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Ehh, znalazłem rozwiązanie, wszystko było źle przez wyświetlanie, trzeba było dodać: $i = 0;
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 17:00 |