2017-01-16 6 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); 
?> 

私は最初のスクリプトと同じ結果を得ることができますが、私のデータベースから2番目の配列$name_listをインポートします。データベースからの配列に変換する

私は以下のスクリプトを実行しましたが、動作しません。

<?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); 
?> 

答えて

2

$name_list既に配列であるため、この行$name_list = explode(",",$name_list);を削除し、あなたは例えば、配列に文字列を変換するために爆発することができます。

<?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); 
?> 

出力

Array 
(
    [0] => Part 1 : 

    [1] => Part 2 : 

    [2] => Part 3 : 

    [3] => Part 4 : 

    [4] => Part 5 : 
) 

ので、コードの下にしてみてください

<?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

私は既にimplodeでテストしましたが、動作しません。 –

+0

この行を削除する$name_list = explode(",",$name_list);、explodeには文字列が必要ですが、渡す配列 – msk

+0

申し訳ありませんが、私はこれを試しましたが、うまくいきません。 –

関連する問題