将数据库导出为csv更改某些字段名称

nhjlsmyf  于 2021-06-20  发布在  Mysql
关注(0)|答案(0)|浏览(155)

我想将我的数据库导出到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,我想用“column value for 1”、“column value for 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 workshop中的数字。也许用一个简单的开关我就可以用名字改变数字,但我不知道怎么做。
谢谢

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题