ďťż

[php]Nie działa mi skrypt na kupowanie broni do prostej gierki via www

       

Podstrony


telcocafe

Siemka,
Pisze sobie z nudów gierkę w php, lecz nie mogę dojśc co jest nie tak w ty kodzie od kupowania broni:
<?php $stat=mysql_fetch_array(mysql_query("SELECT kasa FROM user WHERE username='$u'")); print 'Kup se broń:P.<br><br>'; print '<table>'; print '<tr><td width=100><b><u>Broń</td><td width=100><b><u>Koszt</td><td width=100><b><u>Kupić?</td></tr></tr>'; $psel = mysql_query("select * from weapons order by id"); while ($pm = mysql_fetch_array($psel)) { print "<tr><td>$pm[name]</td><td>$pm[cost]< /td><td><a href=weaponsseller.php?buy=$pm[id]>Kup</a></td></tr>"; } print '</table>'; if ($buy) {$buy = mysql_fetch_array(mysql_query("select * from weapons where id=$buy")); if (empty ($buy['id'])) { print "Błąd złe ID"; } if ($buy[cost] > $stat[kasa]) { print "Nie masz na to kasy"; } mysql_query("update user set kasa=$stat[kasa]-$buy[cost] where username=$u"); mysql_query("update user set weapon=$buy[name] where username=$u"); print "Broń kupiona!!"; } ?>




Siemka(...)

Trochę ogólnie piszesz, ale pierwsze co mi się rzuciło w oczy to że trzeba pisać:
$pm['name'];

a nie
$pm[name];

Jeśli to nie to, wyślij komunikat błędu.

Do moderatora: ok, rzeczywiście mogłem skrócić cytat, ale pisałem na szybko. Chyba lepsza szybka odpowiedź niż żadna ;) "Powód edycji" możesz usunąć i pisać na PW to na pewno zastosuję sugestie :)
Użytkownik Tomek92 edytował ten post 30 marzec 2008, 16:26
Powód edycji: po co cytujesz cały post!
Żadnych błędów nie wyrzuca, bo wcale nie kupuje wskazanej broni ;/ ale sprawdzę to co mówiłes

A może tak stringi powinny być w zapytaniach MySQL objęte apostrofami lub cudzysłowami?...
Polecam funkcję mysql_error()



Dodałem apostrofy i nic nie wiem czemu a funkcja mysql_error nic nie wyswietla

A próbowałeś działać tak?mysql_query('update user set kasa="'.($stat['kasa']-$buy['cost']).'" where username="'.$u.'"'); mysql_query('update user set weapon="'.$buy['name'].'" where username="'.$u.'"');Bo może to błąd w braku jednolitego tekstu jako parametrów zapytań...
Użytkownik DJ_ProG edytował ten post 29 marzec 2008, 22:18
Dziwne dalej nie działa...
edit:
problem okazał się banalny:P thx za pomoc kod wyglada powinien tak:
<?php $stat=mysql_fetch_array(mysql_query("SELECT kasa FROM user WHERE username='$u'")); echo 'Kasa: <b>'.$stat['kasa']. '</b>'; echo '<br>'; print 'Kup se broń:P.<br><br>'; print '<table>'; print '<tr><td width=100><b><u>Broń</td><td width=100><b><u>Koszt</td><td width=100><b><u>Kupić?</td></tr></tr>'; $psel = mysql_query("select * from weapons order by id"); while ($pm = mysql_fetch_array($psel)) { print "<tr><td>".$pm['name']."</td><td>".$ pm['cost']."</td><td><a href=weaponsseller.php?buy=".$pm['id'].">Kup</a></td>< /tr>"; } print '</table>'; if (isset($_GET['buy'])) {$buy = mysql_fetch_array(mysql_query("select * from weapons where id=".$_GET['buy']."")); if (empty ($buy['id'])) { print "Błąd złe ID"; } if ($buy['cost'] > $stat['kasa']) { print "Nie masz na to kasy"; } mysql_query('update user set kasa="'.($stat['kasa']-$buy['cost']).'" where username="'.$u.'"'); mysql_query('update user set weapon="'.$buy['name'].'" where username="'.$u.'"'); print "Broń kupiona!!"; } ?>[b][/b]
Użytkownik prondzyk edytował ten post 30 marzec 2008, 11:57
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.