2017-08-27 62 views
-1

我有一個名爲email的列名。在那裏,我有超過100行。某些行有超過10個記錄(逗號(,)一些只有1個記錄。我必須在一行中顯示所有記錄。如何使用php顯示單列和所有行中的多條記錄

這是我的表

enter image description here

我越來越像輸出

enter image description here

我在一條線需要,這樣我可以導出它的輸出。

$sql ="SELECT email FROM email12"; 
$result = $conn->query($sql); 
if ($result->num_rows > 0) { 
while($row = $result->fetch_assoc()) { 
    $a=$row['email']; 
    $b = explode(',',$a); 
    echo '<pre>'; print_r($b);echo '<pre>'; 
    } 
    } 
+0

你需要附上的截圖中的問題。不要放置鏈接。 – Ravi

+0

實際上,我很抱歉,屏幕截圖按鈕無法在我的鍵盤上工作 –

+0

有許多工具可用於獲取屏幕快照。你可以使用任何。我不會去看那個鏈接。 – Ravi

回答

0

我將通過爆炸數組遍歷:

$sql ="SELECT email FROM email12"; 
$result = $conn->query($sql); 
if ($result->num_rows > 0) { 
while($row = $result->fetch_assoc()) { 
    $a=$row['email']; 
    $b = explode(',',$a); 
    foreach($b as $email) { 
    echo '<pre>'; print_r($email);echo '<pre>'; 
    } 
} 
} 
0

從數據庫的角度來看,不推薦使用數據作爲逗號分隔列表,這不是一個好習慣。你應該考慮normalizing你的數據庫。話雖如此,你應該按照以下程序達到目前(或暫時)所需的結果。

while循環開始之前創建一個空數組(例如,$resultArr)。在while循環的每次迭代中,explode電子郵件列值並將它們追加到$resultArr數組。最後,在循環出來後,只需對結果數組執行implode操作即可顯示一行中的所有記錄

$sql ="SELECT email FROM email12"; 
$result = $conn->query($sql); 
if ($result->num_rows > 0) { 
    $resultArr = array(); 
    while($row = $result->fetch_assoc()) { 
     $resultArr[] = explode(',',$row['email']); 
    } 
    echo implode(',', $resultArr); 
} 
相關問題