'php 강좌'에 해당되는 글 5건

  1. 2013.07.22 PHP AJAX XML 연동
  2. 2013.07.11 PHP Mysql Update 구문 (1)
  3. 2013.06.18 PHP $_GET, $_POST
  4. 2013.06.10 PHP switch ~ case 구문
  5. 2013.05.29 php 소개

 

이번장에서는 PHP AJAX XML 연동에 대해서 알아보겠습니다.  

 

PHP 구문에 AJAX를 이용해서 XML 데이터를 불러들이는 방식입니다. 이전 포스팅에서는  DB를 불러들이는 방식이었는데  DB 대신 XML 데이터를 가지고 온다고 생각하면 되겠습니다.

 

예제를 보면서 설명드리겠습니다. html 파일 1, ajax 파일 1, xml 파일 1 이렇게 총 3개의 파일이 필요합니다.

 

관련예제

HTML 파일

------ html.php ------

<html>
 <head>
 <script>
 function showNAME(str)
 {
 if (str=="")
   {
   document.getElementById("txtHint").innerHTML="";
   return;
   }
 if (window.XMLHttpRequest)
   {
 

   // code for IE7+, Firefox, Chrome, Opera, Safari
   xmlhttp=new XMLHttpRequest();
   }
 else
   {
 

   // code for IE6, IE5
   xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
   }
 xmlhttp.onreadystatechange=function()
   {
   if (xmlhttp.readyState==4 && xmlhttp.status==200)
     {
     document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
     }
   }
 xmlhttp.open("GET","ajax_php.php?q="+str,true);
 xmlhttp.send();
 }
 </script>
 </head>
 <body>
 

 <form>
 Select a CD:
 <select name="cds" onchange="showNAME(this.value)">
 <option value="">Select NAME : </option>
 <option value="Lee Bo Young">Lee Bo Young</option>
 <option value="Um Ji Won">Um Ji Won</option>
 <option value="Lee Min Jeong">Lee Min Jeong</option>
 <option value="O Ji Eun">O Ji Eun</option>
 <option value="Su Ji">Su Ji</option>
 <option value="I U">I U</option>
 </select>
 </form>
<div id="txtHint"><b>Name info will be listed here...</b></div>

 </body>
 </html>

// 이름을 선택하면 이름에 대한 정보가 나옵니다.

 

AJAX 파일

------ ajax.php ------

<?php
 $q=$_GET["q"];

 $xmlDoc = new DOMDocument();
 $xmlDoc->load("xml.xml");

 $x=$xmlDoc->getElementsByTagName('ARTIST');

 for ($i=0; $i<=$x->length-1; $i++) {
 if ($x->item($i)->nodeType==1)   {
   if ($x->item($i)->childNodes->item(0)->nodeValue == $q) {
     $y=($x->item($i)->parentNode);
     }
   }
 }
 

 

 $cd=($y->childNodes);

 for ($i=0;$i<$cd->length;$i++) { 
 if ($cd->item($i)->nodeType==1)  {
   echo("<b>" . $cd->item($i)->nodeName . ":</b> ");
   echo($cd->item($i)->childNodes->item(0)->nodeValue);
   echo("<br>");
   }
 }
 ?>

//xml.xml 파일을 불러들여서 선택된 $q 값과 xml의 값을 비교하여 같은 정보를 가져옵니다.

 

XML 파일

------ ajax_php.xml ------

<?xml version="1.0" encoding="ISO-8859-1"?>

<!-- Edited by XMLSpy® -->
<CATALOG>
 <CD>
  <JOB>Telent</JOB>
  <ARTIST>Lee Bo Young</ARTIST>
  <HOMETOWN>In Cheon</HOMETOWN>
  <BODY>168cm, 48kg</BODY>
  <BIRTH>1979. 1. 12</BIRTH>
 </CD>
 <CD>
  <JOB>Telent</JOB>
  <ARTIST>Um Ji Won</ARTIST>
  <HOMETOWN>DaeGu</HOMETOWN>
  <BODY>170cm, 48kg</BODY>
  <BIRTH>1977. 12. 25</BIRTH>
 </CD>
 <CD>
  <JOB>Telent</JOB>
  <ARTIST>Lee Min Jeong</ARTIST>
  <HOMETOWN>Seoul</HOMETOWN>
  <BODY>167cm, 49kg</BODY>
  <BIRTH>1982. 2. 16</BIRTH>
 </CD>
 <CD>
  <JOB>Telent</JOB>
  <ARTIST>O Ji Eun</ARTIST>
  <HOMETOWN>Seoul</HOMETOWN>
  <BODY>165cm</BODY>
  <BIRTH>1990</BIRTH>
 </CD>
 <CD>
  <JOB>Singer</JOB>
  <ARTIST>Su Ji</ARTIST>
  <HOMETOWN>GwangJu</HOMETOWN>
  <BODY>168cm, 47kg</BODY>
  <BIRTH>1994. 10. 10</BIRTH>
 </CD>
 <CD>
  <JOB>Singer</JOB>
  <ARTIST>I U</ARTIST>
  <HOMETOWN>Seoul</HOMETOWN>
  <BODY>161.8cm, 44kg</BODY>
  <BIRTH>1993. 5. 16</BIRTH>
 </CD>
</CATALOG>

// 여자연예인 XML 정보입니다. 이렇게 하면 더 쉽게 다가오지 않을까 해서 일부러 여자 연예인을 예로 들어봤습니다.

 

위 3개의 파일이 연동되어 실시간 XML 파일의 정보를 가져옵니다.

 

 

 

 

예제를 직접 코딩해보고 응용을 해보기 바랍니다. 개발자는 계속적인 학습이 없으면 언제든지 도태될 수 있습니다.

 

혹시 오타 또는 오류 발견시 댓글, 쪽지 주시면 바로 수정해놓겠습니다.

 

 

'PHP > PHP and AJAX' 카테고리의 다른 글

PHP AJAX RSS Reader 구문  (0) 2013.07.24
PHP AJAX Live Search 구문  (0) 2013.07.23
PHP AJAX XML 연동  (0) 2013.07.22
PHP AJAX 데이터베이스 연동  (9) 2013.07.19
PHP AJAX 구문  (0) 2013.07.18
Posted by 진격의 파파

댓글을 달아 주세요

 

이번장에서는 Mysql Update 구문에 대해서 포스팅하겠습니다. 

 

update 문은 테이블의 데이터를 수정하는데 사용됩니다.

 

기본구문

UPDATE table SET

column1 = value,

column2 = value2,...
WHERE column = value

// 업데이트 구문에서 중요한 점은 where 입니다. 만약 where 구문이 없다면 모든 값이 변경되게 됩니다. 가끔 졸코(졸면서 코딩)할때 무심코 업데이트를 잘못해서 모든값이 생각과 다르게 변경될 경우가 있는데 만약 백업 DB가 없었다면, 그리고 정말 중요한 고객데이터를 건드렸다면 나 자신과 회사에 엄청난 큰 손실을 입게 됩니다.

그래서 예전부터 전 간단한 update 구문이라도 약간의 번거로움이 있어도 우선 select 구문으로 우선 테스트를 한 후 값이 제대로 나올경우 update를 합니다.

 

select 로 테스트를 한다는게 무슨말인가 하면..

위 구문 보면

update table set ....

이렇게 시작하는데 이것을

select column1, column2 from table where column = value...

이런식으로 값을 제대로 가지고 오는지 우선 알아본후 다시 update 구문을 실행시킵니다. 조금 복잡한 구문이라면 update 를 실행하기전 필히 select 로 테스트 하는게 좋습니다. 한순간의 실수는 엄청난 사고로 이어질수 있습니다.

 

그럼 이제 PHP 구문안에서 테이블의 데이터를 바꾸는 방법에 대해서 알아보겠습니다.

우선 데이터베이스를 연결하고, mysqli_query 로 update 구문을 실행시킵니다.

persons 테이블의 값이

 user_name

 age

 Park

 38

 Lee

 36

 Song

 42

위처럼 들어있다고 가정하고 'user_name' 이 'Song' 인 값을 찾아서 'age' 의 값을 37로 변경하는 update 구문을 만들어보겠습니다. 지금껏 php 포스팅을 꾸준히 보셨다면 어느정도 감이 딱 오지 않을까 예상해봅니다. ㅎ

 

<?php
$conn = mysqli_connect("localhost","user_id","user_pwd","test_db"); // 데이터베이스 연결

 

if (mysqli_connect_errno()){
 echo "MySQL 연결 실패 : " . mysqli_connect_error();
}

mysqli_query($conn,"UPDATE Persons SET Age = 37 WHERE user_name = 'Song'"); 

// user_name 의 값이 song 을 찾아서 age = 37 로 변경합니다. 

mysqli_close($conn);
?>

 user_name

 age

 Park

 38

 Lee

 36

 Song

 37

// 테이블의 값을 확인하면 위처럼 변경된 부분을 확인할 수 있습니다. 

 

테이블을 만들고 직접 테스트를 해보고 값이 변경되는것을 직접 경험해본다면 PHP, Mysql 에 아마도 점점 더 재미를 느끼지 않을까 생각해봅니다. 천재는 노력하는자를 이지기 못하며 노력하는자는 즐기는자를 이기지 못한다~ ㅎㅎ; 

 

중간에 혹시 오타, 오류가 있으면 댓글주시면 감사하겠습니다. 오타, 오류 안내려고 노력하는데 이게 참 쉽제 않네요 ^^;;  

 

어땟든 오늘도 즐거운 하루 되시길~~ 바랍니다~~

 

 

'PHP > PHP Database' 카테고리의 다른 글

PHP Mysql delete 구문  (2) 2013.07.12
PHP Mysql Update 구문  (1) 2013.07.11
PHP MySQL Order By(정열) 구문  (0) 2013.07.10
PHP Mysql Where 구문  (0) 2013.07.09
PHP Mysql Select 구문  (0) 2013.07.08
PHP Mysql insert into 구문  (0) 2013.07.05
Posted by 진격의 파파

댓글을 달아 주세요

  1. yym 2018.02.13 02:00  댓글주소  수정/삭제  댓글쓰기

    php 관련 정보 찾다가 들어왔는데 정리랑 설명이 참 잘 되어 있는 것 같아요 ㅎㅎ 감사합니다.

 

이번장에서는 이전 포스트에서 미리 예고드린바 있는 PHP $_GET, $POST 방식에 대해서 알아보겠습니다.

기본적으로 <form></form> 방식에서 사용하는 방법에는 GET 방식과 POST 방식 두 가지가 있습니다.

 

먼저 GET 방식에 대해서 말하겠습니다.

 

GET 방식은 폼값을 다른 페이지로 넘길 경우 상단 주소 표시줄에 변수와 변수값이 모두 노출됩니다.

 

예를들어

<form action="info.php" method="get">
이름 : <input type="text" name="user_name">
나이 : <input type="text" name="user_age">
< input type="submit">
< /form>

// submit 버튼을 누르면 이름과 나이의 값을 info.php 페이지로 전송을 하게 되는데

그때 상단 주소창에 http://blog.naver.com/makand123/info.php?name=Park&age=38 이런식으로 표시됩니다.

그래서 보안에 상당한 위험이 있습니다. 암호 또는 기타 민감한 전송에 사용하지 말기를 바랍니다. 왜냐하면 누군가 주소 표시줄을 보게되면 그 사람의 아이디, 비밀번호 등이 나타나게 되어 그것을 도용할 수도 있기 때문입니다.

그런데 왜 굳이 설명을 하는가 하면 GET 방식이 POST 방식에 비해 빠르기 때문에 간단한 요청을 할 경우 GET 방식이 더 유용하게 사용됩니다. 예를들어 http://makand.tistory.com/123 이렇게 간단한(보안을 요하지 않는) 사용할 경우에 유용합니다. 그리고 GET 방식은 페이지 북마크에 유용하게 사용됩니다.

값을 가져올 경우 GET 방식으로 넘어왔기 때문에

<?

echo "이름은". $_GET["user_name"]."<br />";

echo "나이는". $_GET["user_age"];

?>

처럼 $_GET 으로 변수값을 가져오면 됩니다.

--------------------------------------------------------------------------------------------

POST 방식은 폼값을 다른 페이지로 넘길 경우 다른 사람에게 보이지 않게 전송가능합니다. 그리고 보내는 양에 제한이 없지만 기본적으로 8M를 전송할수 있습니다. 이 용량을 변경하기 위해선 PHP.INI 파일에서 post_max_size 설정하여 변경할 수 있습니다.

 

예를들어

<form action="info.php" method="post">
이름 : <input type="text" name="user_name">
나이 : <input type="text" name="user_age">
< input type="submit">
< /form>

// 마찬가지로 submit 버튼을 누르면 이름과 나이의 값이 전송되는데 그때 상단주소창엔 get 방식과 틀리게 http://blog.naver.com/makand123/info.php 처럼 나타나게 됩니다.

그리고 값을 가져올 경우 POST 방식으로 넘어왔기 때문에

<?

echo "이름은". $_POST["user_name"]."<br />";

echo "나이는". $_POST["user_age"];

?>

처럼 $_POST 로 변수값을 가져오면 됩니다.

요약 정리 하면 GET 방식은 POST 방식에 비해 전송 속도가 빠르고 간단한 정보를 보내기 위해 사용이 유용하며,

POST 방식은 GET 방식에 비해 전송 속도가 조금 느리지만 보안된 내용을 보낼때 매우 유용합니다.

 

다음장에선 PHP 고급기능에 대해서 설명하겠습니다. (뭐 말이 고급기능이지 크게 어려운건 없습니다 ^^)

 

'PHP > PHP Basic' 카테고리의 다른 글

PHP $_GET, $_POST  (0) 2013.06.18
PHP Form 구문  (1) 2013.06.17
PHP Function(함수)  (0) 2013.06.14
PHP 반복문(while, for, foreach)  (0) 2013.06.13
PHP Sorting Arrays(정렬 배열)  (0) 2013.06.12
PHP Array(배열) 문법  (0) 2013.06.11
Posted by 진격의 파파

댓글을 달아 주세요

 

이번장에서는 switch ~ case에 대해서 알아보겠습니다.

이전장에서 포스팅했던 if ~ else 구문과 비슷한 형태라 보시면 됩니다. switch ~ case 역시 if 구문과 마찬가지로 비교구문에 사용되는 함수입니다. if 문으로 길어지는 구문을 축약시킬경우 유용한 사용방법입니다. 보통 if 구문이 3개 이상일 경우 switch 구문을 사용하는게 효과적이라고 합니다. 그리고 소스를 줄여줄수 있기때문에 많이 사용되는 함수라 보면 되겠습니다.

코딩을 많이 하다보면 어느때 if 구문이 좋은지 switch가 좋은지 판단할 수 있을거라 생각합니다.

switch ~ case 예제구문

<?php
$i="2";
switch ($i) {
case "1":
echo "이 숫자는 1입니다!";
break;
case "2":
echo "이 숫자는 2입니다!";
break;
case "3":
echo "이 숫자는 3입니다!";
break;
default:
echo "이 숫자는 여기 없습니다!";
}
?>

// 위 구문을 살펴보면 변수 $i 값에 "2"라는 값이 들어가 있고, switch ~ case 구문에서 비교를 하게됩니다. 현재 2라는 값이 있기때문에 출력되는 값은 물론 "이 숫자는 2입니다!"가 출력됩니다. 하지만 만약 값이 "5"라고 했을경우 해당하는 값이 없기때문에 default 구문의 "이 숫자는 여기 없습니다!"가 출력되게 됩니다.

그리고 switch 구문도 and 연산자 처럼 처리가 가능합니다.

<?php
switch ($i
) {
case
0
:
case
1
:
case
2
:
echo
"i는 3보다 작다"
;
break;
case
3
:
echo
"i는 3과 같다"
;
}
?>

// 위 구문의 특이점은 case 구문이 연속하여 들어간것을 볼 수 있는데 0, 1, 2의 값을 동시에 비교 합니다. 제가 코딩하면서 위 코딩을 종종 사용하는데 가끔 어떻게 사용하는지 기억이 안날경우가 종종 있더라구요. 그래서 이렇게 예제를 하나더 추가해 봅니다.

switch 함수도 매우 자주 사용되는 함수입니다. 익혀두면 코딩시 유용합니다.

다음장에서는 PHP Arrayt(배열)에 대해서 알아보겠습니다.

'PHP > PHP Basic' 카테고리의 다른 글

PHP Sorting Arrays(정렬 배열)  (0) 2013.06.12
PHP Array(배열) 문법  (0) 2013.06.11
PHP switch ~ case 구문  (0) 2013.06.10
PHP IF ~ ELSE 문  (0) 2013.06.07
PHP 연산자  (0) 2013.06.05
PHP String (문자열 변수)  (2) 2013.06.04
Posted by 진격의 파파

댓글을 달아 주세요

php 소개

PHP/PHP Basic 2013.05.29 10:56

 

2003년부터 2005년 말까지 asp로 코딩을 하다가 2005년말 입사한 회사가 php코딩을 사용중이라 그때부터 처음 php를 시작하여 지금까지 계속 코딩하는 중입니다.

asp를 하다가 php로 넘어가는게 처음엔 쉽지 않았는데 확실히 같은 웹 언어이기에 금방 적응이 되더라구요. 또 PHP가 사용하기 훨씬더 쉬웠습니다. 뭐 어쨋든 제가 알고있는 지식과 기타 웹사이트를 뒤져가며, PHP 기초 부분부터 차근차근 설명해나가겠습니다.

모든 언어가 그렇듯 기본기만 있으면, 그 다음부터는 API를 찾아가며 스스로 학습이 가능합니다. 그래서 기본에 중점을 두고 설명하겠습니다. 약간의 웹언어 지식만 있으면 어렵지 않으니 금방 익숙해질수 있을거라 생각합니다.

 

PHP는 약자는 원래 "Personal Home Page"의 약자였는데 현재는 "Hypertext Preprocessor"로 사용됩니다.

그리고 PHP 널리 사용되는 오픈 소스 스크립트 언어입니다. PHP는 서버에서 실행되며, 무료 사용 가능합니다.

 

PHP언어는 초보자들이 쉽게 사용 가능하며, 다양한 고급 기능을 제공합니다.

PHP 파일은 기본적으로 .php, html, htm, php3등의 파일 확장자를 사용합니다. 그리고 네이버처럼 .nhn 이나 제가 가끔 사용하는 .pse 등의 다른 문구의 확장자를 만들수도 있습니다. 어떻게 확장자를 바꿀수 있는지에 대해서는 추후 포스팅하겠습니다. 어쨋든 여긴 php 소개니까요.

 

PHP 코드는 일반적으로 html 브라우저에서 사용합니다.

PHP 동적 페이지의 콘텐츠 생성 할 수 있습니다.
PHP는 생성, 열기, 읽기, 쓰기가 가능하며, 서버 파일을 닫을 수도 있습니다.
PHP 데이터를 수집 할 수 있습니다.
PHP 쿠키를 보내고 받을 수 있습니다.
PHP는 데이터베이스의 데이터를 수정, 삭제, 추가 할 수 있습니다.
PHP 사용자가 웹 사이트의 일부 페이지에 액세스를 제한 할 수 있습니다.
PHP 데이터를 암호화 할 수 있습니다.

PHP를 사용하는 여러가지 이유가 있습니다. 그 이유는

첫번재 PHP 다양한 플랫폼 (윈도우, 리눅스, 유닉스, OS X 등)에서 실행 가능합니다.
두번째 PHP (아파치, IIS 등) 오늘날 사용되는 거의 모든 서버와 호환됩니다
세번째 PHP는 넓은 범위의 데이터베이스에 대한 지원이 가능합니다.
네번째 PHP는 무료입니다. www.php.net : 공식 PHP 리소스를 다운로드 할 수 있는 사이트
다섯번째 PHP 배우기 쉽고, 서버 측에서 효율적으로 실행
합니다.

뭐 제가 php 매니아는 아닙니다만, 배운게 도둑질이라고 수 년간 php코딩을 해왔기에 php의 매력을 느낄수 있을것 같습니다.

이번장에서는 간단히 php가 무엇인가에 대한 소개만 하겠습니다.

다음장부터 PHP Install 에 대해서 알아보겠습니다.

'PHP > PHP Basic' 카테고리의 다른 글

PHP IF ~ ELSE 문  (0) 2013.06.07
PHP 연산자  (0) 2013.06.05
PHP String (문자열 변수)  (2) 2013.06.04
PHP 변수에 대하여  (2) 2013.05.31
PHP Syntax  (0) 2013.05.30
php 소개  (0) 2013.05.29
Posted by 진격의 파파

댓글을 달아 주세요