php中cvs文件数据导出,如何从一个.csv文件php中的3个表导出数据

那么,您的问题是您无法在唯一的MySQL查询中同时检索所有数据,因为它们不是相关数据.你的问题只是输出,所以,你只需要在一个唯一的数组中将3组结果联系起来.要做到这一点:

>执行三个查询,并将它们保存在三个不相关的数组中.

>将它们与您将与所有人共享的密钥相关联.

>遍历所有数组,将值分配给主“输出”.

有了它,您将拥有可以输出的数组以获得所需的CSV.为了示例的缘故,由于我无法使用您的vars和查询编写有效的代码,我编写了以下示例.它有3个不同的数组,您必须使用模拟数据从数据库中获取,但您可以抓住这个想法.只需复制并粘贴即可获得实时示例:

$playlists = array(

array(

'id' => 1

, 'data' => 'playlist1'

)

, array(

'id' => 2

, 'data' => 'playlist2'

)

, array(

'id' => 3

, 'data' => 'playlist3'

)

);

$songs = array(

array(

'id' => 1

, 'data' => 'song1'

)

, array(

'id' => 2

, 'data' => 'song2'

)

, array(

'id' => 3

, 'data' => 'song3'

)

, array(

'id' => 4

, 'data' => 'song4'

)

, array(

'id' => 5

, 'data' => 'song5'

)

);

$rates = array(

array(

'id' => 1

, 'data' => 'rating1'

)

, array(

'id' => 2

, 'data' => 'rating2'

)

, array(

'id' => 3

, 'data' => 'rating3'

)

, array(

'id' => 4

, 'data' => 'rating4'

)

, array(

'id' => 5

, 'data' => 'rating5'

)

, array(

'id' => 6

, 'data' => 'rating6'

)

);

// Count all the arrays and get the bigger:

$num = 0;

$play_num = count( $playlists );

$num = ($play_num > $num) ? $play_num : $num;

$song_num = count( $songs );

$num = ($song_num > $num) ? $song_num : $num;

$rate_num = count( $rates );

$num = ($rate_num > $num) ? $rate_num : $num;

$output = array();

for ( $i = 0; $i<=$num; $i++ ) {

$output[] = array(

'id_playlist' => !empty( $playlists[$i]['id'] ) ? $playlists[$i]['id'] : ''

, 'data_playlist' => !empty( $playlists[$i]['data'] ) ? $playlists[$i]['data'] : ''

, 'id_song' => !empty( $songs[$i]['id'] ) ? $songs[$i]['id'] : ''

, 'data_song' => !empty( $songs[$i]['data'] ) ? $songs[$i]['data'] : ''

, 'id_rate' => !empty( $rates[$i]['id'] ) ? $rates[$i]['id'] : ''

, 'data_rate' => !empty( $rates[$i]['data'] ) ? $rates[$i]['data'] : ''

);

}

foreach ( $output as $out ) {

echo implode( ' - ', $out);

echo '
';

}

输出:

1 - playlist1 - 1 - song1 - 1 - rating1

2 - playlist2 - 2 - song2 - 2 - rating2

3 - playlist3 - 3 - song3 - 3 - rating3

- - 4 - song4 - 4 - rating4

- - 5 - song5 - 5 - rating5

- - - - 6 - rating6

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值