728x90
수정,삭제 버튼 생성.
<input type="hidden" name="id" value="<?=$_GET['id']?>">
<input type="hidden" name="img" value="<?=$row['img']?>">
이미지버튼 변경시 id만을 넘겨주는게 아니라 변경전 img의 이름값도 함께넘겨줘 넘어간 이후
이와 변경된 img의 이름을 확인해서 비교해준다.
수정 내용 입력시 2가지 쿼리에서 선택된다.
1. 이미지파일을 수정한경우.
2. 이미지파일을 수정하지 않은경우.
$conn = mysqli_connect('localhost','root','1234','test');
$query = "update books set
`title`='{$_POST['title']}',`desc` ='{$_POST['desc']}' ,
`price`={$_POST['price']}
where id = {$_POST['id']}";
$query2 = "update books set
`title`='{$_POST['title']}',`desc` ='{$_POST['desc']}' ,
`price`={$_POST['price']}, `img` ='img/{$file['name']}'
where id = {$_POST['id']}";
if($_POST['img']== "img/".$file['name']){
$result = mysqli_query($conn,$query);
}else{
unlink("../".$_POST['img']);
$result3 = move_uploaded_file($file['tmp_name'],"C:Apache24/htdocs/php/book/img/".$file['name']);
$result2 = mysqli_query($conn,$query2);
}
header('Location:../index.php');
이미지파일을 수정하지않은 경우에는 제목,가격, 내용만을 변경한다.
이미지파일을 수정한 경우에는 제목,가격,내용,이미지 테이블의 내용을 변경하고,
원레있던 파일을 unlink로 삭제해준다. (unlink사용시 절대경로 사용시 동작하지않으니 상대경로를 사용)
변경완료 !.
$conn = mysqli_connect('localhost','root','1234','test');
$query = "delete from books where id={$_POST['id']}";
$result = mysqli_query($conn,$query);
unlink("../".$_POST['img']);
삭제의경우 다른것 없이 id만을 받아와서 해당 내용을 모두 지우고 unlink로 파일까지 지워준다.
이미지 수정시 이름 나오게 만들기
input은 style position:absolute를 줘서 위치를 고정시키고 opacity :0 을입력해 보이지 않게 만든다.
2개의 labal을줘서 하나는 파일선택 하나는 기본 img명을 입력해놓고 하나의 label에 스타일을 줘서 버튼과 비슷하게 만든다.
내용의 변경은 script를 사용했다.
<input type="file" style="position:absolute; top:0; left:0; opacity:0" name='imge' onchange='imageChange(this)'></td>
function imageChange(input){
let valueArr = input.value.split('\\');
// imaLabel의 내용을 input의 value값으로 변경
console.log(input.value);
document.querySelector('#imgLabel').innerHTML = valueArr[valueArr.length-1]
}
728x90
'프론트앤드 수업' 카테고리의 다른 글
[github] 설치,사용,다른사람깃허브 가져오기 (0) | 2022.06.14 |
---|---|
[Mysql] 데이터베이스 복사,백업,이동[테이블 포함] (0) | 2022.06.13 |
[php,mysql] img파일 받기, 파일 생성, mysql 연동하기 (0) | 2022.06.02 |
[mysql,php] 간단한 로그인,로그아웃 만들어보기 (0) | 2022.05.30 |
[mysql,php] 쿠키,세션 생성 (0) | 2022.05.30 |