2010-06-15 35 views
2

可以在任何一個給我解釋一下如何使用PHP在記錄應該從MySQL創建一個文本文件創建一個文本文件如何使用PHP在記錄應該是從MySQL

+0

嘗試使用 「PHP的MySQL教程」 谷歌搜索。 – DisgruntledGoat 2010-06-15 11:40:15

+1

請參閱SitePoint的[服務器端編碼PHP和MySQL教程](http://articles.sitepoint.com/category/php-tutorials)或[實用PHP中的數據庫章節](http://www.tuxradar.com/practicalphp/9/0/0) – Gordon 2010-06-15 11:42:14

+0

對不起。我的意思是說,如何使用PHP創建文本文件,其中記錄應該來自mysql – Fero 2010-06-15 11:45:07

回答

4

1)以寫模式打開文件:

$myFile = "testFile.txt"; 
    $fo = fopen($myFile, 'w') or die("can't open file"); 

2)收件MySQL查詢並獲取其數據

$data_query=mysql_query("SELECT name,age from table"); 
    while($data=mysql_fetch_array($data_query)) 
    $stringData.="Name: ".$data['name']." Age:".$data['age']."\n"; 

3)將數據寫入到文件中

fwrite($fo, $stringData); 

4)關閉文件

fclose($fo); 
+0

嗨..謝謝尼克。它的工作正常。但是如何合併多個記錄。謝謝你的答案 – Fero 2010-06-15 11:51:47

+1

或者直接寫入數據(使用多個fwrite)到文件中,而不是在PHP中連接,如果你有更大的數據集。 – Eiko 2010-06-15 11:57:56

+0

這取決於你的數據,檢查我的編輯完成用戶的姓名和年齡的數據,。$ stringData將追加多個記錄後的。(點)此外,由Eiko做出的觀點是正確的,它只是你喜歡寫你的方式代碼 – nik 2010-06-15 12:06:47

0
$fh = fopen('games_set_88.php',"w");//php path 

$extend_q = mysql_query('SELECT * from mod_games_set'); 

$row_count = mysql_num_rows($extend_q); 

$col_count = mysql_num_rows(mysql_query('describe mod_games_set')); 

$data_str = "<?php \n"." $"."mod_extend_type = array(\n"; 

$startout = 1; 

while($row=mysql_fetch_assoc($extend_q)){ 
$startin = 1; 
foreach($row as $key =>$value){ 
if($startin<$col_count){ 
    if($startin == 1){ 
     $data_str .= "  '".$value."'=>array('".$key."'=>'".$value."',"; 
     }else{ 
      if($startin < $col_count-1) 
       $data_str .= "'".$key."'=>'".$value."',"; 
      else 
       $data_str .= "'".$key."'=>'".$value."')"; 
      } 
     $startin++; 
    } 
} 

if($startout < $row_count) $data_str .= ","; 
    $data_str .= "\n"; 
    $startout++; 
} 
$data_str .=");\n?>"; 
fwrite($fh,$data_str); 
fclose($fh);