본문 바로가기
반응형

분류 전체보기221

[PHP] 회원들의 재구매율 알아보기(2) - 두 배열 비교하기 in_array() 첫 번째와 비교할 두 번째 배열도 만들어야겠다. 후에는 물론 반복문으로 처리하겠지만 일단 다음과 같이 배열을 만들자. $query = "SELECT distinct user_id FROM `user_data` WHERE date>='2017-02-01' and date 2017. 9. 25.
[PHP] 회원들의 재구매율 알아보기(1) - MySQL 컬럼(열)을 배열로 만들기 다음과 같이 회원, 구매한 상품, 구매한 날짜가 기록된 자료에서 회원들의 월별 재구매율을 알아보려면 어떻게 해야할까? 1월에 구매한 유저들의 명단을 추출하고 2월에 구매한 유저들의 명단을 추출하여 서로 비교해 보면 될 것이다. 1월에 구매한 유저들의 명단은 다음과 같이 구할 수 있다. SELECT distinct user_id FROM `user_data` WHERE date>='2017-01-01' and date 2017. 9. 24.
[PHP] mysqli_fetch_row, assoc, array 의 차이 2017/09/18 - [PHP] - [PHP] DB에서 특정 행들만 가져오기(7) - DB에서 가져온 정보 출력하기 mysqli_fetch_row()에서 본 대로 mysqli_fetch_row() 는 다음과 같이 배열의 번호로 요소를 출력할 수 있다. DOCTYPE html> 2017. 9. 20.
[PHP] DB에서 특정 행들만 가져오기(8) - DB 에서 열 이름 가져오기 열 이름을 가져올 때 mysqli_fetch_field() 등의 새로운 함수를 사용할 수도 있겠지만, 앞서 본 개념만으로도 열 이름을 가져올 수 있다. 이때 쿼리 중에 SHOW COLUMNS 명령이 유용하다. SHOW COLUMNS FROM user_data DB에 "SHOW COLUMNS FROM user_data" 를 질의하면 위와 같은 테이블을 반환해 준다. 이제 mysql_fetch_row() 로 이 중 첫 번째 열에 있는 값들만 가져오면 되겠다. 다음을 입력해 보자. $query = "SHOW COLUMNS FROM user_data";$result = mysqli_query($conn, $query);while($row = mysqli_fetch_row($result)){ echo $row[0.. 2017. 9. 19.
[PHP] DB에서 특정 행들만 가져오기(7) - DB에서 가져온 정보 출력하기 mysqli_fetch_row() HTML에서 표를 만드는 태그는 다음과 같다. 셀1 셀2 은 행을 구분지어주고 는 한 셀을 구분지어준다. (각각 "Table Row" 와 "Table Data" 의 약자로 생각하면 기억하기 쉽다.) PHP 문을 태그로 둘러싸고, 앞서 임시 구분자로 " | " 를 적어놓은 것을 다음과 같이 바꾸자. 2017. 9. 18.
[PHP] DB에서 특정 행들만 가져오기(6) - 쿼리 작성하기 mysqli_query() PHP 에서 쿼리를 DB에 질의하는 함수는 mysqli_query() 가 담당한다. DB에 접속해야 하므로 함수 안에는 접속 정보(이전에 $conn 에 저장해 두었던)와 쿼리, 두 가지를 입력해야 한다. 일단 mysqli_query() 에 $conn 과 함께 SELECT * FROM user_data 를 쿼리로 입력해 보자. 2017. 9. 17.
[PHP] DB에서 특정 행들만 가져오기(5) - 변수를 바꾸어 문자열 출력 sprintf() SELECT * FROM user_data WHERE log_num=□ 이번엔 □ 안의 내용을 우리가 저장한 list.txt 의 것으로 바꾸어 출력하는 방법을 알아보자. sprintf() 라는 함수가 사용된다. 이전 코드의 echo $log; 부분을 다음과 같이 바꾸어 적자. echo sprintf("숫자는 %d", $i); DOCTYPE html> 2017. 9. 14.
[PHP] DB에서 특정 행들만 가져오기(4) - 반복문 while(){} 2017/09/12 - [PHP] - [PHP] DB에서 특정 행들만 가져오기(3) - 목록 읽어오기 file()에서 목록을 불러오는 것까지 수행했다. 이제 목록의 첫 번째 값을 넣고 쿼리를 돌리고, 결과를 출력하고, 다시 두 번째 값을 넣고 쿼리를 돌리고... 를 반복하면 된다. 이때 반복문 while(){} 이 사용된다. while(){} 은 괄호() 안의 부분이 TRUE인 경우 중괄호{} 안의 내용을 반복 실행하게 된다. 그러므로 반복실행시 괄호 안의 조건이 언젠가 FALSE가 되어야 반복을 멈출 수 있다. 가장 흔히 사용되는 것이 괄호 안에 변수를 넣고, 해당 변수가 중괄호 안에서 하나씩 증가하도록 하는 것이다. 다음의 예를 보자. $i 를 0으로 주고, 반복할 때마다 1씩 증가하도록 해 주었다... 2017. 9. 13.
[PHP] DB에서 특정 행들만 가져오기(3) - 목록 읽어오기 file() 우리의 기본전략은 다음 SQL의 □ 안을 바꾸어 가며 SQL을 돌리는 것이다. SELECT * FROM user_data WHERE log_num=□ □ 안에 들어가야 할 것은 1, 9, 23, 109, 125, 264, 359, 416, 484, 504, 545, 620, 636, 640, 643, 669, 689, 720, 725, 749 의 20가지 숫자다. 먼저 이 숫자들의 목록을 별도 파일로 만들어 두고, PHP 에서 그 파일을 읽어오도록 해 보자. 2017/09/08 - [SQL] - [SQL] DB에서 특정 행들만 가져오기(1) - "or"를 이용에서 나온대로 엑셀에서 이 목록을 세로로 배열한 후 메모장에 붙여넣어 TXT 파일을 만든다. 파일을 저장할 위치는 이전과 같다. (Bitnami 기.. 2017. 9. 12.
[PHP] DB에서 특정 행들만 가져오기(2) - PHP 로 MySQL DB 제어하기 2017/09/08 - [SQL] - [SQL] DB에서 특정 행들만 가져오기(1) - "or"를 이용의 방법을 항상 이용하기에는 무리가 있다. 대신 이런 건 어떨까? log_num=1에 해당하는 정보 하나만 찾는 것은 훨씬 쉽고 빠를 것이다. log_num=9 에 해당하는 행을 찾는 것도 그리 어려운 일은 아니다. 이렇게 한 행씩 20번 찾으라고 명령하는 것이 아까보다 훨씬 효율적이다. 이를테면, SELECT * FROM user_data WHERE log_num=□ 의 □ 부분만 바꿔 가면서 SQL을 돌리면 되는 것이다. 그렇다고 우리가 일일이 20번 SQL을 돌릴 수는 없으니 무엇인가 대신 DB를 조회하게 만들어야겠다. 그럴 때 쉽게 사용할 수 있는 것이 PHP다. 2017/07/25 - [SQL].. 2017. 9. 11.
반응형