Прежде всего, jEditable работает для меня - я могу ввести значение, нажать Enter и получить вид нового значения в таблице. Однако это значение никогда не вставляется в базу данных. Насколько я понимаю, код JQuery с сайта jEditableОбновление базы данных с помощью jEditable и mysqli
$(document).ready(function() {
$('.edit').editable('http://www.example.com/save.php');
});
, которые я изменил на ссылку на мой update.php сценарий
error_reporting(E_ALL^E_NOTICE);
session_start();
$servername = "localhost";
$username = "root";
$password = "";
$database = "database";
$conn = new mysqli($servername, $username, $password, $database);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$value = $_POST['value'];
$id = $_POST['id'];
echo $value;
$updateTest=$conn->query("UPDATE table SET column='".$value."' WHERE ID='".$id."'");
следует обновить базу данных, но ничего не происходит. Когда я смотрю на функцию сетевого журнала Firefox, я вижу, что нет идентификатора (я не знаю, откуда этот идентификатор должен появиться в первую очередь, в этом примере ничего нет), но это значение там. Однако, похоже, от сервера нет ответа.
Может быть, сама таблицей является проблемой:
while($row = $results->fetch_assoc()) {
$ID = $row["ID"];
print '<tr>';
print '<td><div class="edit" data-pk="'.$ID.'">'.$row["column"].'</div></td>';
print '</tr>';
(я ушел из ЗЕЬЕСТА, потому что все остальное отображаются правильно)
К сожалению, нет никакого объяснения, почему ДИВ должен иметь идентификатор - это, по-видимому, не то, что представлено в запросе POST.
Я немного искал походы, но я не мог найти ответ на этот вопрос. Это, вероятно, очевидно, но я просто не могу его найти. С тех пор, как я изменил свое первоначальное подготовленное заявление, я больше не получаю ошибок.
Я был бы очень признателен за любую помощь, особенно если вы могли бы объяснить мою ошибку, чтобы я не повторил ее в будущем.
Если есть место в Интернете с фактическим полным (MySQLi) примером того, что save.php файл упоминается в Jeditable документации выглядит как и у вас есть ссылка (я, конечно, не нашел ...), я бы тоже это воспринял.
Во-первых, ** использование подготовленные заявления **! Во-вторых, 'id' должен находиться в' pk' (который обозначает 'первичный ключ'). В-третьих, ваш элемент должен иметь атрибут 'data-pk' set. Forth, удалите этот 'id'. Это недопустимый HTML, так как значения 'id' не могут быть просто числом. –
Ну, моя цель - вернуться к подготовленному заявлению, как только я получу это для работы. И я никогда не понимал, что идентификаторы не могут быть числами, я обычно использую классы для всего, это здорово знать. Во всяком случае, это очень полезная информация, я попробую, спасибо! Но .. где бы я положил 'pk'? Это то, что вы имеете в виду с 'data-pk'? – Rehlyihmah
В HTML5 'id' * can * может быть числом https://html.spec.whatwg.org/multipage/dom.html#the-id-attribute –