SELECT 来自 mysql table 的数组并打印
SELECT array from mysql table and print
我的 table 中有一列包含如下数组:
1,4,2,8,4,5,7
如何select这些数字并分别打印出来?
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
谁能帮帮我?
尝试:
$arr = explode(',', $row['item']);
foreach($arr as $single){
echo "item: $single";
}
您最大的问题是尝试一次回显整个数组,而不是一次回显数组的索引。
除非您计划在 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_
到 PDO 或 mysqli_
,因为 mysql_
已被弃用。)
你快到了。我希望这能给出您期望的结果。在您的问题中,尚不清楚数据的存储方式。
如果所有数据都在一行中,这样做就可以了:
$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>";
}
我的 table 中有一列包含如下数组:
1,4,2,8,4,5,7
如何select这些数字并分别打印出来?
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
谁能帮帮我?
尝试:
$arr = explode(',', $row['item']);
foreach($arr as $single){
echo "item: $single";
}
您最大的问题是尝试一次回显整个数组,而不是一次回显数组的索引。
除非您计划在 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_
到 PDO 或 mysqli_
,因为 mysql_
已被弃用。)
你快到了。我希望这能给出您期望的结果。在您的问题中,尚不清楚数据的存储方式。
如果所有数据都在一行中,这样做就可以了:
$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>";
}