2017-10-15 59 views
0

我對可能是一個天真的問題表示歉意,但是有沒有辦法使用mySQL腳本從表中的內容生成多個文本文件?例如,給定如下表:從mysql生成多個txt文件

表:籃

id_basket  id_client item 
1    1   apple 
2    1   mushroom 
3    4   potato 
4    4   cherry 
5    4   apple 
6    7   sausage 
...etc. 

生成\ n分隔txt文件如下:

的1.txt

apple 
mushroom 

4.txt

potato 
cherry 
apple 

7.txt

sausage 

...等。

理想情況下,我想這樣做而不訴諸於PHP,但我接受,PHP可能是唯一容易的路線。我非常感謝任何建議!

詹姆斯

+1

在[所以]你應該嘗試**自己寫代碼**。後** [做更多的研究](//meta.stackoverflow.com/questions/261592)**如果你有問題,你可以**發佈你已經嘗試**與清楚的解釋是什麼是'工作**並提供[** Minimal,Complete和Verifiable示例**](// stackoverflow.com/help/mcve)。我建議閱讀[問]一個好問題和[完美問題](http://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/)。另外,一定要參加[遊覽]並閱讀[this](// meta.stackoverflow.com/questions/347937/)**。 –

+0

運行你的select,通過'id_client'命令,循環返回並基於'id_client'創建/追加文件。 – chris85

+0

謝謝Chris85,我會試試看! –

回答

0

嘗試以下代碼。此工作

注:第一次您創建的根文件夾下的文件目錄。

$res = mysqli_query($conn,"SELECT GROUP_CONCAT(item) AS items , id_client FROM basket GROUP BY id_client"); 

while($row=mysqli_fetch_assoc($res)){ 
    $fileName = $row['id_client'].".txt"; 
    $csv = str_replace(",",PHP_EOL,$row['items']); 
    $csv_handler = fopen ("files/".$fileName,'w'); 
    fwrite ($csv_handler,$csv); 
    fclose ($csv_handler); 
} 
0
$query = mysqli_query($connect, "SELECT * FROM basket"); 
while($assoc = mysqli_fetch_assoc($query)){ 
$filesname = $assoc['id_client'].'.txt'; 
$contents = $assoc['item']."\n"; 
$put = file_put_contents($filesname, $contents, FILE_APPEND | LOCK_EX); 
} 

試試這個:)其將工作:)。