Mysql错误地更新了动态行记录 [英] Mysql wrongly update the dynamic row records

查看:136
本文介绍了Mysql错误地更新了动态行记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图在这里更新我的动态行值。当我插入一个新的凭证记录时,它可以正确地将值插入到数据库中。当我编辑记录值时,也正确地从数据库中获取值。但更新是我的问题。它总是更新所有行中的最后一行值。



以前我在这里发布了与这个问题有关的另一个问题,但仍然没有清除这个错误。 这是另一个相同问题的链接


$ b

更新页面PHP编码:

  if(isset ($ _POST ['submit_val']))
{
$ uid =(int)$ _ POST [edited];
foreach($ _POST ['slno'] as $ key => $ slno)
{
$ e_date = $ _POST ['date'] [$ key];
$ e_particulars = $ _POST ['particulars'] [$ key];
$ e_noofnights = $ _POST ['noofnights'] [$ key];
$ e_rate = $ _POST ['rate'] [$ key];
$ e_price = $ _POST ['price'] [$ key];
$ e_tax = $ _POST ['tax'] [$ key];
$ e_nettotal = $ _POST ['nettotal'];
$ e_totalamount = $ _POST ['totalamount'];
$ e_finaltotal = $ _POST ['finaltotal'];

$ e_slno = mysql_real_escape_string($ e_slno);
$ e_date = mysql_real_escape_string($ e_date);
$ e_particualrs = mysql_real_escape_string($ e_particulars);
$ e_noofnights = mysql_real_escape_string($ e_noofnights);
$ e_rate = mysql_real_escape_string($ e_rate);
$ e_price = mysql_real_escape_string($ e_price);
$ e_tax = mysql_real_escape_string($ e_tax);
$ e_nettotal = mysql_real_escape_string($ e_nettotal);
$ e_totalamount = mysql_real_escape_string($ e_totalamount);
$ e_finaltotal = mysql_real_escape_string($ e_finaltotal);
$ e_tariff = mysql_query(UPDATE ebvouchertariffs SET TariffSlNo ='$ e_slno',TariffDate ='$ e_date',TariffParticulars ='$ e_particulars',NoOfNights ='$ e_noofnights',TariffRate ='$ e_rate',TariffPrice = '$ e_price',TariffTax ='$ e_tax',TariffNetTotal ='$ e_nettotal',TariffAddTotal ='$ e_totalamount',TariffFinalTotal ='$ e_finaltotal',ModifiedOn = NOW()WHERE VoucherID_Fk ='$ uid');
}
mysql_close($ link);

$ / code $ / pre
$ b $ p我在这里附上了一些图片。

在更新之前:


更新后



您可以在上面看到图像在这里。当我更新一行时,它总是更新所有行中的最后一行值。我在哪里犯了一个错误?

解决方案

不是很确定。但是,尽管我遇到过PHP,我从来没有见过多维关联数组的关键作为第二个索引参数,同时显示数组中的数据!我不能评论,所以我发布了这个答案... Sry。 :)

I trying to update my dynamic row values here. When i insert a new voucher record it could inserted the values correctly into database. When i edit the record values that time also it fetch the values from database correctly. But updation is my problem. It always update the last row values in all rows..

Previously i posted another question here related to this question but still didn't clear this error. Here is the link for another same question

Updation page PHP Coding :

if(isset($_POST['submit_val']))
    {
    $uid = (int)$_POST["edited"];
    foreach( $_POST['slno'] as $key=>$slno ) 
    {
        $e_date = $_POST['date'][$key];
        $e_particulars = $_POST['particulars'][$key];
        $e_noofnights = $_POST['noofnights'][$key];
        $e_rate = $_POST['rate'][$key];
        $e_price = $_POST['price'][$key];
        $e_tax = $_POST['tax'][$key];
        $e_nettotal = $_POST['nettotal'];
        $e_totalamount = $_POST['totalamount'];
        $e_finaltotal = $_POST['finaltotal'];

        $e_slno = mysql_real_escape_string($e_slno);
        $e_date = mysql_real_escape_string($e_date);
        $e_particualrs = mysql_real_escape_string($e_particulars);
        $e_noofnights = mysql_real_escape_string($e_noofnights);
        $e_rate = mysql_real_escape_string($e_rate);
        $e_price = mysql_real_escape_string($e_price);
        $e_tax = mysql_real_escape_string($e_tax);
        $e_nettotal = mysql_real_escape_string($e_nettotal);
        $e_totalamount = mysql_real_escape_string($e_totalamount);
        $e_finaltotal = mysql_real_escape_string($e_finaltotal);
        $e_tariff = mysql_query("UPDATE ebvouchertariffs SET TariffSlNo = '$e_slno', TariffDate = '$e_date', TariffParticulars = '$e_particulars', NoOfNights = '$e_noofnights', TariffRate = '$e_rate', TariffPrice = '$e_price', TariffTax = '$e_tax', TariffNetTotal = '$e_nettotal', TariffAddTotal = '$e_totalamount', TariffFinalTotal = '$e_finaltotal', ModifiedOn = NOW() WHERE VoucherID_Fk = '$uid'");
    }
mysql_close($link);
    }

I attached a few images here..

Before Updation:

After Updation

You can see above images here. When i update a row it always updates the last row values in all rows.. Where i made a mistake?

解决方案

I am not very sure about it. But as much as I hv come across php I hv never seen "Key" of a multi dimensional associative array as being used as second index parameter while displaying data from an array!!! I cant comment so i posted this as an answer... Sry. :)

这篇关于Mysql错误地更新了动态行记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆