2012-12-06 4 views
0

테이블에서 데이터를 가져와 xml로 내보내는 스크립트가 있지만 두 개의 다른 테이블에서 데이터를 가져와야합니다.ID로 2 테이블에서 데이터를 선택하는 방법

Table 1: Products 

i have inside: 

id code 

Table 2: Stock 

i have inside 

id qty 

내 스크립트입니다 :

<?php 
    $db_host = "localhost"; 

    $db_name = "test"; 
    $db_username = "root"; 
    $db_password = ""; 

    $dbh = mysql_connect($db_host, $db_username, $db_password) or die("Unable to connect to MySQL"); 
    mysql_query('SET NAMES "utf8"'); 
    mysql_select_db($db_name, $dbh) or die("Could not select $db_name"); 

    $sql = "select * from products "; 

    $q = mysql_query($sql); 
    $custom = '"'; 

    $xml = "\n"; 
    $xml .= "<XML>\n"; 
    while($r = mysql_fetch_assoc($q)) 
    { 

     $xml .= " <PRODUCT code=$custom " . $r["code"] . "$cusmot qty=$custom " . $r["qty"] . "$custom />\n"; 

    } 
    $xml .= "</XML>"; 

    header("Content-type: text/xml"); 
    echo $xml; 
?> 

이 제품 테이블에 ID를 따라 증권 결과의 수량을 얻을 도움이 필요합니다.

어떤 도움을 환영합니다.

답변

1

두 테이블에서 데이터를 끌어 당신의 SQL을 변경해보십시오 : select p.code, s.qty from products p, stock s where p.id = s.id합니다. 이 변경으로 PHP가 거의 (또는 완전히) 작동 할 것입니다!

+0

에서 작동하지 않습니다 .. 도와 줘서 고마워 !! – Dar

+0

당신을 진심으로 환영합니다. 내 제안 된 쿼리가 어떻게 작동하지 않았는지 알려주실 수 있습니까? 스크립트를 작동 시켰습니까? –

+1

경고 : mysql_fetch_assoc()은 매개 변수 1이 리소스가 될 것으로 예상하고, 부울은 – Dar

0

당신은 당신의 코드에서 하나 개의 존재 대신이 쿼리를 사용한다 :

SELECT p.id, p.code, s.qty 
FROM product p, stock s 
WHERE p.id = s.id 
+0

결과 : 경고 : mysql_fetch_assoc()은 매개 변수 1이 리소스 일 것으로 예상하고, 부울 값은 – Dar

1
SELECT p.id, p.code, s.qty 
FROM products p 
INNER JOIN stock s ON p.id = s.id 
+0

이 아니므로 작동하지 않습니다. 도움을 주셔서 감사합니다 !! – Dar

+0

문제 없습니다. '일하지 않는다'는 것은 무엇을 의미합니까? SQL은 제공 한 정보를 기반으로 정확합니다. – StevieG

+0

안녕하세요,이 문제를 해결하지 못했습니다. 아마도이 오류가 발생합니다. 경고 : mysql_fetch_assoc()은 매개 변수 1이 리소스가 될 것으로 예상하고, 부울은 – Dar

관련 문제