簡體   English   中英

使用 Ajax 在 Laravel 中更新數據庫

[英]Database update in laravel using Ajax

我正在按照本教程更新或編輯 Laravel 中的數據庫表。 我已經實現了插入部分如下:

$(document).on('click', '.edit', function(){
            var id = $(this).attr("id");
            $('#form_output').html('');
            $.ajax({
                url:"{{route('ajax_data_manage.fetchdata')}}",
                method:'get',
                data:{id:id},
                dataType:'json',
                success:function(data)
                {
                    $('#player_name').val(data.player_name);
                    $('#player_country').val(data.player_country);
                    $('#player_age').val(data.player_age);

                    $('#player_id').val(id);
                    $('#playerModal').modal('show');
                    $('#action').val('Edit');
                    $('.modal-title').text('Edit Data');
                    $('#button_action').val('update');
                }
            })
        });

在控制器文件中

function fetchdata(Request $request)
{
    $id = $request->input('id');
    $player = Player::find($id);
    $output = array(
        'player_name'    =>  $player->player_name,
        'player_country' =>  $player->player_country,
        'player_age'     =>  $player->player_age
    );
    echo json_encode($output);
}

我認為錯誤在於獲取數據。 我在數據庫中的 Player 表有三列(姓名、國家、年齡)以及表單組中文本框的 id 和名稱:

<div class="form-group">
                        <label>Enter Player Name</label>
                        <input type="text" name="player_name" id="player_name" class="form-control" />
                    </div>
                    <div class="form-group">
                        <label>Enter Player Country</label>
                        <input type="text" name="player_country" id="player_country" class="form-control" />
                    </div>
                    <div class="form-group">
                        <label>Enter Player Age</label>
                        <input type="text" name="player_age" id="player_age" class="form-control" />
                    </div>

當我單擊編輯按鈕時,什么也沒有發生。 我還編輯了web.php文件

Route::get('ajaxdatamanage','AdminController@index')->name('ajax_data_manage');
Route::get('ajaxdatamanage/getdata', 'AdminController@getdata')->name('ajax_data_manage.getdata');
Route::post('ajaxdatamanage/postdata', 'AdminController@postdata')->name('ajax_data_manage.postdata');

Route::get('ajaxdatamanage/fetchdata', 'AdminController@fetchdata')->name('ajax_data_manage.fetchdata')
function fetchdata(Request $request)
{
    $id = $request->input('id');
    $player = Player::find($id);
    $output = array(
        'player_name'    =>  $player->player_name,
        'player_country' =>  $player->player_country,
        'player_age'     =>  $player->player_age
    );
    // try this 
    $update = Player::where('id',$id)->update($output);
    // or 
    $player->player_name;
    $player->player_country;
    $player->player_age;
    $player->save();
    echo json_encode($player);
}

您將獲得完整的演示,它將為您提供全面的幫助。

https://github.com/PriyankPanchal/AJAX-CRUD-Laravel

請使用上面的鏈接克隆項目,並在克隆后觸發一些命令,如下所示。

1) composer update 2) 設置 env 文件並在 .env 文件中設置數據庫詳細信息。 3)php工匠遷移

希望這個演示項目能幫到你。 謝謝 PHPanchal

暫無
暫無

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

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