0

有点令人困惑的情况,我的网页上有一个表格,允许用户将信息输入数据库......

形式

<form id="insertbill">
     Total <input type="text" id="total" name="total" /><br />
     Bill name<input type="text" id="bill-name" name="bill-name" /><br />
     bill descriptiion <input type="text" id="bill-description" name="bill-description" /><br />
     bill colour<input type="text" id="bill-colour" name="bill-colour" />
     <input type="button" value="submit" onClick="insertBill();" />
</form>  

然后此表单通过 AJAX 将信息发送到我的 php,然后将其输入到我的数据库中

AJAX

function insertBill()
{
    $.post('insert_bill.php', $('#insertbill').serialize(), 
        function(data) {
        $('#bills').append(data);
    });
};

PHP

   $uid = $_SESSION['oauth_id'];       
   $bill = mysql_real_escape_string($_POST['total']);
   $billname = mysql_real_escape_string($_POST['bill-name']);
   $billdescription = mysql_real_escape_string($_POST['bill-description']);
   $billcolour  = mysql_real_escape_string($_POST['bill-colour']);

    #Insert Record
    $query = mysql_query("INSERT INTO `outgoings` (user_id, bill, bill_name, bill_description, bill_colour ) VALUES ('$uid', '$bill', '$billname', '$billdescription', '$billcolour')") or die(mysql_error());

完成此操作后,数据将返回到网页,并以另一种形式允许用户更新记录...

返回的数据/表格

Print "<tr>"; 
Print "<th>total:</th> <td>".$bill . "</td> ";
Print "<th>bill name:</th> <td>".$$billname . "</td> ";
Print "<th>bill deposit:</th> <td>".$billdescription . "</td> "; 
Print "<th>colour:</th> <td>". $billcolour . " </td></tr>"; 
echo "<th>edit:</th> <td>

<form id='bill-upd'>
        <input type='hidden' value='". $billname."' name='billid' id='billid''>
        Total <input type='text' id='total' name='total' /><br />
        Bill name<input type='text' id='bill-name' name='bill-name' /><br />
        bill descriptiion <input type='text' id='bill-description' name='bill-description' /><br />
        bill colour<input type='text' id='bill-colour' name='bill-colour' />
        <input type='button' value='submit' onClick='updateBill();' />
    </form>   
</td>"; 

我的问题是返回的表单没有更新,这是因为我需要以某种方式找到插入的记录的 id,将其放入要返回的表单中我想......我希望这不会太混乱,但是有没有人在不重新加载页面的情况下更好地做到这一点?

4

2 回答 2

0

这是您可以在您的 insert_bill.php 查看页面中包含的内容:

<script> 
   var json=<? 
       $arr=array($bill, $billname, $billdescription, $billcolour);
       echo json_encode($arr); ?>;

     $('tr td:nth-child(0)').html(json[0]);
     $('tr td:nth-child(1)').html(json[1]);
     $('tr td:nth-child(2)').html(json[2]);
     $('tr td:nth-child(3)').html(json[3]);

</script>

我想一个突出的问题是您所说的从数据库返回的“id”。你能再解释一下吗?它们在您的 insert_bill.php 页面上有多种形式吗?无论如何,您可以将它$id放入数组中并将其输入并html()像我对其他变量所做的那样运行。

于 2012-05-04T22:25:02.730 回答
0

您需要从数据库中返回数据然后更改,我想如果您只需要您必须做的 id。

在 PHP 中回显 mysql_last_insert_id(); //所以你得到最后插入的id并“返回”给JS在JS中,在函数数据里面你得到echo作为返回并改变id然后$("#billid").val(data)

希望对你有帮助

于 2012-05-04T22:30:45.870 回答