2016-04-15 8 views
0

xeditableプラグインでポップアップを編集できず、データベースにajaxを呼び出してデータを送信しようとしました。以下は、私のテーブルの行のコードです:xeditableプラグインでデータベースクエリが動作しません

echo "<td><a href=\"#\" id='sel' data-pk=\"$row[loan_id]\">" . $row['loan_status'] . "</a></td>"; 

私はデバッグを試みているとFirefoxの[ネットワーク]タブで、私は次のようにデータが掲載されて見ることができる: フォームデータを: 名:「loan_amount」 値: " 2000 " pk:" 1 "

ですが、post.phpからの応答はこのフィールドに入力する必要があります。ここに私のpost.phpコードがある

$pk = $_POST['pk']; 
    $name = $_POST['name']; 
    $value = $_POST['value']; 
    /* 
    Check submitted value 
    */ 
    if(!empty($value)) { 

$result = mysql_query('update k_loans set '.mysql_escape_string($name).'="'.mysql_escape_string($value).'" where loan_id ="'.mysql_escape_string($pk).'"'); 

     print_r($_POST); 
    } else { 

     echo "This field is required!"; 
    } 

次のように目xeditableプラグインの私のjqueryのコードは次のとおりです。まだ、

$(document).ready(function() { 
    //toggle `popup`/`inline` mode 
    $.fn.editable.defaults.mode = 'popup';  

$('#loan a').editable({ 
    type: 'text', 
    name: 'loan_amount', 
    url: '../payments/post.php', 
    title: 'Enter amount', 
    ajaxOptions: { 
    type: 'put' 

    } 

}); 

}); 

をしかし、クエリは私には完全に罰金だと私は問題を理解することができませんデータベースが更新されていません。

正しい方向に私を導くことができる人。ありがとう

+0

私はあなたがPHPでの3つのことをしようと提案する:ここではanyones参照のための作業コードがあるあなたがデータベースを照会する前に(1)$ _POST配列を印刷する - DBエラーがあります場合は、それを見ています(2)あなたのクエリをPHPの文字列にフォーマット化して印刷する - 私はあなたの問題だと思う、(3)常にmysqlエラーに注意を払う – bitfiddler

+0

@bitfiddlerお待ちしておりますが、私はそれを解決し、よく再度、感謝します – phpnewbie

答えて

0

xeditableがgithubで提供しているスクリプトの最初の問題は、これらの日を安全に使用できないmysqlを使用しています。だから私はmysqliを使用するようにそれらのすべてをシフトしました。

<?php 
$server = "localhost"; 
$username = "user"; 
$password = "pass"; 
$database = "db"; 

$con = new mysqli($server,$username,$password,$database); 
if (!$con){ 
die('Could not connect: ' . mysqli_connect_error($con)); 
echo "Cudnt cnnect";} 
else{ 
echo "connected"; 
} 

    var_dump($_POST); 

    $pk = $_POST['pk']; 
    $name = $_POST['name']; 
    $value = $_POST['value']; 
    /* 
    Check submitted value 
    */ 
    if(!empty($value)) { 

if ($result = mysqli_query($con,'update k_loans set '.mysqli_real_escape_string($con,$name).'="'.mysqli_real_escape_string($con,$value).'" where loan_id ="'.mysqli_real_escape_string($con,$pk).'"')); 
{ 
     echo "Update successful"; 
    } 

    mysqli_close($con); 
     print_r($_POST); 
    } else { 

     echo "This field is required!"; 
    } 
?> 
関連する問題