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" 是一个空格。始终在双引号字符串中使用它。如果您想将查询打印到浏览器,有一个不错的 PHP 函数,名为“ nl2br

于 2013-01-31T14:01:26.803 回答