使用jquery / php在mysql中进行内联更新

时间:2015-09-11 10:34:46

标签: javascript php jquery mysql ajax

我正在使用CRUD

执行JQuery/Ajax and php/MySQL次操作

我能够insert/selectdelete数据,但我必须坚持编辑/更新。我点击编辑按钮时将数据拉入文本框但是在编辑后点击保存按钮无法在mysql db中更新!!

感谢任何帮助

html代码

<span class="noedit name" idl='<?php echo $row->id;?>'>
    <?php echo $row->url;?>
</span>
<input id="url1" name="url1" class="form-control edit name url1" value="<?php echo $row->id;?>"/>

<a ide='<?php echo $row->id;?>' id="edit" class='editOrder' href="#" style="display:block-inline;">EDIT</a>
<a idu='<?php echo $row->id;?>' id="update" class='update saveEdit' href='#' style='display:none;'>SAVE</a>
<a idc='<?php echo $row->id;?>' id="cancel" class='cancelEdit edit' href='#' style='display:none;'>CANCEL</a>

Jquery代码

$('body').delegate('.edit','click',function(){
    var IdEdit = $(this).attr('ide');
    alert(IdEdit);
    $.ajax({
        url:"pages/feeds.php",
        type:"post",
        data:{
            editvalue:1,
            id:IdEdit
        },
        success:function(show)
        {
            $('#id').val(show.id);
            $('#url1').val(show.url);
        }
    });
});

$('.update').click(function(){
var id = $('#id').val()-0;
var urls = $('#url1').val();
$.ajax({
    url:"pages/feeds.php",
    type:"post",
    async:false,
    data:{
        update:1,
        id:id,
        upurls:urls
    },
    success:function(up)
    {
        $('input[type=text]').val('');
        showdata();
    },
    error:function(){
        alert('error in updating');
    }

});
});

PHP代码

if(isset($_POST['editvalue']))
{
    $sql = "select * from test where id='{$_POST['id']}'";
    $row = mysql_query($sql);
    $rows = mysql_fetch_object($row);

    header("Content-type:text/x-json");
    echo json_encode($rows);
    exit();
}

if(isset($_POST['update']))
{
    $sql = "
        update test
        set 
            url='{$_POST['upurls']}'
        where id='{$_POST['id']}'
    ";
    $result = mysql_query($sql);
    if($result)
    {
        //alert('success');
        echo 'updated successfully';
    }
    else
    {
        //alert('failed');
        echo 'failed to update';
    }
}

2 个答案:

答案 0 :(得分:0)

我的代码中没有看到#id输入。它在那里?
我认为问题在这里。

如果此输入存在,请使用以下提示:
检查所有值(id,url)是否都发送到PHP脚本 您可以在Javascript中使用console.log或在PHP中使用print_rvar_dump函数。

答案 1 :(得分:-1)

更改

$('.update').click(function(){

$('.saveEdit').click(function(){