0

テーブルからデータを取得して xml にエクスポートするスクリプトがありますが、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;
?>

Products テーブルの ID に従って在庫結果から数量を取得するには、ヘルプが必要です。

どんな助けでも大歓迎です。

4

3 に答える 3

1
SELECT p.id, p.code, s.qty
FROM products p
INNER JOIN stock s ON p.id = s.id
于 2012-12-06T17:29:45.120 に答える
1

両方のテーブルからデータを取得するように SQL を変更してみてください: select p.code, s.qty from products p, stock s where p.id = s.id. この変更により、PHP はほぼ (または完全に) 動作するように見えます!

于 2012-12-06T17:32:25.887 に答える
0

コードに存在するクエリの代わりに、次のクエリを使用する必要があります。

SELECT p.id, p.code, s.qty
FROM product p, stock s
WHERE p.id = s.id
于 2012-12-06T17:29:13.943 に答える