Véleményt szeretnék kérni a következő dologról. Ez egy accból történő karakterregisztráció után lévő kód. Amiben nem vagyok biztos, mert nem rég foglalkozom ezzel.
Lényege az, hogy lekéri a beregisztrált játékos id-t, majd azt valamelyik üres karakter szlotba elhelyezi a webacc táblába.
Így néz ki:
$k_query = mysqli_query($link, \"SELECT wKari1 FROM webacc WHERE wNev = \'$nev\'\");
while($k_result = mysqli_fetch_array($k_query))
{
$query = mysqli_query($link, \"SELECT ID FROM playerek WHERE Nev = \'$name\'\");
while($result = mysqli_fetch_array($query))
{
if($k_result[\'wKari1\'] == 0) {
mysqli_query($link, \"UPDATE webacc SET wKari1 = \'$result[\'ID\']\' WHERE wNev = \'$nev\'\");
}
else {
mysqli_query($link, \"UPDATE webacc SET wKari2 = \'$result[\'ID\']\' WHERE wNev = \'$nev\'\");
}
}
}
Működőképes. Kérdésem az lenne, hogy ez így jó, van benne hülyeség, felesleges dolog? Esetleg valaki megcsinálná jobban, ha lehet, valamit el is magyarázná?
Arra is gondoltam, hogy a második karis dolgot, elseif el kellene hogy nehogy bug legyen, de nem tartom valószínűnek. Előtte vizsgálja, hogy hány karaktere van, és ha kettő, el sem jut idáig.
Éppen úgy van megcsinálva ahogy mondod és ez is volt a célom. :D Csak annyi különbséggel, hogy nem a karakterbe tárolom a felhasználót id-t, hanem a felhasználóba a karaktert id-t. Lehet mind a kettőbe fogom, kariba felhasználót, felhasználóba karit. Mert például, ha töröl az admin egy karaktert UCP-be, akkor nem csak a karaktertáblából kell kitörölni, hanem a felhasználó táblába is nullázni kell a karakter id-t.
Viszont, amit bemásoltam ide kódot kiderült, hogy nem jó. Mert ez volt a legutolsó amit próbáltam, de valószínűleg nem töltöttem fel figyelmetlenségből a tárhelyre és úgy próbáltam ki, még azzal a változattal, amit előtte csináltam.
$query = mysqli_query($link, \"SELECT ID FROM playerek WHERE Nev = \'$name\'\");
while($result = mysqli_fetch_array($query))
{
$id = $result[\'ID\'];
}
$k_query = mysqli_query($link, \"SELECT wKari1 FROM webacc WHERE wNev = \'$nev\'\");
while($k_result = mysqli_fetch_array($k_query))
{
if($k_result[\'wKari1\'] == 0) {
mysqli_query($link, \"UPDATE webacc SET wKari1 = \'$id\' WHERE wNev = \'$nev\'\");
}
else {
mysqli_query($link, \"UPDATE webacc SET wKari2 = \'$id\' WHERE wNev = \'$nev\'\");
}
}