0

これがあなたが私を助けることができるものであることを願っています. 私は多くの試行錯誤を経て、phpmyadmin ビューにすべてをきれいにリストするこのステートメントを思いつきました。

SELECT DISTINCT inzone_product_lang.name, inzone_product.price, (inzone_product.price * 1.25) as pris
FROM inzone_product_lang 
INNER JOIN inzone_product
ON inzone_product.id_product=inzone_product_lang.id_product
ORDER BY inzone_product_lang.name, pris

これをphpクエリにして印刷したいのですが、ここで立ち往生しています。

$result = mysql_query("SELECT DISTINCT inzone_product_lang.name, inzone_product.price, (inzone_product.price * 1.25) as pris
FROM inzone_product_lang 
INNER JOIN inzone_product
ON inzone_product.id_product=inzone_product_lang.id_product
ORDER BY inzone_product_lang.name, pris
LIMIT 0, 900
");

$data = mysql_fetch_object($result);
    echo $data->foo();
4

3 に答える 3

1

このようにデータをループします。表に表示したい場合は、そのデータを表の行にエコーするだけです。このようなもの:

while ($data = mysql_fetch_object($result)) {
    echo $data->name;
    echo $data->price;
    ...
}

また、次のようなツールを使用して、このようなオブジェクトの構造を確認できprint_rます (ログで特に役立ちます)。XDebug がインストールされている場合var_dumpは、非常に見やすくなっています。

var_dump($data); // Prints to document when loaded
error_log(print_r($data, true)); // Prints to error log
于 2013-01-31T13:50:52.890 に答える
0
echo $query="SELECT DISTINCT inzone_product_lang.name, inzone_product.price, inzone_product.price * 1.25) as pris FROM inzone_product_lang INNER JOIN inzone_product ON inzone_product.id_product=inzone_product_lang.id_product ORDER BY inzone_product_lang.name, pris LIMIT 0, 900";

$result = mysql_query($query);

while($data = mysql_fetch_object($result))
{
    print_r($data);
}
于 2013-01-31T13:55:47.350 に答える
0

次のように、改行文字を含む連結文字列を使用できます。

$query = "SELECT DISTINCT inzone_product_lang.name, inzone_product.price, (inzone_product.price * 1.25) as pris\n" .
"FROM inzone_product_lang \n" .
"INNER JOIN inzone_product\n" .
"ON inzone_product.id_product=inzone_product_lang.id_product\n" .
"ORDER BY inzone_product_lang.name, pris\n";

mysql_query($query);

「\n」は空白です。常に二重引用符で囲まれた文字列で使用してください。クエリをブラウザに出力したい場合は、「nl2br」という名前の便利な PHP 関数があります。

于 2013-01-31T14:01:26.803 に答える