これは良い質問です!AJAXy の概念は非常に単純ですが、バニラ コードで作業していると、埋めるのが不可能に思えるほど多くの穴があります。
最初に行う必要があるのは、HTML で表の各行を識別することです。これを行う簡単な方法は次のとおりです。
<tr class="tablerow" id="row-<?= $row->id ">
<td><input type="text" class="rowinput" /></td>
</tr>
また、行に一意ではないクラスtablerow. 今すぐ彼らにいくつかの行動を与えましょう!ここでは jQuery を使用しています。これにより、すべての面倒な作業が行われます。
<script type="text/javascript">
$(function(){
$('.tablerow').click(function(){
var row_id = $(this).attr('id').replace('row-','');
$.getJSON('script.php', {id: row_id}, function(rs){
if (rs.id && rs.data) {
$('#row-' + rs.id).find('.rowinput').val(rs.data);
}
});
});
});
</script>
次に、script.php次のようなことをしたいと思うでしょう:
$id = (int) $_GET['id'];
$rs = mysql_query("SELECT data FROM table WHERE id = '$id' LIMIT 1");
if ($rs && mysql_num_rows($rs)) {
print json_encode(mysql_fetch_array($rs, MYSQL_ASSOC));
}