53일차 - 내 폼태그와 sql 연동 (phpMyAdmin)

밀레·2022년 12월 8일
0

코딩공부

목록 보기
125/135

52일차) mysqli_connect

  • query 함수
    : DB를 서버언어가 쓸수있게 가공해주는 php 함수

① 같은 서버 내에 있는 DB에 접속하고, 성공 여부 확인받는다.
② 성공했다면, 특정 테이블 선택해서 DB를 $sql 변수에 저장한다 (query 함수)
③ query함수로 DB를 php에서 쓸수있게 가공한 뒤, $result 변수에 저장!
④ html 출력문과 $result 변수 연결해, 화면 확인


1. sql문으로 게시판 테이블 만들기

내 폼태그 DB 테이블 변수명

1-1. 폼태그 테이블 생성

CREATE TABLE member_table
<!-- 필드명    용량제한/데이터타입  필수인자 -->
(   `id`      	  int           NOT NULL AUTO_INCREMENT PRIMARY KEY,
    `name`    	  varchar(100)  NOT NULL,
    `gender`      char          NULL,
    `age`         int(11)       NULL,
    `content`     text(300)     NULL
);

1-2. insert into 명령으로 DB 5개 삽입해보기

INSERT INTO `test_table` ( `id`, `subject`, `content` )

VALUES
( NULL, '제목1', '가나다라마' ),
( NULL, '제목2', '바사아자차' ),
( NULL, '제목3', '카타파하가' ),
( NULL, '제목4', '나다라마바' ),
( NULL, '제목5', '사아자차카' );

1-3. php로 sql에 데이터 집어넣는 방법

id는 자동생성auto_increment 이니까 지워도 됨


2. 폼태그와 php 연동

2-1. 폼태그 생성 ( write.php )

  • action = "insert.php"
  • method = "post"
  • 인풋 name과 php 변수 연결

2-2. 인풋란을 "POST" 방식으로 insert.php로 전송

2-3. POST 형식으로 받아서 출력

  • write.php의 submit 버튼 클릭 시, action과 연동한 insert.php 페이지가 나타남
  • insert.php 페이지 내용 : $subject = $_POST['subject']
    └> $subject 변수에 post 방식으로 전송된 인풋 name='subject' 저장
    └> sql의 테이블 test_table에 삽입할 값으로 subject $content 변수
    └> "query 함수가 sql문 실행한다!"
    └> echo 다음과 같이 화면 노출


3. 폼태그의 checkbox(배열값)와 php 연동

체크박스와 같은 배열값 처리하기
참고 https://m.blog.naver.com/imm7745/221687698469

인풋란 write.php

화면출력 insert.php

즉, 배열값을 처리할 수 있다!


포폴 폼태그 적용하기 : 인풋란 write.php

포폴 폼태그 적용하기 : 화면출력 insert.php


4. 페이지 바뀜 없이 폼태그 submit 하기(+iframe)

참고 https://m.blog.naver.com/kimstcool01/220937419440

insert.php

iframe
└> 다른 html 문서를 포함시킬 수 있도록 하는 태그.
└> form의 target 속성을 이용하면 페이지 전환없이 인풋값을 submit 할 수 있다.

write.php

<style>
	/* iframe을 숨기기 위한 css */
	#if{
		width: 0px;
		height: 0px;
		border: 0px;
	}
</style>


5. 내 포트폴리오 폼태그 완성하기 (오후실습)

5-1. 면접제안 폼(수정불가능)에서 글작성해 sql에 DB 올리기

+) 페이지 이동 없도록 아이프레임 처리!

4번처럼 만듦 (but 문제 발생)

  • Q) id를 수동으로 13 14 15 입력해야 sql에 올라감

    테이블 생성할 때, id에 AUTO_INCREMENT 지정해야 했음!! 그러면 'id' & value 안써도 됨.
    "MySQL은 자동 증가를 수행할 AUTO_INCREMENT 키워드를 사용합니다"

  • Q) 체크박스 position이 그냥 Array라고 뜸

아래 식 필요

수정
sql 데이터 업로드

인풋란 & 체크박스


결과물

폼태그에서 입력한 내용들이 sql 테이블에 저장됨


5-2. 사전인터뷰 폼(수정가능) 글작성해 sql에 DB 올리기

  • 글작성 & 수정 가능하도록 if-else 사용

0개의 댓글