2016-10-15 31 views
1

嘿,我需要我的項目幫助。將數據從MySQL導出到所需格式的文本文件

我的PHP代碼 ---下面這些代碼從我的數據庫中的具體數據,而且我使用表中加入,因爲正常化。它顯示我在瀏覽器中獲取的用於檢查的數據,以及我想要的是將選定的數據保存爲具有特定格式的文本文件。請參閱下面的其他細節。

<?php 
 

 
$conn = new mysqli('localhost', 'root', '', 'db2'); 
 
if ($conn->connect_errno) { 
 
    die("Failed to connect to MySQL: (" . $conn->connect_errno . ") " . $conn->connect_error); 
 
} 
 

 
$fp = fopen("result.txt", "w"); 
 

 
$query = "SELECT product_id FROM orders_lines"; //dont mind these 
 
$result = $conn->query($query); \t //dont mind these 
 

 
$queryjoin = "SELECT orders_lines.product_id, orders.id FROM orders_lines INNER JOIN orders ON orders_lines.order_id=orders.id ORDER BY orders.id"; 
 
$resultjoin = $conn->query($queryjoin); 
 

 
if ($resultjoin->num_rows > 0) { 
 
    
 
\t echo "order id | item ordered<br>"; 
 
    while($row = $resultjoin->fetch_assoc()) { 
 
\t \t 
 
\t \t $string = implode(",", $row); 
 

 
     echo "data: " . $row["id"] . " | " . $row["product_id"] . "<br>"; 
 
\t \t 
 
\t \t fwrite($fp, $string); 
 
    } 
 
} else { 
 
    echo "0 results"; 
 
} 
 

 
fclose($fp); 
 

 
$conn->close(); 
 

 
?>

這是我的PHP代碼的輸出圖像:Output of PHP Code

電流輸出在我的文本文件 - 4是ORDER_ID,2是有序的項目屬於4,3是訂購的產品還屬於4 ....等....

4,24,35,15,25,65,56,27,27,48,28,19,49,310,310,610,410,210,810,111,511,411,312,412,512,913,313,213,614,514,214,314,714,414,115,415,415,815,515,115,315,215,616,816,517,417,117,517,817,317,7

我在一個文本文件

2,3 \t \t //order id 4 -->comment 
 
1,2,6,5 \t \t //order id 5 
 
7 \t \t //order id 6 
 
2,4 \t \t //order id 7 
 
2,1 \t \t //order id 8 
 
4,3 \t \t //order id 9 
 
3,6,4,2,8,1 \t //order id 10 
 
5,4,3 \t \t //order id 11 
 
4,5,9 \t \t //order id 12 
 
3,2,6 \t \t //order id 13 
 
.....

任何幫助所需的輸出將不勝感激。謝謝。

+0

據我可以看到,你幾乎在那裏 - 你只需要做一些字符串操作,所以輸出結果就是你想要的結果,將它保存到文件 – kerry

+0

@kerry,謝謝。我試圖做一些研究,但我無法解決它。我不擅長邏輯。 – Emjey23

+0

我無法將您顯示的實際輸出與所需結果進行比較,並瞭解您。 '4是order_id,2是訂購的物品屬於4,3是訂購的物品也屬於4 ....等....'然後我看到4,24,35,15,25,65,56由於實際輸出和期望的輸出似乎沒有邏輯關係 – kerry

回答

0

謝謝,我知道了......這是正確的答案我一直在尋找我的問題..我的我的好朋友幫助我..

if ($resultjoin->num_rows > 0) { 
 
    $currentRowId = ''; 
 
    $output = ''; 
 
\t while($row = $resultjoin->fetch_assoc()) { 
 
\t \t if($row["id"]==$currentRowId){ 
 
\t \t \t echo ', '.$row["product_id"]; 
 
\t \t \t $output = $output.', '.$row["product_id"]; 
 
\t \t } else if($currentRowId=='') { 
 
\t \t \t $currentRowId = $row["id"]; 
 
\t \t \t echo $row["product_id"]; 
 
\t \t \t $output = $output . $row["product_id"]; 
 
\t \t } else { 
 
\t \t \t $currentRowId = $row["id"]; 
 
\t \t \t echo '<br>'.$row["product_id"]; 
 
\t \t \t $output = $output . PHP_EOL . $row["product_id"]; 
 
\t \t } 
 
    } 
 
\t echo $output; 
 
\t fwrite($fp, $output); 
 
} else { 
 
    echo "0 results"; 
 
}

相關問題