2017-08-27 1 views
-1

angezeigt werden Ich habe Spaltenname als E-Mail aufgerufen. Da habe ich mehr als 100 Zeilen. Einige Zeilen haben mehr als 10 Datensätze mit einem Komma (,) einige haben nur 1 Datensätze. Ich muss alle Datensätze in einer Zeile anzeigen.Wie die mehreren Datensätze in einer Zeile aus einer einzelnen Spalte und alle Zeilen mit php

Das ist mein Tisch

enter image description here

Ich bin eine Ausgabe wie

bekommen

enter image description here

Der Ausgang I in einer Zeile müssen, damit ich es exportieren kann.

$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

benötigen Sie den Screenshot in der Frage zu befestigen. Setzen Sie den Link nicht. – Ravi

+0

Es tut mir wirklich leid, Screenshot-Taste funktioniert nicht auf meiner Tastatur –

+0

gibt es viele Tools zur Verfügung, um das Snap Ihres Bildschirms zu bekommen. Du könntest irgendwas benutzen. Ich werde diesen Link nicht besuchen. – Ravi

Antwort

0

ich durch explodierte Array iterieren würde:

$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

Aus der Perspektive der Datenbank ist es nicht empfehlenswert und sicherlich keine gute Praxis, Daten als kommagetrennte Liste zu haben. Sie sollten normalizing Ihre Datenbank betrachten. Nachdem Sie das gesagt haben, sollten Sie das folgende Verfahren befolgen, um ab sofort (oder vorerst) das gewünschte Ergebnis zu erzielen.

Erstellen Sie ein leeres Array (z. B. $resultArr) vor Beginn der while Schleife. In jeder Iteration von while Schleife, explodeE-Mail Spaltenwert und fügen Sie sie an $resultArr Array. Schließlich, nach dem Verlassen der Schleife, führen Sie einfach implode Operation auf dem resultierenden Array zu alle Datensätze in einer Zeile anzeigen.

$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); 
} 
Verwandte Themen