簡體   English   中英

使用ajax和php的update_multiple_rows

[英]update_multiple_rows using ajax and php

在基於從mysql數據庫獲取的動態數據更新多行時,請需要幫助。 我已經使用$ _Post實現了udate.php文件,但是我如何使用ajax做到這一點。

//THIS SCRIPT FETCH FROM DATABASE
<body>
    <?php
    mysql_connect("localhost","root","");
    mysql_select_db("student") or die("Unable to select database");

    $sql = "SELECT * FROM students ORDER BY id";

    $result = mysql_query($sql) or die($sql."<br/><br/>".mysql_error());

    $i = 0;

    echo '<table width="50%">';
    echo '<tr>';
    echo '<td>ID</td>';
    echo '<td>Name</td>';
    echo '<td>Address</td>';
    echo '</tr>';

    echo "<form name='form_update' method='post' action='update.php'>\n";
    while ($students = mysql_fetch_array($result)) {
    echo '<tr>';
    echo "<td>{$students['id']}<input type='hidden' name='id[$i]'value='{$students['id']}' /></td>";
    echo "<td>{$students['name']}</td>";
    echo "<td><input type='text' size='40' name='address[$i]' value='{$students['address']}' /></td>";
    echo '</tr>';
    ++$i; 
    }
    echo '<tr>';
    echo "<td><input type='submit' value='submit' /></td>";
    echo '</tr>';
    echo "</form>";
    echo '</table>';
    echo $i; ?>


    </body>

//這里是更新腳本//單擊提交時,所有行都已更新,但是我仍然無法使用Ajax實現dis。 UPDATE.PHP

    $size = count($_POST['address']);

    $i = 0;
    while ($i < $size) {
    $address= $_POST['address'][$i];
    $id = $_POST['id'][$i];

    $query = "UPDATE students SET address = '$address' WHERE id = '$id' LIMIT 1";
    mysql_query($query) or die ("Error in query: $query");
    echo "$address<br /><br /><em>Updated!</em><br /><br />";
    ++$i;
}
?>

這是我在AJAX上嘗試過的內容

function update(){
var j=0;
while(j< <?php echo $i ; ?>){
var id=$("#id" + j);    
var address=$("#address" + j);

$.ajax(
{
url:"update.php",
type:"post",
data:{id:id.val(),address:address.val()},
success:function(response)
{
}
});



}

任何幫助將不勝感激

您不需要循環並執行多個POST。 只需序列化表單數據並將其發送到腳本,例如:

$.ajax({
    url: 'update.php',
    type: 'post',
    data: $('#your-form-id').serialize(), 
    success:function(response){
        // do something
    }
});

另外,您應該考慮修改PHP以防止SQL注入: 如何防止PHP中的SQL注入?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM