Szerző Téma: php mysql adat táblából-táblába  (Megtekintve 767 alkalommal)

Nem elérhető nyomo

  • 159
    • Profil megtekintése
php mysql adat táblából-táblába
« Dátum: 2015. február 16. - 00:59:49 »
0 Show voters
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. 

php mysql adat táblából-táblába
« Válasz #1 Dátum: 2015. február 16. - 07:12:29 »
0 Show voters
Ha működőképes akkor jó ez.
Egyébként mi célt szolgál a későbbi adatkezelésben?

Nem elérhető nyomo

  • 159
    • Profil megtekintése
php mysql adat táblából-táblába
« Válasz #2 Dátum: 2015. február 16. - 12:13:20 »
0 Show voters
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
 

php mysql adat táblából-táblába
« Válasz #3 Dátum: 2015. február 16. - 14:17:43 »
0 Show voters
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

Nem elérhető nyomo

  • 159
    • Profil megtekintése
php mysql adat táblából-táblába
« Válasz #4 Dátum: 2015. február 16. - 14:37:25 »
0 Show voters
É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\'\");
               }
            }

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal