これは完全に機能しているjQuery/Ajax編集MySQLテーブルスクリプトです。
他のGridEditスクリプトのように、「入力」フィールド(「a」ではない)を使用するにはどうすればよいですか?
そして、可能であれば(クリックしたときにのみ「入力」になり、そうでない場合は(たとえば)「スパン」になり、別の場所をクリックしたときに)データを保存します。
edit.php:
<?php
$connect = mysql_connect('localhost', 'username', 'password');
mysql_select_db('database');
if(isset($_GET['action'])) {
$id = $_GET['id'];
$field = $_GET['field'];
$value = $_GET['value'];
mysql_query("UPDATE posts SET $field='$value' WHERE id='$id' LIMIT 1");
}
?>
<html>
<head>
<meta charset="UTF-8" />
<title>Editable</title>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
function Editable() {
$.ajax({
url: 'edit.php',
method: 'GET',
data: {
action: 'update',
id: $(this).attr("db_id"),
field: $(this).attr("db_field"),
value: $(this).attr("value")
},
success: function() {
alert("Готово!");
}
});
return false;
}
jQuery(document).ready(function() {
$(".Update").click(Editable);
});
</script>
</head>
<body>
<table>
<tr>
<td>ID</td>
<td>Title</td>
</tr>
<tr>
<td>1</td>
<td>test1 <a href="#" class="Update" db_id="1" db_field="title" value="test1">Update 1</a></td>
</tr>
<tr>
<td>2</td>
<td>test2 <a href="#" class="Update" db_id="2" db_field="title" value="test2">Update 2</a></td>
</tr>
<tr>
<td>3</td>
<td>test3 <a href="#" class="Update" db_id="3" db_field="title" value="test3">Update 3</a></td>
</tr>
</table>
</body>
</html>