导出数据库到CSV更改某些字段名称

时间:2018-08-26 22:00:12

标签: php mysql export export-to-csv

我想将数据库导出到一个csv文件。我有这个境界:

$query=mysqli_query($conexion, "SELECT * FROM table_name") or die("Problemas con la 
 conexión: ".mysqli_error($conexion));
 $variable_name = array();
 if (mysqli_num_rows($query) > 0) {
   while ($row = mysqli_fetch_assoc($query)) {
      $variable_name[] = $row;
  }
 }
 header('Content-Type: text/csv; charset=utf-8');
 header('Content-Disposition: attachment; filename="filename.csv"');
 header('Pragma: no-cache');
 header('Expires: 0');
 $output = fopen('php://output', 'w');
 fputcsv($output, array('col1', 'col2', 'col3', 'col4', 'col5', 'col6', 
 'col7', 'col8', 'col9', 'col10'));
  if (count($varible_name) > 0) {
    foreach($variable_name as $row) {
    fputcsv($output, $row);
   }
  }
 fclose($output);

这很好,但是我只是想知道一列具有id值,而不是与另一张表相关的实际值。问题是我想用值的真实名称替换该列的ID号。假设col3的值为1、2或4,我想将这些值替换为“ 1的列值”,“ 2的列值”等。 我尝试加入表格,但加入了ID,所以我仍然有数字而不是命名值。

我该怎么办?谢谢

更新。

要导出的表格示例。

table1
id   name   job   payment   workshop
 1   susan  job1  yes       1
 2   mike   job2  yes       3
 3   bob    job3  no        2
 4   rob    job3  no        3

table2
id  workshop_name
1   cooking
2   talking
3   running

当我尝试加入两个表时,cvs文件是:

id name job payment workshop 1 susan job1 yes 1 cooking 2 mike job2 yes 3 running 3 bob job3 no 2 talking 4 rob job3 no 3 running

我想要的是用表2的名称替换col工作坊中的数字:烹饪,跑步,聊天。也许只需一个简单的开关,我就可以使用名称更改数字,但是我不知道该怎么做。

谢谢

0 个答案:

没有答案