php 테이블 조인 후 json으로 변환하는법

php 테이블 조인 후 json으로 변환하는법

작성일 2019.05.13댓글 1건
    게시물 수정 , 삭제는 로그인 필요


추가내공 많이 넣었어요 ㅠㅠ


테이블 4개 조인해서

현재 id의 이름, 프로필사진(경로), itemNum, itemLocation, itemName, location, 등급, 날짜점수

출력

 


예를들어 현재 사용자 ID sujin11 이면

sujin, (프로필경로), i002, (아이템경로), 동그라미나무, 3, 하, 2019-04-26 16:24, 560 출력! 

 

[{"name":"sujin"}]

 

 

[{"프로필사진":"c:\users\lg..."}]

 

 

"item":[

{

"itemNum": "i002",

"itemLocation": "lv2/tree10",

"itemName": "소나무",

"location": 8

}

]


 

[{"등급":""}]

 

 

chartData: [["5/20", 630]]

 

이렇게 5개로 나누어서 json형태로 출력되게 해주세요 ㅠㅠ,, 



아래 코드에 추가해 주시면 됩니다. 
<?php 

$host = 'localhost'; 
$user = 'torest';
$pw = 'team14torest';
$dbName = 'torest';
$mysqli = new mysqli($host, $user, $pw, $dbName); //mysql로 접근 하도록 설정
$memberId = $_POST['id'];
$memberPw = $_POST['pw'];
$sql = "SELECT * FROM user WHERE id = '$memberId' AND pw = '$memberPw'"; 
$res = $mysqli->query($sql); 

$row = $res->fetch_array(MYSQLI_ASSOC); 

if ($row != null) { 
session_start(); 
$_SESSION["ses_username"] = $row['id'];


echo json_encode($_SESSION["ses_username"],JSON_UNESCAPED_UNICODE);
echo '로그인 성공';
}
if($row == null){ 
echo("<script>location.href='starterror.php';</script>"); 
}
mysqli_close($mysqli);

?>

이 코드에서는 로그인하면 현재 세션 아이디 만 json으로 출력하는데 아이디가 원하는거는 저기서 말한 형태로 json5개 내뱉는거에요 !!


#php 테이블 만들기 #php 테이블 #php 테이블 출력 #php 테이블 정렬 #php 테이블 삭제 #php 테이블 센터 #php 테이블 하이퍼링크 #php 테이블 연결 #php 테이블 검색 #php db 테이블 값 가져오기

profile_image 익명 작성일 -

캡쳐한 사진보단 실제 DB 테이블의 스키마를 알려주시는 것이 더 좋았을 것 같네요.

그리고 보여주신 소스는 로그인을 하면 session 을 만들어 주는 부분인데 여기에 출력을 원한다고 하시니... -.-::

user 테이블에서 로그인 정보를 찾아오면서 동시에 다른 값도 가져 오는 것이 맞는지...

아니면 로그인을 성공하면 그 다음 그 사람의 추가 정보를 가져오는 것이 맞는 지 등도 목적을 모르니 애매하고...

json 형태라면 {} 안에서 구조를 갖춰 서로 연관될텐데, 질문을 보면 5개로 나눠 달라고 하시고 있고...

대부분은 [{}] 형태로 [] 로 감싸주고 있는데 [] 가 배열을 의미하는 것인지도 전혀 언급이 없으니 잘 모르겠고...

또 "item" 과 같이 문자열 아래에서 [] 를 사용한 이후에 다시 json 형태로 구조를 갖추기도 하고...

결론적으로 아무튼 [] 의 의미를 모르겠다는...

그리고 chartData 안의 값인 5/20 하고 620은 도대체 4개의 테이블중 어느 테이블의 어떤 칼럼 값을 가져와야 하는 것인지도 알수가 없고...

이래저래 실제 코드로 원하는 json 형태를 만들어 드리는 것까진 불가능한 질문이네요. -.-::

결국 질문의 요지인 join 문이 들어가는 쿼리문을 알려드리기 위해

$sql = "SELECT * FROM user WHERE id = '$memberId' AND pw = '$memberPw'";

$sql = "SELECT * FROM ((user LEFT JOIN manage ON user.id=manage.id) LEFT JOIN test ON user.id=test.id) LEFT JOIN item ON manage.itemNum=item.itemNum WHERE user.id = '$memberId' AND user.pw = '$memberPw'";

로 고치고 쿼리 결과를 모두 json 으로 인코딩해서 출력하도록

echo json_encode($row, JSON_UNESCAPED_UNICODE);

만 추가한 아래의 예제를 가지고 테스트 하면서 실제 json 형태의 값을 한번 확인해 보시고, 나머진 직접 적절히 수정해서 사용하세요.

<?php $host = 'localhost'; $user = 'torest'; $pw = 'team14torest'; $dbName = 'torest'; $mysqli = new mysqli($host, $user, $pw, $dbName); //mysql로 접근 하도록 설정 $memberId = $_POST['id']; $memberPw = $_POST['pw']; //$sql = "SELECT * FROM user WHERE id = '$memberId' AND pw = '$memberPw'"; $sql = "SELECT * FROM ((user LEFT JOIN manage ON user.id=manage.id) LEFT JOIN test ON user.id=test.id) LEFT JOIN item ON manage.itemNum=item.itemNum WHERE user.id = '$memberId' AND user.pw = '$memberPw'"; $res = $mysqli->query($sql); $row = $res->fetch_array(MYSQLI_ASSOC); //추가정보 보기 echo json_encode($row, JSON_UNESCAPED_UNICODE); if ($row != null) { session_start(); $_SESSION["ses_username"] = $row['id']; echo json_encode($_SESSION["ses_username"],JSON_UNESCAPED_UNICODE); echo '로그인 성공'; } if($row == null){ echo("<script>location.href='starterror.php';</script>"); } mysqli_close($mysqli); ?>

php > asp로 변환

... 소스중에 php로 작성된 파일은 xml로 작성된 사진 리스트를 JSON형태로 변환해 주는 소스입니다 asp로 xml을 파싱하는 법을 검색해 보시면 방법은 찾으실 수...

php 랜덤 배열 질문입니다

위에는 테스트용으로 만들어 놓은 테이블인대... n개 json으로 변환해서 클라이언트에 보내는 거에요 (개발자 도구로 찍히는 것) <?php // DB...

전 검정고시 합격 후에 알바하며 지내

... 월3000민원의 조인공이 될 수 있습니다 ■■KBS TV... 사이트 주소 https://www.cashfiesta.com/php/join.php Free money... 영어 변환은 네이버에 그대로 주소영어 변환 이라고...

로그인 할수있게 만드는법

... 이용하는 , 약간의 HTML 정도는 아셔야 겠지요? 그리고 제일 중요한 것은 자신의 계정에서 PHP와 MySQL을... 그 스킨 적용을 원하는 게시판 설정에서 스킨을 선택하여...

게임만드는법

... 심벌 테이블(symbol table) 실습문제 1장 C++의 구조체... 형 변환(functional casting) 실습문제 8장 클래스 계층도(class hierarchy)를 그리는 UML 도구 실습문제...

마인크래프트 높이

... (인챈트테이블 문자 입자), explode, flame, lava(용암... 기반으로 변환될 것임 ○ 성능 - 모든 넓이는 이제... 제조인, 목사 ㄴ 하얀 앞치마 : 고깃간, 가죽 세공인...