GTA Közösség - A magyar GTA fórum

Általános beszélgetés => Beszélgetés => Kérdések, Segítség => A témát indította: nyomo - 2015. február 16. - 00:59:49

Cím: php mysql adat táblából-táblába
Írta: nyomo - 2015. február 16. - 00:59:49
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. 
Cím: php mysql adat táblából-táblába
Írta: blackdog476 - 2015. február 16. - 07:12:29
Ha működőképes akkor jó ez.
Egyébként mi célt szolgál a későbbi adatkezelésben?
Cím: php mysql adat táblából-táblába
Írta: nyomo - 2015. február 16. - 12:13:20
Ez ugyan az a UCP mint mivel nemrégiben tettem fel kérdéseket. Dfoglalo UCP-je. Csak azt alakítom át, hogy egy felhasználón ne 1 , hanem 2 karakterre legyen lehetőség. Így külön van már a karakterek táblája és a ucp felhasználók táblája. A felhasználó táblába meg kell, hogy a játékosnak milyen karakterei vannak. Mivel nem egybe van a kettő, ezért kell elmenteni a webacchoz a karakterei id-jét.
A cél, hogy 2 karaktert tudjon kezelni az ucp. Külön lesz karaktercsere, névváltás, jelszóváltás, meglévő karakter hozzárendelése acchoz, játékosadmin, webadmin, meg minden, ami még eszembe jut.
Csak szórakozás képen csinálom, de már egy samp szeróhoz kialakítottam. Szerintem ma el is készül a meglévő opciók helyreállítása.
Itt egy kép, igaz még statsba azt írja, hogy nincs karakterem, mert az még a régi helyről kéri le az adatokat, de az már nem nagy dolog orvosolni.
http://kepfeltoltes.hu/150216/n_vtelen_www.kepfeltoltes.hu_.png
 
Cím: php mysql adat táblából-táblába
Írta: blackdog476 - 2015. február 16. - 14:17:43
Szerintem érdemes lenne 2 tábla, az egyikbe a felhasználók lennének a másikba meg a karakterek, és ugye a karakteres táblába lehetne egy owner oszlop például
Cím: php mysql adat táblából-táblába
Írta: nyomo - 2015. február 16. - 14:37:25
É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\'\");
               }
            }