Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SQL] Dodawanie nowego rekordu - drobny problem
maly_pirat
post
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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
wookieb
post
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
Go to the top of the page
+Quote Post
maly_pirat
post
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?
Go to the top of the page
+Quote Post
pmallek
post
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
Go to the top of the page
+Quote Post
maly_pirat
post
Post #5





Grupa: Zarejestrowani
Postów: 215
Pomógł: 0
Dołączył: 13.06.2007

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


Cytat(pmallek @ 10.08.2008, 09:19:03 ) *
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
Go to the top of the page
+Quote Post
pmallek
post
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.
Go to the top of the page
+Quote Post
maly_pirat
post
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;
Go to the top of the page
+Quote Post

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: 24.08.2025 - 17:00