2017-01-16 11 views
2
<?php 
$content = "my content"; 
$parts = array("Part 1 :", "Part 2 :", "Part 3 :","Part 4 :", "Part 5 :"); 
$name_list = array("Part 1 :\n", "Part 2 :\n", "Part 3 :\n","Part 4 :\n", "Part 5 :"); 

$email_body = "Product:\n" .str_replace($parts, $name_list, $content); 
?> 

Wie ich das gleiche Ergebnis wie im ersten Skript erhalten kann, aber ich möchte das zweite Array $name_list aus meiner Datenbank importieren.konvertieren Array aus der Datenbank SQL PHP

Ich habe das Skript unten, aber es funktioniert nicht.

<?php 
$query = "SELECT * FROM my_table WHERE id LIKE '%$id%'"; 
$search = mysql_query($query) or die(mysql_error()); 

$name_list = array(); 
while ($row = mysql_fetch_array($search)) { 
    $name_list[] = $row['name'] . ":\n,"; 
} 
$name_list = explode(", ", $name_list); 
?> 

Antwort

2

Entfernen Sie diese Zeile $name_list = explode(",",$name_list);, weil $name_list bereits in Array, und Sie können String Array verwenden explodieren zu konvertieren, z. B.

<?php 
    $name_list = "Part 1 :\n, Part 2 :\n, Part 3 :\n, Part 4 :\n, Part 5 :"; 
    $name_list = explode(",", $name_list); 
    print_r($name_list); 
?> 

Ausgang

Array 
(
    [0] => Part 1 : 

    [1] => Part 2 : 

    [2] => Part 3 : 

    [3] => Part 4 : 

    [4] => Part 5 : 
) 

so Code unten versuchen

<?php 
$query = "SELECT * FROM my_table WHERE id LIKE '%$id%'"; 
$search = mysql_query($query) or die(mysql_error()); 


$name_list = array(); 
while ($row = mysql_fetch_array($search)) { 
    $name_list[] = $row['name'].":\n,"; 
} 

$parts = array("Part 1 :", "Part 2 :", "Part 3 :","Part 4 :", "Part 5 :"); 

$email_body = "Product:\n" .str_replace($parts, $name_list, $content); 

?> 
+0

habe ich schon mit implode getestet, aber es funktioniert nicht. –

+0

entfernen Sie diese Zeile $name_list = explode(",",$name_list); nur, weil explode erfordern Zeichenfolge, aber Ihre Weitergabe Array – msk

+0

Sorry, ich habe das versucht, aber es funktioniert auch nicht. –