4.23 게시판 만들기
오늘 수업에서는 게시판을 만들어봤다.
먼저 크게 구조를 짜보자면
필요한 페이지는 1.처음 나오는 리스트페이지 2. 글쓰는 페이지 3. 쓴 글이 보이는 페이지 4. 글 수정 페이지
총 4개의 페이지가 필요하고 각각 페이지에서 [글쓰기], [글목록],[글수정],[게시판] 을 눌렀을 때, 각각에 맞는 페이지로 연결되도록 서버와 html을 만들어야 한다.
1. 리스트 페이지
그 vs에서 sql 작성 하고 mysql로 연결하는법!
vs에다가 입력하고 저장하면 컴퓨터에 파일이 생성 됨. 그 경로 내문서에서 가져다가
mysql 켜서
"source [경로]\\[파일명]"
에다가 쓰면 됨.
ex) 여기 컴퓨터의 경우에는 C:\Users\KGA_18\Desktop\4.19\\
레코더 내용 넣는데 idx는 굳이 넣을 필요 없다함.. 왜지?
->왜냐면, SQL작성할 때
idx INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY
라고 넣는데 이부분 때문인듯.
AUTO_INCREMENT니까 자동으로 커지는거고 PRIMARY KEY는 기본값.. (pk값이라고 하는것이 primary key 였음...)
INT니까 숫자형. 숫자 기본값이니까 1부터 시작해서 자동으로 하나씩 커지는거인듯.
암튼 내용 쭉 넣는데 날짜 넣을때 주의할게 스트링 형식으로 넣으면 안됨.
이때 간단하게 날짜 함수를 사용할 수 있음
now() 함수는 인서트하는 그 시점을 자동으로 날짜로 넣어줌.
그래서 쭉 넣어주면
ex)
insert into board(
-> subject,board_name,content,today,hit) values('공지사항','관리자','야마돈',now(),0);
해주면 입력됩니당.
쿼리문에서
today라는 필드에 'DEFAULT CURRENT-TIME STAMP'의 뜻은 ='값이 없을때 날짜 형태로 들어가라' 라는 뜻.
list.html로 가서 서버에서 제대로 넘겼는지 출력해봅니다.
{{list}}
해주면
객체 형태로 list.html에 얘(results)를 넘긴거 list.html에서 받았더니
위에 [object Object],[object Object],[object Object]이렇게 나옴.
제대로 보내지긴 했다는 소리!
이제 제대로 내용을 받아야하니까
{%for [변환해주는 값] in list%} 써주자
(변환해주는값은 그냥 아무 변수로 받으면 됨.)
{% for item in list %}
{{item.subject}}
{% endfor %}
{{}} 괄호 두번은 출력을 하겠다는 의미 , {} 괄호 한번은 코드를 쓰겠다는 의미
구문은
{% for [변수] in [배열]%}
{{[변수].[요소]}}
{% endfor %}
요렇게 됩니다
date_format() 함수
인자 두개 1. 필드명 2.'%Y-%m-%d'
ex) date_format(today,'%Y-%m-%d') -> 근데 이렇게 쓰면 너무 번잡해져서 as문 이용해서 다시 이름 today로 바꿔줌.
(as 구문 : select dateformat(today,'%Y-%m-%d') as today; 해주면 mysql에서 일회성으로 필드명 바꿀수있음.)