我有以下代码片段,除了文件导出的部分是硬编码的以外,它们的工作原理非常好。我已经很接近了,但是还不知道如何实现以下目标:


忽略将PictureCount字段显示为
出口
而不是对_1.jpg进行硬编码,我需要使用PictureCount值根据每个记录的计数生成一个新记录(例如:。$ jpg_name。“ _。$ Picture_Count.jpg


这是我确实在工作的代码:

$values = mysql_query("SELECT PictureCount, ListingRid AS Home_ID FROM ".$table." WHERE (COUNTY='ACME' OR COUNTY="TEST")");
$row = 0;
while ($rowr = mysql_fetch_assoc($values))
{
  if ($row == 0)
  $row++;

      $csv_output .= "company_id|";
  foreach($rowr as $name => $value)
  {
      if($name=='Home_ID') {$jpg_name=$value;}
      $csv_output .= $value."|";
  }
  {
      $csv_output .= "http://www.acmerealestate.com/feeds/fmfl/rets_images/".$jpg_name."_1.jpg ";
  }
      $csv_output .= "\n";
}

最佳答案

在这种情况下,您需要更改SQL中的列。首先,您需要添加Home_ID,然后添加PicCount

您可以将列表中的所有图像从1循环到PictureCount,并将图像添加到列表中。

<?php
$values = mysql_query("SELECT ListingRid AS Home_ID, PictureCount FROM ".$table." WHERE (COUNTY='ACME' OR COUNTY="TEST")");
$row = 0;
while ($rowr = mysql_fetch_assoc($values))
{
    if ($row == 0)
        $row++;

    $csv_output .= "company_id|";
    foreach($rowr as $name => $value)
    {
        if($name=='Home_ID') {$jpg_name=$value;}
        $csv_output .= $value."|";
        if ($name == 'PictureCount') {
        for ($i = 1; $i <= $value; $i ++)
            $csv_output .="http://www.acmerealestate.com/feeds/fmfl/rets_images/".$jpg_name."_".$i.".jpg|";
        }
    }
    $csv_output .= "\n";
}

关于php - 基于MySQL查询导出具有动态值的CSV,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19243809/

10-11 01:18