一个提交按钮上的两个_POST


two _POST on a single submit button

我有我的POST操作的代码,但是很长,有两个不同的操作,如果用户有从保险库用钱购买的卡,并且如果用户没有卡升级代码是这样的:

if (isset($_POST['shop'])) {
if (security($_POST['ccard']) == 1) {
$umoney = $urow['bank'] + $urow['money'];
    } else {
$umoney = $urow['money'];
}
mysql_query(set the total upgrade values in another table)
mysql_query(give the user upgrade values in another table)
}
    if (security($_POST['ccard']) == 1) {
    $upuser = mysql_query("UPDATE `users` SET bank=bank-'$sumtotc' WHERE id='$urow[id]'");
    } else {
$upat2 = mysql_query("UPDATE `users` SET money=money-'$sumtotc' WHERE id='$urow[id]'");
}

但是如果我这样做,如果用户购买的价值超过银行的东西,它将是银行的负值,我尝试了这个:

if ($urow['bank'] < 0) {
$upmon = mysql_query("UPDATE `users` SET money=money-'$urow[bank]' WHERE id='$urow[id]'");
$upban = mysql_query("UPDATE `users` SET bank=0 WHERE id='$urow[id]'");
}

有没有其他方法可以让ccard功能更好? 银行的价值不要为负?

您可以使用

IF 语句,例如:

$upuser = mysql_query("UPDATE `users` 
SET bank = 
    CASE 
        WHEN bank-'$sumtotc' <= 0  
            THEN 0 
        WHEN bank-'$sumtotc' >= 1 
            THEN bank-'$sumtotc' 
    END 
money = 
    CASE 
        WHEN bank-'$sumtotc' <= 0  
            THEN money-'$urow[bank]'
        WHEN bank-'$sumtotc' >= 1 
            THEN money-'$sumtotc'
    END 
WHERE id='$urow[id]'");

http://dev.mysql.com/doc/refman/5.0/en/if.html