从mysql表中打印SELECT数组

时间:2015-02-17 17:56:18

标签: php mysql sql arrays select

我的表中有一个包含如下数组的列:

1,4,2,8,4,5,7

如何选择这些数字并单独打印?

Item: 1
Item: 4
Item: 2
Item: 8
Item: 4
Item: 5
Item: 7

我尝试过:

$result = mysql_query('SELECT * FROM test');

$arr = array();

while(($row = mysql_fetch_array($result))) {
    $arr = array_merge($arr , explode(',', $row['item']));
    echo "Item: " . $arr . "<br>";
}

结果:

Item: Array
Item: Array
Item: Array
Item: Array
Item: Array
Item: Array
Item: Array

任何人都可以帮助我吗?

3 个答案:

答案 0 :(得分:2)

你最大的问题是尝试立即回显整个数组,而不是一次回显数组的索引。

除非您计划在while循环后再次使用所有行,否则您不需要array_merge,所以请将其取出。你需要的是while循环中的foreach来遍历由explode创建的数组。

while(($row = mysql_fetch_array($result))) 
{
    $arr = explode(',', $row['item']);
    foreach ($arr as $key => $value)
    {
       echo "Item [$key]: " . $value . "<br>";
    }
}

(因为mysql_已被弃用,你真的应该关闭mysqli_到PDO或mysql_。)

答案 1 :(得分:0)

尝试:

$arr = explode(',', $row['item']);
foreach($arr as $single){
  echo "item: $single";
}

答案 2 :(得分:0)

你快到了。我希望这能给出你期望的结果。在您的问题中,目前尚不清楚数据的存储方式。

如果所有数据都在一行中,则可以执行此操作:

$result = mysql_query('SELECT item  FROM test');
$arr = array(); 
$row = mysql_fetch_array($result);
$arr = explode(',', $row['item']);
foreach ($arr as $item) {
    echo "Item: " . $item . "<br>";
}