생활코딩 PHP와 MySQL의 연동 - 데이터를 HTML에 표현하기 (1/3) > PHP

PHP

PHP Web Programming 강의 리스트

생활코딩 | PHP와 MySQL의 연동 - 데이터를 HTML에 표현하기 (1/3)

본문

※ 영상을 선명하게 보기 안내
  1. 유튜브 영상에서 오른쪽하단에 톱니바퀴를 클릭합니다.
  2. 팝업목록에서 "품질" 선택하세요.
  3. 원하는 해상도를 선택해주세요.
※ 모바일에서 Wifi가 아니라면 데이타가 소진될 수 있으니 주의바랍니다.
생활코딩님의 PHP강의 청각장애인을 위한 자막
15444116165204.jpg

 이것이 가에는 어 토픽에 리스트를 보여주는 글 목록을 보여주는 페이지인

east 점 php 라고 하는 php 애플리케이션을 어떻게 구현 했는가에
대해서 제가 설명을 드리겠습니다
자 보시는 것처럼 제가 리스트 점
php 로 이렇게 접근하면 자 보시는 것처럼 왼쪽에 또 피게 리스트가
출력이 되고 있습니다
예 여기 있는 요 top 10 리스트는 당연히 데이터베이스에서 가져온
항목들이 겠죠
자 그럼 어떻게 이렇게 리스트를 보여 주는가 토픽을 보여주는가 살펴 볼
건데
자 우리가 이전 시간에 살펴본 것은 어 데이터를 추가하는 방법이었습니다
그러면 추가할 때 사용하는 sql 은 인써트
자 인써트 라는 거에 대해서 배웠고
자 인써트 라고 하는 sql 문을 어떻게 php 이용해서
데이터베이스 서버에 전송 하는가에 대해서 우리가 살펴 봤다면
자 이번 시간에 살펴볼 것은 조회
에 대해서 살펴볼 겁니다 어떻게 데이터베이스에 있는 데이터를 가져와서
화면에 출력할 것인가 에 대한 부분인데요
네 보시는 것처럼 이렇게 가져온 데이터 의 숫자가 하나가 아니죠
즉 여러 개의 데이터를 가져왔을 때 어떻게 화면에 이렇게 html 로
표현하는가 살펴볼 겁니다
그때 바로 배열과 반복문이 결합된 형태가 빛을 발휘하게 됩니다 우리 전에
문법 시간에 제가 배열과 베어를 설명 드리면서 배열이 라고 하는 것이
반복문 가 결합돼 쓸 때 어떤 강력한 효과를 낸다 라고 말씀드렸죠
바로 이 배열에 데이터베이스가 베어 데이터베이스에 저장되어 있던 정보가
어레이의 배열에
베어라 레 담겨서 제공이 되기 때문에 여러분은 그 배열에 있는 데이터를
포문 이나 y 문과 같은
반복문을 이용해서 그 배열 안에 담겨있는 값을

이용해서 데이터 이 화면을 구성할 수 있다는 것이죠
자 리스트 점 php 코드를 보면 어 아 코드를 보기 전에 test 점
php 는 두 가지 형태의 동작 방법을 같습니다
자 처음에는 리스트 점 php 라고 그냥 입력했을 때 순수하게 요기
아무것도 없을때 예 그게 하나구요
자 그런 경우에는 보시는 것처럼 법문에 아무것도 표시가 되지 않고
있습니다
그렇죠 자 그 다음에 여기에 있는 요 항목을 클릭했을때 유아 릴 어떻게
바뀌는지 보세요
자 클릭할 때마다 여기 있는 항목에 해당되는
데이터베이스 상에서 id 값이 id 라고 하는 이름으로 객 방식으로
인덱스 점 php 애플리케이션의
전달되고 있습니다 자 그렇다면 to list 2.php 라고 하는
php 는 자 두 가지 형태의 입력방법 을 갖습니다
자 첫 번째는 아이디는 9
보시는 것처럼 이런 식으로 id 에 값이
esteem php 애플리케이션이 실행될 때 입력 값으로 전달 되는
경우가 있고
자 그리고 또 하나는
어떤 값이 전달된 아요 없을 묻자 합니다
아무런 값도 전달이 되지 않는 그 두 가지의 상황에 따라서
리스트 점 php 는 내부적으로 다르게 동작한다.는 거죠 예 그 때
사용되는 것이 바로 조건이 사용될 겁니다 자 코드를 보면
자 우선 위의 우리가 이전 동영상에서 살펴봤더니 부분은 제가 길게
설명드릴 필요가 없을 것 같아요 거는 데이터베이스에 접속하고
데이터베이스를 선택하는 명령이 줘
자 그 다음에 여기 있는 마이 sql 언더바 커리 도리가 배웠는데
자 이번에 들어가는 sql 문은 셀렉트 별표 프롬 토픽 입니다
자 셀렉트 별표 프롬 토픽은 자 여기에 있는 utopia top 테이블에
있는 데이터를 데이터 중에서 모든 컬럼에 있는 데이터를 전체다 가지 와라
라는 뜻입니다
자 그럼 제가 이거를 이거를 mysql 클라이언트 에서 한번 실행을
시켜보면
자 붙여 넣기 했을 때 자 이런 식의 화면이 화면이 이렇게 출력이 되는
거죠 예 바로 요거를
2 php 에서 클라이언트가 되서 마이 sql 서버에 질의하고 그 결과를
어떻게 받아 오는가 를 살펴보는 게 우리의 목표입니다
자 여기 보시면 자 우선
어 마이 sql 쿼리에서
명령이 들어가면 여기에 있는 sql 문이 서버로 전송이 되겠죠
그러면 내부적으로 아주 복잡한 작업을 거쳐 서버에 접속이 되고 써 번
우리에게 어떠한 값을 리턴 하는데 개 바로 마이 sql 쿼리 라고 하니
함수의 리턴 값으로
값이 제공된다는 것이다 제공 된다는 겁니다
즉 이게 입력 값이 라면 여기 있는 요 함수에 대한 출력 값이 바로 딸라
리스트 비쥬얼 트라고 하는 저편 수에 담기게 된다 는 겁니다
예 자 그럼 서 변수에 담겨 있는 데이터가 실제로

우리 테이블에 담겨 있는 데이터 일까요 정확하게는 그렇지 않습니다 저는
걸고 또
리 소스 형식의 데이터 라고 하는데 그거 지금 설명드리고 복잡하니까
그거는 이렇게 생각하세요 않은 데이터가 실제로 들어 있는 것니라 그
데이터가 들어가 있는

위치 또는 그 데이터를 식별하는 식별자 만들어 가 있다 이렇게 생각하시고
제가 지금 설명드리는 이 말이 잘 이해가 안 가시면
그냥 데이터가 들어 있다고 생각하셔도 됩니다
자 그런데 여기 있는 요 것을 처리하는 건 다소 복잡해요 그래서 예외를
처리하는 방법을 보여 드려 면 제가 여기서 액시스 라고 프로그램을
종료하게 씁니다
그리고요 안에다가 어 임시로
애가 동작하는 방법을 간단하게 제가 설명하기 위한 코드를 넣어 볼게요 자
우선
마이 sql 패치 어레이 라고 하는 함수가 있습니다

또는 la
자 그리고 이 mysql 패치 어레이 라 남순은
리스트 언더바 리조트라고 하는 저 mysql 커리가 l 단 값을 받도록
되어 있습니다
즉 my sql 쿼리가 어떤 값을 리턴할 거잖아요
바로 그 리턴된 값을 마이 sql 쿼리의 커 립 어레이 에 입력 값으로
받도록 약속되어 있다고 봅니다
자 그리고 제가 mysql 패치 어레이 가 리턴한 값이 또 있는데 그
값을 한번 화면에 출력해 볼게요

자 lo 헬기 란 뜻이죠 제거를
tester
자 요렇게 한 다음에
제가 php 를 실행을 시켜 보겠습니다
자 뭔가 출력이 됐죠 자 내용을 보면 이렇게 생겼습니다
아이디는 229 타이틀은 a 뭐고 디스크 액션은 뭐고 qat 드는 뭐다
라고 되어 있죠 자 이 정보는 뭘까요
자 이 정보는 우리가 mysql 클라이언트로 조회 했을 때 나온 정보의
내용이 있네요
자 이 중에서 id 값이 2인 행은 요거 줘
자 그렇기 때문에 얘는 규 만큼 이 같은 행위입니다
자 그럼 여긴 2 id 값이 인생의 타이틀은
요 거잖아요 그게 바로 요 겁니다
그리고 여기 있는게 본문 stf 몸 오잖아요 빨고 게요 보구요
그리고 시간은 끝에 21초 로 끝나죠 얘도 22초 로 끝납니다
바로 요 배열 안에 이 배열 안에

배워라 요이 id 값이 이번 인 행에 데이터가 담겨 있는 것이죠
작은데 0 1 2 3 이렇게 돼 있는 것은
값이 같습니다 예 그래서 여러분이 만약에 여기 있는 요 페어리 배열에
있는 어떤 특정한 필드에 해당 되는 값을 가져올 때는
자 예를 들면 저 배열의 이름이
서 배열이 로우 라는 변수에 담겨 있다면 id 값을 가족 가져오는 방법은
첫번째
id 라고 하셔도 얘는 2가 됩니다
또한 알 방법은 로브
0 이라고 해도 애가 없으니 가 된다는 거죠 이 두가지는 정확하게
일치하는 방법입니다
이제 우리가 아
mysql 패치 어레이 라고 한 함수를 실행을 하게 되면 그 인자로
전달된
이 결과에 데이터 중에서 하나의 행을 가져옵니다
하나의 이건 뭐죠
그리고 그 행에 대한 값은
배열로 저장이 되어 있고 우리가 그 배열에 있는 값을 가져올 때는 예
이름이나
숫자 얘도 숫자인 인덱스로
가져올 수 있다는 거죠 숫자 인덱스 해요 자 그럼 제가 여기서
에코 하고서
id 라고 하고 이렇게 하면 결과 무엇일까요
실행시켜 보면
잡으시면 cd 가 출력이 됩니다 마찬가지로
여기에 있는 id 라 동안 id 대신에
인덱스 0 을 놓고 실행시켜 보면 똑같이 2 가 출력되는 것을 볼 수
있습니다
본인이 본인이 선호하는 방식으로 데이터를 가져 오면 된다는 거죠
자 그러면 여기 mysql 패치 어라 이라고 하는 저 함수의 어떤 성질에
대해서 조금만 더 올리니 살펴보도록 하죠
자 제가 이렇게 해서 실행을 하게 되면
자요 것의 결과는
하나의 행을 베어라 내 다음주 초
그리고 저는 어 저기 배열에 0이나 또는 id 라고 하는
인덱스를 통해서 어 그 행에 대한
어 id 값을 얻을 수가 있습니다 또는 title 라고 해서 타이틀을
얻을 수도 있겠죠
참파 탓이 한번 살펴보면
자 보시는 것처럼 타이트 값이 들어왔습니다
그런데 여기 제가 내용을 너무 대충 넣어가지고 좀 내용이 이쁘지 같네요
그래서 제가 내용을 조금 수정하겠습니다 우리가 좀 이해할 수 있게요
자 제가 여기 기존에 있었던 내용을 한번 싹 줄게요
너무 더럽혀 줬어요 엘리트 프럼 top
그리고 쓰 세미콜론 하고 엔터를 땅 치면 져 토픽 테이블에 있는 모든
데이터가 삭제가 됩니다
그래서 딜리트 명령은 아주 위험해요 조심하셔야 됩니다
자 그럼 1줄기 삭제가 됐다고 나오죠 제갈 고를 리로드를 해보면
보시는 것처럼 예 데이터가 없기 때문에 이렇게 에러가 뜨는 것니라
우리가 코드를 이렇게 바꿨기 때문에 에러가 뜨는 거죠
지금 저처럼
자 여기에 뉴멕시코 드 있죠 섹시 코드가 있기 때문에
뒤에 끼 실행이 안 된 겁니다 자세가 나 이렇게 있는 내용을
이렇게
자 우리가 테스트용으로 작성한 코드를 3 일단은 없앤 겁니다
자 이렇게 깨끗한 상태가 나오죠 자 첫 번째는 1점
html html 이란
자 그 다음에는 2점 css css 란
3개만 할게요 3.5
자바스크립트
자바스크립트 이란
자 이렇게 해서 제가 조금 깔끔한 형태로 데이터를 새로 재구성을 했습니다
그리고 아까 우리가 살펴봤더니 코드를 다시 살려서
여기 주석으로 되어 있는 부분과 객실 술 살게요
자 그럼 그 결과는 html 이 출력이 됐습니다
자 그러면 제가 여기서
유 캔과 7 행에 있는 이 코드를 그대로 카피해서 한번 더 실행 시킨다
고 하면 여기 있는 시 팽 에 있는 로우 안에는 어떠한 데이터가 담겨져
있을까요
그것은 이것을 실행 해보면 알겠죠
자 한번 예상을 해 보시고 제가 실행을 해보죠
자일 첨 html 그리고 이 점 씨의 셀 수가 떴습니다
자 1점 html 이 점 css 라고 하는 것은 뭔가요
보시는 것처럼 현재
여기 있는 첫 번째
이점 html 이 바로 요 것이고 이 점 css 가 바로 요 거죠 자 그
얘기는 무슨 뜻이냐면
제가
이 코드를 실행한 결과가
이 것이고
이것의 결과가
이 것이잖아요 예 그 얘기는 뭐냐면
mysql 패치 어레이를 실행할 때마다
달러로 라고 하는 변수에 담겨있는 값이
1 행 씩
1 행 씩 한 응 씩 담겨 지게 된다는 것이죠
그래서
겨울 실행하면 1호 에는 요게 담겨 있고 그리고 두번째로 에는 요게 담겨
있는 거죠
제가 선에 좀 복잡하게 했는데 에 충분히 흐름을 연결할 수 있을 거라고
생각하겠습니다 이 부분이 가장 고비 기 때문에 제가 천이 달라고 여러분
중복적으로 한 겁니다
자 그렇게 해서 우리가 뭘 할 수 있냐면
자 이렇게 3번 호출을 하면 모든 행에 대한 정보를 화면에 표시를 할
수가 있습니다
그렇죠 그리고
여기에다 각각
html 문법을 좀 틀리는 겁니다 지금 제가
2 l
그리고
php 를 시작하고
또 php 를 끝내고
이후에 이렇게 한 다음에 에코 에다가
ali 좀
li 이렇게
자 이렇게 하면 어떻게 될까요
예 뒤에 있는 부분은
php 로 시작했죠
그래야지 요 그간 요기요기 만 중요한 겁니다 나머지는 다 붓이 하세요
자 그러면 보시는 것처럼 이렇게 화면에
요 테이블에 담겨있는 요 값들이
그대로 화면에 출력되게 되는 겁니다
자 이렇게 하면 되는 거예요 자 그런데 문제는 뭐냐면
만약에 이 테이블에 새로운 행을 추가했다
그러면 코드를 어떻게 바꿔야 되나요
그러면
이 코드를 한줄도 카피 앤 페이스트 에서 복사해야 됩니다
또는
여기 있는 특정한 행을 삭제했다
특정한 회사 삭제했다 면 현재 잔류하고 있는 남아있는 행은
2개 이기 때문에 우리는
이 중에서 하나의 행을 삭제 해야 된다는 거죠 자 근데 이거는 우리가
행위 몇 개 있는지를 확실하게 알고 있을 때는 가능한 방법이지만
그렇지 않을 때는 사용할 수 없는 방법입니다 만약에 이렇게 되면 행이
부족하면 에러를 낼 겁니다
그리고 행이 더 많으면 행을 출력하지 못하는 문제가 생길 거에요 자 그런
것들을 해결하기 위해서 필요한 것이 바로 mysql 패치 어레이 라고
하는 함수 의 속성을 조금 더 우리가 이해할 필요가 있습니다
자 그럼 지금 제가
1 2 3 그래서 여기 있는 행의 숫자만큼 2
mysql 패치 어레이를 실행을 시켰죠
근데 제가 행 보다 더 많이 마이 sql 패치 올해 를 실행했을때
mask 패치 어레이 라는 져 함수가 리턴하는 값이 어떻게 되느냐에
따라서 우리가 요걸 이용해서 어떻게 하면
이행의 숫자 실제로 데이터베이스에 저장되어 있는 데이터의 숫자와 관계없이
이 코드를 변경하지 않아도 되는지 에 대해서 알수가 있을겁니다
자 그럼 그 방이 있다는 mysql 패치 어레이를 제가 한 번 더 실행을
시켜 보겠습니다
자 이렇게 해서 mysql 패치 월에는
1 2 3 네버 노출 됐죠
그리고 데이터베이스 테이블의 는 데이터가
1행 2행 3행 까지 있습니다 즉 애가
이행의 숫자보다 더 많이 호출이 됐다는 겁니다 그러면 이 로우 라고 하는
변수에 어떠한 값이 담겨 있을까
그게 제가 궁금한 점입니다 자 그럼 그 값을 확인하기 위해서 저는 밭 엄
투 로 욱해서
이것을 실행을 시켜 볼게요
자 그러면
이렇게 에코를 카피해서
4
뭐 결과가 나오긴 했는데 이렇게 하는게 더 좋습니다 익스포트
벌수 가 나오죠
뒤에다가 콤마 일을 하면 되는데 잡아 익스포트 가 원전 모르셔도 되고
달러로 우 라고 하는 이 변수가 어떤 데이터 형식 인지가
여기 마지막에 있는 li 에 들어가 있는 겁니다 자 어때요 paul's
가 나왔습니다
그 얘기는 뭐냐
여기 있는 요 마이 sql 패치 어레이 라고 하는 져 함수는
어 한 번 실행될 때마다 하나의 행을 배열로 리턴 해줍니다
그런데 더 이상 행이 존재하지 않을 때 데이터베이스 테이블 상의 그때
mysql 패치 어레이는
paul's 를 리턴한다.
는 중요한 사실을 알 수가 있습니다
주 중요한 사실입니다 자 유 게
여러분이 요 옥 데이터베이스에 있는
행들을 화면에 출력할 때
알고 있어야 돼 마이 sql 패치 열에 의해서 그 어떤 성질 에 전부라고
할 수가 있습니다 여기까지 하시면
자음 요것들 이용해서 우리가 뭘 할 수 있는가를 그 다음에 생각을 해야
되는데
자 한번 생각해보죠 mysql 패치 어레이 라고 하는 요 함수는

더이상 l 날 값이 없을때
paul's 가 리턴이 되고 l 날 값이 있을 때 어레이 가리 토니
됩니다
작은데 그 어레이 라고 하는 것은
php 에서는 어떤 조건 문의 맥락에서 폴스 가 아닌가
볼수 가 아닌 값은 투르 로 간주가 됩니다 php 는
그리고 어레이 도 폴스 가 아니기 때문에 투르 로간 추가 된다는 거죠
그 얘기는 뭐냐 마지막에 있는 요마 sk 패치는 더 이상 행이 없기
때문에 paul's 를 리턴하는 것이지만
홀수 를 리턴하는 것이지만 그 위에 있는 것들은 어레이를 l 나는 것이기
때문에 암시적으로 이것은 php 에서 투르 로 간주 된다 는 겁니다
투로
그래요 두루두루 트로포 볼수가 된다는 거죠 자 이것을
어 어 디에 다가서 개입할 수 있는지 한번 생각해 보면
자 첫번째로 우리가 지금 하고 있는 일은 굉장히 반복적인 일입니다

댓글 0개

등록된 댓글이 없습니다.

본 사이트의 컨텐츠는 명시적으로 공유기능을 제공하고 있는 공개된 자료를 수집하여 게시하고 있습니다.

저작권, 강의등록, 광고, 제휴등은 "관리자에게 문의"로 메세지 주시면 확인후 답변드립니다.

Menu