Mysql错误地更新了动态行记录 [英] Mysql wrongly update the dynamic row records
问题描述
我试图在这里更新我的动态行值。当我插入一个新的凭证记录时,它可以正确地将值插入到数据库中。当我编辑记录值时,也正确地从数据库中获取值。但更新是我的问题。它总是更新所有行中的最后一行值。
以前我在这里发布了与这个问题有关的另一个问题,但仍然没有清除这个错误。 这是另一个相同问题的链接
$ 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屋!