現在、データベースから取得したデータを表示させ、それを削除ボタンにて削除したいと思っております。
その際に、削除ボタンを押してアラートを出しOKなら削除、キャンセルなら処理取り消しをしたく、jsとphpファイルを分けて記述しました。削除ボタンでアラートは出るもののphpに記述した削除処理を読み込ませるのがうまくできず削除できない状況となっております。
行なったこといたしましては、phpに script処理を無理やりのように埋め込んでボタンが押されたら→削除処理に行くよう記述したのですがどうにも削除ボタンを押したらアラートは出るが削除押さなくてもページをリロードすると消えてしまいます。
アドバイスをいただきたいです。
・削除ボタンでアラート表示OKなら削除
php.
1<?php 2 3$sql = 'select id, name, kana, tel, email, body, created_at from contacts'; 4$stmt = $db->query( $sql ); 5 6echo "<table>\n"; 7echo "\t<tr><th>id</th><th></th><th>name</th><th></th><th>kana</th><th></th><th>tel</th><th></th><th>email</th><th></th><th>body</th><th></th><th>created_at</th></tr>\n"; 8while( $result = $stmt->fetch( PDO::FETCH_ASSOC ) ){ 9 echo "\t<tr>\n"; 10 echo "\t\t<td>{$result['id']}</td>\n"; 11 echo "\t\t<td> </td>\n"; 12 echo "\t\t<td>{$result['name']}</td>\n"; 13 echo "\t\t<td> </td>\n"; 14 echo "\t\t<td>{$result['kana']}</td>\n"; 15 echo "\t\t<td> </td>\n"; 16 echo "\t\t<td>{$result['tel']}</td>\n"; 17 echo "\t\t<td> </td>\n"; 18 echo "\t\t<td>{$result['email']}</td>\n"; 19 echo "\t\t<td> </td>\n"; 20 echo "\t\t<td>{$result['body']}</td>\n"; 21 echo "\t\t<td> </td>\n"; 22 echo "\t\t<td>{$result['created_at']}</td>\n"; 23 echo "\t\t<td> </td>\n"; 24 echo "\t\t<td><a href=edit.php? id=".$result['id'].">編集</a>"."</td>\n"; 25 echo "\t\t<td> </td>\n"; 26 ?> 27 <td><a href= contact.php class="deleteBtn" data-id='<?php echo $result['id'] ;?>' onClick="return dspDelete();" >削除</a></td> 28 <?php 29 echo "\t</tr>\n"; 30 ?> 31 32<script> 33 $(".deleteBtn").click(function(){ 34 35 var btnid = $(this).data("id"); 36 console.log(btnid); 37 deleteData(btnid); 38 }); 39 40 41 42 function deleteData(btnid){ 43 if(window.confirm('削除しますか?')){ 44 $.ajax({ 45 type: 'POST', 46 dataType:'json', 47 url:'delete_func.php', 48 data:{ 49 btnid:btnid, 50 }, 51 52 success:function(data) { 53 console.log(data); 54 window.location.href = "./"; 55 }, 56 error:function(XMLHttpRequest, textStatus, errorThrown) { 57 alert(errorThrown); 58 59 } 60 61 }); 62 63 } 64 } 65</script> 66 67<?php 68 69 } 70echo "</table>\n"; 71 72?>
delete_func.php
$jsondata = $_POST['btnid']; $stmt = $db->prepare('DELETE FROM contacts WHERE id = '.$jsondata.' '); $stmt->execute(); header('Content-type: application/json'); echo json_encode( $jsondata );
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/29 06:52
2021/11/29 07:14
2021/11/29 07:15
2021/11/29 07:44 編集
2021/11/29 11:21
2021/11/29 13:16 編集
2021/11/29 14:09 編集
2021/11/29 14:25 編集
2021/11/30 14:40
2021/11/30 20:42