Autor | Zpráva | ||
---|---|---|---|
curdto Profil |
#1 · Zasláno: 2. 5. 2008, 13:17:25
<?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 |
#2 · Zasláno: 2. 5. 2008, 13:20:12
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 |
#3 · Zasláno: 2. 5. 2008, 13:25:21
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 |
#4 · Zasláno: 2. 5. 2008, 13:29:24
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 |
#5 · Zasláno: 2. 5. 2008, 13:30:01
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 |
||
Časová prodleva: 16 let
|
0