728x90
반응형
https://boltlessengineer.tistory.com/28?category=1104321
Oweb 서비스의 개요는 위 링크 참조
최종형태와는 다르겠지만 일단 선택 삭제를 구현했다.
show_table 함수 조금 수정
<?php
function show_table()
{
$conn = mysqli_connect("localhost", "root", *********, "Oweb_test");
$query = "SELECT word.id, word, meaning FROM word LEFT JOIN meaning ON word.id = meaning.id";
$result = mysqli_query($conn, $query);
echo "<br>";
echo "<table>";
echo "<tr><td>선택</td> <td>id</td> <td>단어</td> <td>뜻</td> </tr>";
if (!$result)
{
echo mysqli_error($conn);
exit;
}
while($row = mysqli_fetch_assoc($result))
{
echo "<tr> <td>";
echo "<input type='checkbox' name='id[]' value=".$row['id'].">";
echo "</td> <td>";
echo $row['id'];
echo "</td> <td>";
echo $row['word'];
echo "</td> <td>";
echo $row['meaning'];
echo "</td> </tr>";
}
echo "</table>";
}
?>
while문에 체크박스 추가가 나오도록 추가
id[] 배열로 저장
.$row['id']. 는 각각 체크박스마다 같은 행에 있는 id를 받아옴
저번에 만들었던 show_table 함수를 <form>태그 안에 넣는다.
<form action="delete.php" method="post">
<?php
show_table();
?>
<input type="submit" value="삭제" />
</form>
show_table함수에서 체크박스 값을 받아와야 하기 때문에 <form>태그 안에 넣는다.
위 코드에서 받을 delete.php 코드
//delete.php
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8" />
</head>
<body>
<?php
$conn = mysqli_connect("localhost","root",*********,"Oweb_test") or die("DB 연결실패");
$id = $_POST['id'];
for($i=0; $i<=count($id);$i++)
{
mysqli_query($conn, "DELETE FROM word WHERE id = $id[$i]");
mysqli_query($conn, "DELETE FROM meaning WHERE id = $id[$i]");
}
mysqli_query($conn,"SET @C = 0");
mysqli_query($conn,"UPDATE word SET word.id = @C:=@C+1");
mysqli_query($conn,"SET @CNT = 0");
mysqli_query($conn,"UPDATE meaning SET meaning.id = @CNT:=@CNT+1");
header("location:index.php");
?>
</body>
</html>
for문으로 체크박스가 선택되었는가의 배열을 받아와서 데이터 삭제
(물론 같은 id이기때문에 가능하다)
실행결과

삭제버튼을 누르면 그 행이 삭제된다.
'중단된 프로젝트 > Oweb' 카테고리의 다른 글
[Oweb] php로 mysql에 데이터 추가, 조회 (0) | 2020.04.13 |
---|---|
[Oweb] 데이터베이스와 테이블 생성 (0) | 2020.04.13 |