• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

nowe postacie maja przyznawane dziwne id w DB :o

Status
Not open for further replies.

lenidas

New Member
Joined
Mar 18, 2010
Messages
149
Reaction score
0
Dziwna sprawa, pierwsze 6charów w DB to acc manager + samples i maja ID 1-6 a kolejnym postaciom przypisuje ID 279+ zamiast od 7 w górę :eek:
o co chodzi?
 
Opcja "AUTO_INCREMENT"
Code:
ALTER TABLE `players` AUTO_INCREMENT = 7;
Tylko nie radzę tego bo jezli masz już postacie na id 279+ to jeżeli gracze założą 273 postacie mogą zacząć się nadpisywać. (Ogólnie nie testowałem tego ale tak wnioskuje) Funkcja jest po to żeby utrzymać pewien porządek w bazie ble ble ble ... ;z
 
Tylko nie radzę tego bo jezli masz już postacie na id 279+ to jeżeli gracze założą 273 postacie mogą zacząć się nadpisywać. (Ogólnie nie testowałem tego ale tak wnioskuje) Funkcja jest po to żeby utrzymać pewien porządek w bazie ble ble ble ... ;z
Jeśli kolumna `id` jest INDEX/PRIMARY to się nie nadpiszą. Nowa postać po prostu się nie utworzy.
 
a wlasciwie w czym ci to przeszkadza?

a chodzi o to ze miales w tej tabeli juz jakies wpisy i je usunales
a mysql zapamietuje w autoincremencie wszystko
 
hmm, jeżeli miałeś A_I i usunąłeś te ~200 charów zapytaniem:
PHP:
delete from players where id > 6
wtedy w bazie masz 6 postaci, a A_I liczy od tych ~280
Musisz po prostu wyczyścić table:
PHP:
TRUNCATE TABLE `players`

usunie wszystkie rekordy, także graczy : )
 
a wlasciwie w czym ci to przeszkadza?

a chodzi o to ze miales w tej tabeli juz jakies wpisy i je usunales
a mysql zapamietuje w autoincremencie wszystko

mam to samo, chce zeby np na stronie pokazywało ile jest założonych postaci
Code:
$players = $SQL->query('SELECT `id` FROM `players` ORDER BY `id` DESC LIMIT 1;')->fetch();

I to mi pokazuje kompletne bzdury, patrzy na ID i pokazuje że jest 360postaci w bazie danych a tak naprawdę jest 8.
Jak zrobić żeby nie patrzyło na ID tylko zliczało postacie?
 
SELECT count(id) FROM players;
 
Code:
$players = $SQL->query('SELECT COUNT `id` FROM `players`;')->fetch();

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42S22]: Column not found: 1054 Unknown column 'COUNT' in 'field list'' in C:\xampp\htdocs\latestnews.php:138 Stack trace: #0 C:\xampp\htdocs\latestnews.php(138): PDO->query('SELECT COUNT `i...') #1 C:\xampp\htdocs\index.php(70): include('C:\xampp\htdocs...') #2 {main} thrown in C:\xampp\htdocs\latestnews.php on line 138


:/
 
Teraz nic nie pokazuje :p
Code:
Players in database:
 
miej takie cos odrazu przy sobie nie nad pod -.^

Code:
$players = $SQL->query('SELECT COUNT(*) FROM `players` WHERE `id`>0;')->fetch();

ECHO 'We have '.$players[0].' players';

daje nam :)

We have 6 players
 
Adekwatnie do kazdej z voc i accountow

Zapytania :
Code:
$ms = $SQL->query('SELECT COUNT(*) FROM `players` WHERE `vocation`=1;')->fetch(); 
$ed = $SQL->query('SELECT COUNT(*) FROM `players` WHERE `vocation`=2;')->fetch(); 
$rp = $SQL->query('SELECT COUNT(*) FROM `players` WHERE `vocation`=3;')->fetch(); 
$ek = $SQL->query('SELECT COUNT(*) FROM `players` WHERE `vocation`=4;')->fetch(); 
$accounts = $SQL->query('SELECT COUNT(*) FROM `accounts` WHERE `id`>0;')->fetch();

Wyswietlenie :

Code:
Sorcerer('.$ms[0].')
Druid('.$ed[0].')
Paladin('.$rp[0].')
Knight('.$ek[0].')
Kont('.$accounts[0].')

Jesli wam nie wyswietli to dodajcie sobie

Code:
ECHO 'Paladin ('.$rp[0].')';

:)

Dziękuję za repy ;))
 
Dziwna sprawa, pierwsze 6charów w DB to acc manager + samples i maja ID 1-6 a kolejnym postaciom przypisuje ID 279+ zamiast od 7 w górę :eek:
o co chodzi?

dziala? dziala. no to co Ci przeszkadza? :X
 
Chyba tylko tobie ;o
Poza tym pewności nie mam, ale jak nadajesz index/primary to kolumna automatycznie przyjmuje wartość auto increment :).

facepalm. jak ma sie zwiekszyc, jak wyjebie ci bleda?
 
Adekwatnie do kazdej z voc i accountow

Zapytania :
Code:
$ms = $SQL->query('SELECT COUNT(*) FROM `players` WHERE `vocation`=1;')->fetch(); 
$ed = $SQL->query('SELECT COUNT(*) FROM `players` WHERE `vocation`=2;')->fetch(); 
$rp = $SQL->query('SELECT COUNT(*) FROM `players` WHERE `vocation`=3;')->fetch(); 
$ek = $SQL->query('SELECT COUNT(*) FROM `players` WHERE `vocation`=4;')->fetch(); 
$accounts = $SQL->query('SELECT COUNT(*) FROM `accounts` WHERE `id`>0;')->fetch();

Wyswietlenie :

Code:
Sorcerer('.$ms[0].')
Druid('.$ed[0].')
Paladin('.$rp[0].')
Knight('.$ek[0].')
Kont('.$accounts[0].')

Jesli wam nie wyswietli to dodajcie sobie

Code:
ECHO 'Paladin ('.$rp[0].')';

:)

Dziękuję za repy ;))

Po co *, zamiast np. samo `id` =\\\
 
Status
Not open for further replies.
Back
Top