我一直在研究此应用程序,该应用程序具有一个名为funds的表,该funds表维护用户帐户中资金的进出。
这是数据库设计:-
NAME TYPE DEFAULT NULL
recordid int auto_increment NO
parentemail varchar(255) NO
funds int NO
is_locked varchar YES NO
好的,因此假设此表中有4个条目,其中两个的状态为YES,其中两个的状态为NO,我正在使用此查询从此表中获取总和和锁定状态。
SELECT sum(funds) AS funds,is_locked AS status FROM funds where parentemail = '" . $email . "' GROUP BY is_locked
然后,我使用此代码将锁定资金(状态为(is_locked)设置为YES的资金)和未锁定资金(状态(is_locked)设置为NO的资金)的值分别设置为不同的变量;
$query3="SELECT sum(funds) AS funds,is_locked AS status FROM funds where parentemail = '" . $email . "' GROUP BY is_locked";
$result3=mysql_query($query3,$db) or die (mysql_error($db));
$row3=mysql_fetch_array($result3);
$ulfunds=0;
$lfunds=0;
while($row3=mysql_fetch_assoc($result3))
{
if($row3['status'] == "NO") //if is_locked == NO, then funds are not locked and it would be stored in $ulfunds
{
$ulfunds=$ulfunds + $row3['funds'];
}
if($row3['status'] == "YES")//if is_locked == YES, then funds are are locked and would be stored in $lfunds
{
$lfunds=$lfunds + $row3['funds'];
}
}
问题
现在,如果我回显$lfunds(locked funds)
和$ulfunds(unlocked funds)
,我将获得正确的$ lfunds值(锁定的资金,is_locked == YES),但是我获得0
了$unfunds
(解锁的资金)的输出(默认值)。
我该如何解决这个问题,以便在两个变量中都获得正确的值?
谢谢。
从您的代码中删除此行,
$row3=mysql_fetch_array($result3);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句