如何在没有页面刷新的情况下在PHP中更新MySQL表数据?

时间:2014-08-29 10:39:09

标签: php mysql

我正在尝试使用JQuery更新MySQL表字段,但是我编写的代码不能使用JQuery,如果我在没有JQuery的情况下运行此代码,它就可以工作。

assignlead.php

<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'root';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
  die('Could not connect: ' . mysql_error());
}
$count=$_POST["id"];
$usersCount = count($count);
for($i=0;$i<$usersCount;$i++) {
  $eid=$_POST["eid"][$i];
  $id=$_POST["id"][$i];

  $sql = "UPDATE clientreg
          SET eid='" .$eid. "'
          WHERE id='" .$id. "'";

  mysql_select_db('helixcrm');
  $retval = mysql_query( $sql, $conn );
}
if(! $retval )
{
  die('Could not update data: ' . mysql_error());
}
echo "Updated data successfully\n";
mysql_close($conn);
?>
<?php
$rowCount = count($_POST["users"]);
for($i=0;$i<$rowCount;$i++) {
$result = mysql_query("SELECT * FROM clientreg WHERE Id='" . $_POST["users"][$i] . "'");
$row[$i]= mysql_fetch_array($result);
$id=$row[$i]['id'];
?>
<input type="hidden" name="id[]" class="txtField" value="<?php echo $row[$i]['id']; ?>"></td>
<?php
$rowCoun = count($_POST["eid"]);
for($j=0;$j<$rowCoun;$j++) {
  $result = mysql_query("SELECT * FROM login WHERE eid='" . $_POST["eid"][$j] . "'");
  $row[$j]= mysql_fetch_array($result);
  $eid=$row[$j]['eid'];
?>
<input type="hidden" name="eid[]" class="txtField" value="<?php echo $row[$j]['eid']; ?>">
<?php
}
}
?>

我的JQuery

<script>
$(document).ready(function(){
    $('#myForm').submit(function(){
        $.ajax({
            url : 'assignlead.php',
            data : $(this).serialize(),
            type : 'POST',
            success : function(data){
                console.log(data);
                $("#success").show().fadeOut(5000);
            },
            error:function(data){
                $("#error").show().fadeOut(5000);
            }
        });
        // !important for ajax form submit
        return false;
    });
});
</script>

我不知道我哪里错了。请帮我解决我的问题。

1 个答案:

答案 0 :(得分:2)

$(this)不是指表格。这样做

$('#myForm').submit(function(){
    var self = $(this);
    $.ajax({
        url : 'assignlead.php',
        data : self.serialize(), // using this here will refer to Ajax jQuery object