2016-04-15 8 views
0

Ich habe eine Tabelle mit Popup Unabled Bearbeitung mit Xeditable Plugin erstellt und versuche, meine Daten mit Ajax Anruf an die Datenbank zu übermitteln. Das Folgende ist meine Tabellenzeile Code:Datenbankabfrage funktioniert nicht mit Xeditable Plugin

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

Ich habe das Debuggen versucht und in der Registerkarte Netzwerk von firefox konnte ich die Daten sehen wie folgt geschrieben werden: Formulardaten: Name: „loan_amount“ Wert: " 2000 " pk:" 1 "

aber die Antwort von der post.php ist dieses Feld erforderlich. Hier ist mein post.php Code

$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!"; 
    } 

Mein jQuery-Code für th xeditable Plugin ist wie folgt:

$(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' 

    } 

}); 

}); 

Aber ich bin nicht in der Lage, das Problem zu verstehen, wie die Anfrage an mich völlig in Ordnung scheint, noch Die Datenbank wird nicht aktualisiert.

Jeder, der mich in die richtige Richtung führen kann. Danke

+0

Ich schlage vor, Sie versuchen, drei Dinge in der PHP: (1) drucken Sie die $ _POST Array, bevor Sie die Datenbank abfragen - wenn es einen DB-Fehler Sie werden es nicht sehen (2) formatiere deine Abfrage in eine PHP-Zeichenkette und drucke sie aus - ich denke, das ist dein Problem, (3) achte immer auf mysql-Fehler – bitfiddler

+0

@bitfiddler Danke, dass du vorbeikommst und vorschlägst, aber ich habe es gelöst und die Lösung veröffentlicht Gut. Danke noch einmal – phpnewbie

Antwort

0

Das erste Problem mit dem Skript von der Xeditable auf ihrer Github verwendet MySQL, die nicht sicher ist, in diesen Tagen zu verwenden. Also habe ich alle verschoben, um mysqli zu verwenden. Hier ist der Arbeitscode für anyones Referenz:

<?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!"; 
    } 
?>