🔓데이터베이스/SQL

기초닦기[여러가지 기본 php동작예시들]

하얀성 2023. 10. 28. 21:10

참고: 저렇게 php 파일을 불러올 때 db에 클래스와 table이 저장되어 있고, 경로및 이름을 맞게 설정했다면

db에서 use class 사용하지 않아도 무리없이 잘 출력할 수 있음.

 

 


mysql 데이터 타입

 

 Field   | Type         | Null | Key | Default | Extra |
+---------+--------------+------+-----+---------+-------+
| name    | varchar(20)  | YES  |     | NULL    |       |
| phone   | varchar(20)  | YES  |     | NULL    |       |
| address | varchar(100) | YES  |     | NULL    |


input.php

 

<?
   echo("
      <form method=post action=process.php>
      이름: <input type=text size=10 name=iname><br>
      전번: <input type=text size=20 name=iphone><br>
      주소: <input type=text size=50 name=iaddress><br>
      <input type=submit value='주소등록'>
      </form>
   ")
?>

process.php [input에서 입력한 값을 db에 저장시키는 코드]

 

<?
	$con = mysql_connect("localhost","root","apmsetup");
	mysql_select_db("class",$con);
	mysql_query("insert into addressbook values('$iname','$iphone','$iaddress')",$con);
	mysql_close($con);
	
	echo("<meta http-equiv='Refresh' content='0; url=show.php'>");
?>	

show.php [모든 결과값들을 나타내주는 곳]

<?
	$con = mysql_connect("localhost", "root","apmsetup");
	mysql_select_db("class", $con);
	
	$sql = "select*from addressbook";
	$result = mysql_query($sql, $con);//select 쿼리문 사용가능. 
	$total = mysql_num_rows($result); // 쿼리문을 통해 불러온 레코드의 열갯수를 셈
	
	echo("<center><h2>주소록</h2>");
	
	echo("<form method=post action=search.php>
		<select name=ifield>
			<option value='name'>이름</option>
			<option value='phone' selected>전화번호</option>
			<option value='address'>주소</option>
		</select>
		<input type=text name=ikey size=15>
		<input type = submit value='검색'>
		</form>");
	echo("</center>");
	
	
	$i = 0; //초기화
	while ($i < $total):
			$oname = mysql_result($result, $i, "name");
			$ophone = mysql_result($result, $i, "phone");
			$oaddress = mysql_result($result, $i, "address");
			echo ("[<a href=modify.php?mname=$oname>MOD</a>][<a href=delete.php?dname=$oname>DEL</a>]$oname - $ophone - $oaddress<br>");
			$i++;
		endwhile;
		
		//echo ("<a href=input.php>주소입력</a>");
		
		mysql_close($con);
		
		//input.php값 합침.
		echo("
		<form method=post action=process.php>
		이름: <input type=text size=10 name=iname><br>
		전번: <input type=text size=20 name=iphone><br>
		주소: <input type=text size=50 name=iaddress><br>
		<input type=submit value='제출'>
		</form>
	");
		
?>

modify.php [값 수정코드] [localhost/class2/modify.php ]

[이런식으로 직접들어가면 오류가 발생하니 연결되있는 곳으로 들어가자] 

<?
	$con = mysql_connect("localhost","root","apmsetup");
	mysql_select_db("class", $con);
	
	$result = mysql_query("select * from addressbook where name='$mname'",$con);
	$oname = mysql_result($result,0,"name");
	$ophone = mysql_result($result,0,"phone");
	$oaddress = mysql_result($result,0,"address");
	
	echo("
		<form method=post action=process2.php?mname=$oname>
		이름: <input type=text size=10 name=iname value='$oname'><br>
		전번: <input type=text size=20 name=iphone value='$ophone'><br>
		주소: <input type=text size=50 name=iaddress value='$oaddress'><br>
		<input type=submit value='수정완료'>
		</form>
	");
	
	mysql_close($con);
?>

process2.php [modify에서 수정한 값을 db에 적용시켜줌.]

 

<?
	$con = mysql_connect("localhost","root","apmsetup");
	mysql_select_db("class", $con);
	
	mysql_query("update addressbook set name='$iname', phone='$iphone', 
	address='$iaddress' where name='$mname'", $con);
	mysql_close($con);
	
	echo("<meta http-equiv='Refresh' content='0; url=show.php'>");

?>

delete.php [삭제및 db에도 적용시킴]

 

show.php에서 삭제버튼을 누르면 삭제

<?
	$con = mysql_connect("localhost","root","apmsetup");
	mysql_select_db("class", $con);
	
	mysql_query("delete from addressbook where name='$dname'",$con);
	
	mysql_close($con);
	echo("<meta http-equiv='Refresh' content='0; url=show.php'>");
	
?>

search.php[키워드 검색을 통해 키워드가 속한 리스트를 찾아줌]

[검색결과 및 show.php로 가는 링크도 아래에 추가해줌]

<?
	$con = mysql_connect("localhost","root","apmsetup");
	mysql_select_db("class", $con);
	
	$result = mysql_query("select * from addressbook where $ifield like '%$ikey%'", $con);
	$total = mysql_num_rows($result);
	
	$i = 0; //초기화
	while ($i < $total):
		$oname = mysql_result($result, $i, "name");
		$ophone = mysql_result($result, $i, "phone");
		$oaddress = mysql_result($result, $i, "address");
		echo ("$oname - $ophone - $oaddress<br>");
		$i++;
	endwhile;
	
	echo ("<a href=show.php>전체리스트</a>");
	
	mysql_close($con);

?>