从数据库转换为数组 sql php

convert to array from database sql php

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

如何获得与第一个脚本相同的结果,但我想从我的数据库中导入第二个数组 $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);
?>

删除这一行$name_list = explode(",",$name_list);,因为$name_list 已经在数组中,你可以使用explode将字符串转换为数组,例如..

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

?>