23.04.05 수 18일차
수업내용
자료실 테이블 만들기(복습)
list.php
첨부파일이 없을 때
기본 이미지 출력
if ($imgName!=null || $imgName!=""){
if (file_exists("./files/$imgName")){
// 파일의 이름만 가져온다.(김춘배이오)
$f_name = basename($imgName, strrchr($imgName, '.'));
echo "f_name:" .$f_name ."<br>";
$time = date("His", time());
echo "time:" .$time ."<br>";
// 점(.)부터 확장자를 가져온다(.png)
$ext=strrchr($imgName,'.');
echo "ext:" .$ext;
$imgName = $f_name."_".$time.$ext;
}
move_uploaded_file($imgFile, "./files/$imgName");
} else{
$imgName = "space.png";
}
delete.php
이미지 파일명이 Space.png가 아닐때
파일 삭제
<?php
$idx = $_REQUEST['idx'];
$img = $_REQUEST['img'];
if($img != "space.png"){
unlink("./files/$img"); // 파일삭제
}
?>
edit_ok.php
이미지 이름이 공백이거나, space.png가 아닐 때
삭제 동작
이미지 미첨부 파일 수정 시
기본 이미지가 덮어쓰기되어 삭제되지 않도록설정
if($img!="" && $img!="space.png"){ // 두조건 모두 참 일때
unlink("./files/$img"); // 파일삭제
}
첨부파일이 파일명이 공백이 아닐 때 업로드 동작
(공백일 경우 첨부파일이 없는경우)
if($imgName != ""){
$SQL = "UPDATE member0403 ";
$SQL = $SQL . " SET name='$name', pwd1='$pwd1,'";
$SQL = $SQL . " age='$age', etc='$etc', img='$imgName'";
$SQL = $SQL . " where idx='$idx'";
}else{
$SQL = "UPDATE member0403 ";
$SQL = $SQL . " SET name='$name', pwd1='$pwd1',";
$SQL = $SQL . " age='$age', etc='$etc'";
$SQL = $SQL . " where idx='$idx'";
}
list.php
검색창 생성 후
검색 내용에 따른 검색 내용 출력 쿼리문 설정
--각 값 불러오기
$ch1 = $_REQUEST['ch1'];
$ch2 = $_REQUEST['ch2'];
-- 조건문 설정
if($ch1 == "" || $ch2==""){
$SQL= "select * from member0403 order by idx desc";
}else if($ch1 =='name'){
$SQL= "select * from member0403 where name like '%$ch2%'";
}else if($ch1 == 'age'){
$SQL= "select * from member0403 where age like '%$ch2%'";
}
-- 리스트 개수 설정 함수
limit 시작위치, 개수
ex)
$SQL= "select * from member0403 order by idx desc limit 0, 7";
-- 검색창 생성
<form>
<select name=ch1>
<option value=name>이름</option>
<option value=age>나이</option>
</select>
<input type=text name=ch2>
<input type=submit value="검색하기">
</form>
list.php
이전 , 다음 버튼으로 검색창 5개씩 노출
$num = $_REQUEST['num'];
if($_REQUEST['num']==''){
$num=0;
}else{
$num=$_REQUEST['num'];
}
<?if($num==0){?>
  이전
<?}else{ ?>
  <a href=psd_list0403.php?num=<?=$num-5?>>이전</a>
<? } ?>
  <a href=psd_list0403.php?num=<?=$num+5?>>다음</a>
-- 카운트 쿼리문 작성
$count = "select count(*) tc from member0403"; // 쿼리문 (별칭필수)
$result_count = $conn -> query($count); // 쿼리문
$row_count = $result_count -> fetch_assoc(); // 실행문
<div id="title"> PHP 자료실 목록보기 (전체레코드:<?=$row_count['tc']?>) </div>
<? if ($num +5 < $row_count['tc']){?>
  <a href=psd_list0403.php?num=<?=$num+5?>>다음</a>
<? }else{?>
  다음
<?}?>
<a href=psd_list0403.php?num=0>처음으로</a>
insert.php
<? include $_SERVER["DOCUMENT_ROOT"]."/include/top0403.php" ?>
<? include $_SERVER["DOCUMENT_ROOT"]."/include/dbconn0403.php" ?>
<section>
<br/>
<div align=center>
<?php
$conn = new mysqli($servername, $username, $password, $dbname);
// 난수를 이용한 임의 랜덤 자료 추가하기
for($i=1; $i < 11; $i++){
$name_rand = mt_rand(0,10);
$name_rand2 = mt_rand(111,999);
$nameArr = array("영심이","하늘이","둘리","하니","지효",
"바다","강산","파이","구름","바람이");
$pwd_rand = mt_rand(1111,9999);
$age_rand = mt_rand(1,30) ;
$name = $nameArr[$name_rand].$name_rand2; // 배열값 호출
$pwd1 = $pwd_rand;
$age = $age_rand;
$etc = '특이사항 없음';
$imgName = 'space.png';
// 값 입력 쿼리문 작성
$SQL= "INSERT INTO member0403 (name, pwd1, age, etc, img)";
$SQL= $SQL . " VALUES ('$name','$pwd1','$age','$etc','$img')";
$conn->query($SQL);
echo $i . ""; //값 입력 동작 확인
}
$conn->close();
?>
</div>
<br/>
</section>
<? include $_SERVER["DOCUMENT_ROOT"]."/include/bottom0403.php" ?>
오늘은 랜덤 더미 파일 생성과 하단 버튼동작 조건문이 기억에 남는다.
개인적으로 동작을 해보라는 강사님 말에 어려움을 느꼈고,
코드를 작성하는 부분에 어려움이 있었다.
그래도 오늘 방법을 알게되었으니 다시 작성해보며 복습을 했다.
이해와 암기를 동시에 병행하도록 해야겠다.
그래도 성취하는 재미를 알았으니 더 노력해야겠다!