2023. 11. 2. 13:50ㆍnormaltic 취업반 5기/과제
2번 과제
목표 기능 : GET 메소드로 데이터를 전달받아 name과 name에 해당하는 score를 출력한다.
추가 기능 : 데이터베이스에 저장되어 있는 목록 나열 기능, 입력된 값에 따른 코멘트 출력, 데이터베이스에 없는 이름 입력 시 코멘트 출력
테이블 생성
idx, name, score 속성을 가진 student 이름의 테이블을 생성했고 테이블에 3개의 데이터를 추가하였다.
testDB.php 1/2
- mysqli_connect 함수를 사용하여 DB와 연결
- GET 메소드로 데이터 전달 시 get_name 변수에 저장
- while 문을 통해 데이터베이스에 저장되어 있는 데이터 나열
- while 문 안에서 get_name 값과 데이터베이스에 저장되어 있는 이름값과의 비교를 통하여 데이터베이스에 저장되어 있는 데이터가 전송되었는지 판별
- 데이터베이스에 저장되어 있는 데이터가 전송되었을 경우 dub_flag 변수에 true 값 대입
testDB.php 2/2
- sql_name 변수에 get_name값에 따른 select 쿼리문 대입 (해당 코드에서 성적을 알고 싶은 학생을 조회하는 쿼리문을 작성)
- 조건문을 통하여 get_name 변수에 조건에 맞는 데이터가 전송되었는지 판별하여 상황에 따른 코멘트가 출력되도록 구현
- if문에서는 get_name 변수의 길이를 계산하여 판별한다. 이때 get_name 변수의 길이가 0이라는 것은 이름을 입력하지 않고 조회버튼을 눌렀거나 데이터가 제대로 전송이 되지 않았다는 것을 의미한다.
- elseif문에서는 dub_flag 변수의 값이 true인지 아닌지를 판별한다. dub_flag 변수의 값이 true라는 것은 데이터베이스에 저장되어 있는 학생의 이름이 제대로 전송이 되었다는 것을 의미하며 true가 아닌 것은 그 반대의 상황을 의미한다.
- else문에서는 위 두 가지 상황에 해당되지 않으면 조회한 학생의 이름과 점수를 포함한 코멘트를 출력해 준다.
- form 태그에서 action="" 으로 적어줌으로써 데이터를 자기 자신에게 보내도록 구현하였다. 또한 GET 메소드로 데이터를 전송하도록 적어주었다.
출력 화면
초기 화면 혹은 이름 입력란에 기입하지 않고 조회 버튼을 누른 경우
: 전송받은 데이터가 없으므로 get_name 변수에 저장되어 있는 값이 없다. 그러므로 get_name 변수의 길이는 0이며 이 조건에 맞는 코멘트가 출력되었다.
데이터베이스에 저장되어 있는 데이터를 입력했을 경우
: 이름 입력란에 "PARK"를 입력하여 get_name에 "PARK"라는 문자열이 저장되었다. 이후 데이터베이스에 저장되어 있는 이름이므로 dub_flag 값이 true가 된다. 조건문에서 get_name 변수의 길이는 4이므로 if문 패스, dub_flag 값이 true이므로 elseif문도 패스하여 else문에 맞는 코멘트가 출력되어 "PARK" 학생의 점수를 확인할 수 있었다.
데이터베이스에 저장되어있지 않은 데이터를 입력했을 경우
: 이름 입력란에 "CHO"를 입력하여 get_name에 "CHO"라는 문자열이 저장되었다. 이후 데이터베이스에 저장되어 있는 이름들과의 비교를 통해 저장되어 있지 않은 이름이라는 것으로 판별이 되어 dub_flag 값에 true가 저장되지 않는다. 조건문에서 get_name 변수의 길이는 3이므로 if문 패스, elseif 문에서 dub_flag 값이 true가 아니므로 elseif문 조건에 맞는 코멘트가 출력된다.
'normaltic 취업반 5기 > 과제' 카테고리의 다른 글
[normaltic 취업반 5기] 2023-11-08 3주차 과제 : 추가 과제 (0) | 2023.11.11 |
---|---|
[normaltic 취업반 5기] 2023-11-08 3주차 과제 : 3번 과제 (0) | 2023.11.11 |
[normaltic 취업반 5기] 2023-11-01 2주차 과제 : 4번 과제 & 추가 미션 (0) | 2023.11.06 |
[normaltic 취업반 5기] 2023-11-01 2주차 과제 : 3번 과제 (0) | 2023.11.06 |
[normaltic 취업반 5기] 2023-10-25 1주차 과제 (0) | 2023.10.30 |