我在 phpmyadmin 中有一个数据库,其中包含来自多个供应商的产品。每天我都希望能够将这些导出到 txt 制表符分隔表中。我已经按照下面的方法创建了一个 php 文件,但是,它并没有做我想做的事情。
这就是我想要做的:
导出库存(数量)大于 0 的最便宜的唯一 sku(sku 在 DB 的名称字段中,所以按名称分组?),并打印该特定供应商的相应库存水平。
示例数据:
merchant,name,quantity,totalprice
supplier A,APC-SMT1000I,1,150
supplier B,APC-SMT1000I,7,240
php代码:
<?php
require("includes/common.php");
$filename = "export/products.txt";
$fp = fopen($filename,"w") or die("Could not create ".$filename." - check permissions");
fwrite($fp,"sku\tprice\tquantity\n");
$link = mysql_connect($config_databaseServer,$config_databaseUsername,$config_databasePassword,TRUE);
mysql_select_db($config_databaseName,$link);
$sql = "SELECT name AS sku,MIN(totalprice) AS minPrice,quantity FROM `".$config_databaseTablePrefix."products` WHERE quantity > 0 GROUP BY name";
$result = mysql_query($sql,$link);
while($row = mysql_fetch_array($result,MYSQL_ASSOC))
{
fwrite($fp,str_replace(","," ",$row["sku"])."\t");
fwrite($fp,$row["minPrice"]."\t");
fwrite($fp,$row["quantity"]."\n");
}
fclose($fp);
print "Done.";
?>
我本来希望这段代码能打印出来:
sku,price,quantity
APC-SMT1000I,1,150
但是,它正在打印:
sku,price,quantity
APC-SMT1000I,7,150
任何帮助将不胜感激,如果我没有详细解释,我深表歉意。如果我错过了什么,请告诉我。
谢谢