Php 如何在sql中选择列中第二行的值?

Php 如何在sql中选择列中第二行的值?,php,mysql,sql,Php,Mysql,Sql,我想从包含列gp\u no,member\u no,member\u name,sum(dr)as dr的视图余额中扣除金额。现在,当用户支付一些金额时,比如1,50000,那么它应该首先从第一组中扣除,即,gp\u no=1(假设他在gp\u no=1中的未清余额为75000,那么它应该是1,50000-80000,因此gp\u no=1现在应该是清楚的),如果金额仍然存在(在我们的示例中为70000)然后从第二组中扣除,即,gp_no=2,依此类推。谁能帮帮我吗。提前感谢:) 这是PHP代码

我想从包含列
gp\u no
member\u no
member\u name
sum(dr)as dr
的视图
余额
中扣除金额。现在,当用户支付一些金额时,比如1,50000,那么它应该首先从第一组中扣除,即,
gp\u no=1
(假设他在
gp\u no=1
中的未清余额为75000,那么它应该是1,50000-80000,因此
gp\u no=1
现在应该是清楚的),如果金额仍然存在(在我们的示例中为70000)然后从第二组中扣除,即,
gp_no=2
,依此类推。谁能帮帮我吗。提前感谢:)

这是PHP代码

If(isset($_REQUEST['submit'])!='')
{

 $member_no = $_REQUEST['member_no'];
 $payment = $_REQUEST['payment'];

 $sql = "select gp_no,sum(dr) as dr from instalment WHERE  member_no =    '$member_no' group by gp_no" ;
 $result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0)
{
while($row = mysqli_fetch_assoc($result))
    {
        echo  "got the value " ;
     $dr = $row["dr"];

    }
}
 while ( $debited_amount !=0 )
 {
   $debited_amount = $dr - $payment ; 

     if ($debited_amount < 0 )   // when the user pays more amount as he needs to pay for gp_no = 1
     {
          // dr will be updated by dr = 0;
          // and move to next dr for subratraction i.e., dr of gp_no = 2 
     }
     elseif ($debited_amount > 0)  // when the user pays less amount as he needs to pay for gp_no = 1
     {
         // dr will be updated by dr = $debited_amount ; 
     }
     else  // when the user pays exactly the same amount as he needs to pay for gp_no = 1
     {
         // dr will be updated by dr = 0;
     }
If(设置($\u请求['submit'])!=“”)
{
$member\u no=$\u请求['member\u no'];
$payment=$_请求['payment'];
$sql=“从分期付款中选择gp_编号、总和(dr)作为dr,其中成员编号=“$member_编号”按gp_编号分组”;
$result=mysqli\u查询($conn,$sql);
如果(mysqli_num_行($result)>0)
{
while($row=mysqli\u fetch\u assoc($result))
{
echo“得到了价值”;
$dr=$row[“dr”];
}
}
而($借记金额!=0)
{
$debited_amount=$dr-$payment;
if($debited_amount<0)//当用户支付更多金额时,因为他需要支付gp_no=1
{
//dr将由dr=0更新;
//并移动到下一个dr进行细分,即gp_no=2的dr
}
elseif($debited\u amount>0)//当用户支付较少的金额,因为他需要支付gp\u no=1
{
//dr将更新为dr=$debited\u amount;
}
else//当用户支付的金额与他需要支付的gp_no=1的金额完全相同时
{
//dr将由dr=0更新;
}

}

发布一些示例数据和预期结果会让这个问题变得更清楚。嗯,你能告诉我如何在我们的帖子中添加图像,这样我就可以发布我的DB和PHP前端页面的截图。因为我是新手,所以我不知道太多。谢谢@felixpamittanw你为什么不直接复制并粘贴它们,而不用截图呢通过这种方式,我们可以更轻松地复制粘贴它们并测试我们的答案。好吧,让我试试!我有一个PHP@front end页面,在那里我可以从用户那里获得
付款
的值。现在,这个值应该从我的视图
余额
dr
列中减去
创建视图余额作为选择分期付款。gp\u no,instalment.member_编号、金额(dr)作为dr,list.member\u name from分期付款上的分期付款加入列表。member\u no=list.member\u no group by分期付款。gp\u no
现在,由于它按
gp\u no
存储值组,我想要的是首先从第一组中扣除
付款
,如果我们还剩下一些付款,它应该检查下一组的
dr
列分组,即,
gp_no=2
,然后在那里扣除,依此类推,直到
payment
中的值变为零,或者我们没有其他组进行任何进一步扣除。
If(isset($_REQUEST['submit'])!='')
{

 $member_no = $_REQUEST['member_no'];
 $payment = $_REQUEST['payment'];

 $sql = "select gp_no,sum(dr) as dr from instalment WHERE  member_no =    '$member_no' group by gp_no" ;
 $result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0)
{
while($row = mysqli_fetch_assoc($result))
    {
        echo  "got the value " ;
     $dr = $row["dr"];

    }
}
 while ( $debited_amount !=0 )
 {
   $debited_amount = $dr - $payment ; 

     if ($debited_amount < 0 )   // when the user pays more amount as he needs to pay for gp_no = 1
     {
          // dr will be updated by dr = 0;
          // and move to next dr for subratraction i.e., dr of gp_no = 2 
     }
     elseif ($debited_amount > 0)  // when the user pays less amount as he needs to pay for gp_no = 1
     {
         // dr will be updated by dr = $debited_amount ; 
     }
     else  // when the user pays exactly the same amount as he needs to pay for gp_no = 1
     {
         // dr will be updated by dr = 0;
     }