Autor Zpráva
curdto
Profil
<?php
include 'config.php'; //načteme soubor s údaji pro připojení k db
mysql_query("update users set credits=credits-1 where `id` = '".$user_id[id]."' ")
or die("Nastala chyba.");
?>

Tento script mi funguje výborně... Akorát potřebuji udělat to, že když se bude odečítat číslo, tak na uživatelově účtě musí být alespoň tolik kreditů, kolik se odečítá, aby mu kredity nespadli do mínusu... Nevíte, jak to udělat?
nightfish
Profil
zkus
mysql_query("update users set credits = credits - 1 where `id` = '".$user_id['id']."' and credits > 0");

a pak kontroluješ mysql_affected_rows() - když bude 0, tak buď neexistuje uživatel nebo má 0 nebo méně kreditů
curdto
Profil
mysql_query("update users set credits = credits - 1 where `id` = '".$user_id['id']."' and credits > 2000");

TAkže když udělám tohle, má méně jak 2000 kreditů a dotaz se neprovede?
kajaman
Profil
no, pokud vždy odečítáš jedničku, tak budeš testovat, že zůstatek je větší než 0, jak píše nightfish, jinak:

mysql_query("update users set credits = credits - $pocet  where `id` = '".$user_id['id']."' and credits >= $pocet ");
nightfish
Profil
dotaz znamená:
uprav tabulku `users` tak, že odečteš jeden kredit těm řádkům, kde hodnota sloupce `id` je rovná obsahu proměnné $user_id['id'] a zároveň počet kreditů je větší než 2000

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: