2016-03-23 6 views
1

Ich benutze jQuery und Ajax, um eine sortierbare Drag & Drop-Tabelle zu haben.PHP-Abfrage In Schleife nicht Datenbank aktualisieren

Mein Problem ist, dass es nur etwa 10 Prozent der Zeit funktioniert.

Hier ist mein Js-Code. Hier

<script type="text/javascript"> 
// When the document is ready set up our sortable with it's inherant function(s) 
$(document).ready(function() { 
    $("#test-list").sortable({ 
     handle : '.handle', 
     update : function() { 
      var order = $('#test-list').sortable('serialize'); 
      $("#info").load("tow_sort2.php?"+order); 
     } 
    }); 
}); 
</script> 

ist die tow_sort2.php Seite:

<?php 
include("../_includes/db_connection.php"); 

/** 
* This is where you would inject your sql into the database 
* but we're just going to format it and send it back 
*/ 
$array =array(); 
foreach ($_GET['listItem'] as $position => $item) 
{ 
    $sql = "UPDATE tow SET tow_order = '$position' WHERE tow_id = '$item'"; 
    $conn->query($sql); 
    $array[] = $sql; 
} 
print_r($array); 
?> 

Hier ist das Array, das gedruckt wird:

Array ([0] => UPDATE tow SET tow_order = '0' WHERE tow_id = '5924' [1] => UPDATE tow SET tow_order = '1' WHERE tow_id = '5925' [2] => UPDATE tow SET tow_order = '2' WHERE tow_id = '5922' [3] => UPDATE tow SET tow_order = '3' WHERE tow_id = '5923') 

Screenshot of the Table

+0

Erhalten Sie Fehlermeldungen, wenn es nicht funktioniert? –

+0

Was ist der Datenbankanbieter? Wie werden Transaktionen verwaltet? – soyuka

+0

Was ist das beabsichtigte Verhalten? Wie genau funktioniert es nicht? – BPS

Antwort

0

ich glaube, das Problem ist, dass Sie verwenden die Methodenabfrage anstelle von exec:

$conn->exec($sql); 

Übrigens, Ihr Code ist auf sql injection festlegbar. Verwenden Sie stattdessen die Anweisung prepared oder überprüfen Sie die Variablen.

Verwandte Themen