는
다음과 같은
아마도 뭔가 그 배열로 json_encode을 (http://www.php.net/manual/en/function.json-encode.php 참조)를 사용, 하나의 배열을 반환하는 단일 쿼리로이 문제를 단순화하기 위해 조인 :
$userId = $_SESSION['userID'];
$query = "SELECT store.*, photos.*
FROM cart
INNER JOIN store ON store.itemid = cart.itemid
INNER JOIN photos ON photos.itemid = cart.itemid
WHERE cart.userid='$userId'";
echo json_encode(mysql_fetch_array(mysql_query($query)));
그 mysql_ 함수를 사용하지 않는 이유에 대한 글을 참고하십시오 : Why shouldn't I use mysql_* functions in PHP?
- EDIT-- 다음은 SQLite를 사용하는 예제입니다.
$db = new SQLite3("db.db");
$query = "SELECT store.description, store.price, store.quantity, photos.photo_url
FROM cart
INNER JOIN store ON store.item_id = cart.item_id
INNER JOIN photos ON photos.item_id = cart.item_id
WHERE cart.user_id=1;";
$results = $db->query($query);
$full_array = array();
while ($row = $results->fetchArray())
{
$full_array[] = $row;
}
echo json_encode($full_array);
그리고 출력 :
[
{
"0": "a",
"1": 1,
"2": 1,
"3": "/images/photo_1.jpg",
"description": "a",
"price": 1,
"quantity": 1,
"photo_url": "/images/photo_1.jpg"
},
{
"0": "b",
"1": 2,
"2": 2,
"3": "/images/photo_2.jpg",
"description": "b",
"price": 2,
"quantity": 2,
"photo_url": "/images/photo_2.jpg"
},
{
"0": "c",
"1": 3,
"2": 3,
"3": "/images/photo_3.jpg",
"description": "c",
"price": 3,
"quantity": 3,
"photo_url": "/images/photo_3.jpg"
},
{
"0": "d",
"1": 4,
"2": 4,
"3": "/images/photo_4.jpg",
"description": "d",
"price": 4,
"quantity": 4,
"photo_url": "/images/photo_4.jpg"
},
{
"0": "e",
"1": 5,
"2": 5,
"3": "/images/photo_5.jpg",
"description": "e",
"price": 5,
"quantity": 5,
"photo_url": "/images/photo_5.jpg"
}
]
당신은 테이블을 조인하는 대신 3 개 완전히 별도의 쿼리를하고있는 이유가 거기에 당신은 당신이 사용하기 원하는 데이터베이스와 일치하도록 변경할 수 있습니까? 사용자가 장바구니에 항목을 갖고 상점에있는 항목에 사진이 있고 사진에 해당 관계를 검색하는 itemID 열이 있다는 것은 분명합니다. 두 개 또는 세 개의 고유 쿼리를 수행하는 대신 그 관계에 참여하는 것이 더 효율적입니다. – skrilled
php에 익숙하지 않은 이유는 어떻게 단순화 할 수 있습니까? 3 개의 다른 행에서 데이터를 쿼리하는 것입니다. – user3476925
phps mysql을 사용하지 마십시오. 대신 mysqli를 사용하십시오 : http://stackoverflow.com/a/14110189/1612852 mysqli_query> mysql_query – stepquick