MySQL からデータを取得したテーブルがあり、ボタンをクリックして値を更新しようとしていますが、どこから始めればよいかわかりません。
私は Jquery / AJAX を始めたばかりで、まだよくわかっていないので、あまり厳しくしないでください。
私の例では、次のような HTML テーブルがあります。
ID Status Set Status
1 Pending Yes / No
2 Pending Yes / No
3 Pending Yes / No
4 Pending Yes / No
5 Pending Yes / No
ID 3 をクリックすると、MySQL エントリが次のID 3
ように更新されます。Yes
私の質問は、どのYes / No
行がクリックされたかをどのように確認するのですか? それを AJAX 経由で処理スクリプトに渡すにはどうすればよいですか?
My Yes / No
Links には、次のようにエントリの ID が添付されています。
<a href="status.php?set=yes&id=3">
PHPの部分は問題ないと思いますが、正しいデータを取得することが問題です。
//編集、これはテーブルです:
<table class="table table-striped table-bordered table-hover datatable">
<thead>
<tr>
<th><div class="checkbox"><input type="checkbox" /></div></th>
<th>ID</th>
<th>Status</th>
<th>Set Status</th>
</tr>
</thead>
<tbody>
<?php
$query=mysql_query( "select * from test");
if(mysql_num_rows($query)>0){
while($data=mysql_fetch_array($query,1)){
?>
<tr>
<td><div class="checkbox"><input type="checkbox" /></div></td>
<td><?php echo $data['id']; ?></td>
<td>
<?php
if($data['status'] == 'pending')
{
echo "<span class=\"label label-warning\">Pending</span>";
}
elseif($data['status'] == 'yes')
{
echo "<span class=\"label label-success\">Yes</span>";
}
elseif($data['status'] == 'no')
{
echo "<span class=\"label label-danger\">No</span>";
}
?></td>
<td>
<?php
if($data['status'] == 'pending')
{
echo "<a href=\"" . "status?set=yes&id=" . $data['id'] ."\" class=\"btn btn-success btn-xs\"><i class=\"icon-ok-sign\"></i> Yes</a>" . " <a href=\"" . "status?set=no&id=" . $data['id'] ."\" class=\"btn btn-danger btn-xs\"><i class=\"icon-remove\"></i>No</a>";
} ?>
</td>
</tr>
<?php
}
} ?>
</tbody>
</table>
/// 編集 2
user574632 の回答を利用して、単純な AJAX GET がテーブルの更新に関して機能するようになりました。現在、ユーザーに投稿されたフィードバックを取得し、2 つのボタンを非表示にしようとしています。
status.php
$id = $_GET['id'];
$status = $_GET['set'];
if($_GET['set'] == 'yes') {
$result = mysql_query("UPDATE test SET status='yes' WHERE id='$id'")
or die(mysql_error());
echo "Status Changed to Yes";
exit(); }
if($_GET['set'] == 'no') {
$result = mysql_query("UPDATE test SET status='no' WHERE id='$id'")
or die(mysql_error());
echo "Status Changed to No";
exit(); }