我想以逗号分隔的逗号
显示字符串这是我的代码
function GetItemIds()
{
$i=0;
$query="SELECT item_id FROM common.items ORDER BY item_id DESC LIMIT 10";
$str="";
$result= mysql_query($query);
while($result1= mysql_fetch_row($result))
{
if($i==0)
{
$str .= $result1[0];
}
else
{
$str .=",".$result1[0];
}
}
echo $strs;
}
但是在这里我打印str我有这样的输出12345678但是我想要1,2,3,4所以请帮帮我
提前致谢
答案 0 :(得分:2)
嗯,显然,你没有在循环结束时增加$i
变量。
答案 1 :(得分:2)
另一个实施理念:
$a = array();
while($result1= mysql_fetch_row($result))
{
$a[] = $result1[0];
}
echo implode(',', $a);
答案 2 :(得分:1)
更好的方法:
function GetItemIds($num = 10) {
$q = "SELECT item_id FROM common.items ORDER BY item_id DESC LIMIT " . $num;
$result = mysql_query($q);
$ids = array();
while($row = mysql_fetch_assoc($result)) {
$ids[] = $row['item_id'];
}
return implode(',', $ids);
}
echo GetItemIds();
答案 3 :(得分:0)
您的代码会检查$i == 0
是否为$str .= $result1[0]
。
将$i
定义为0
后,您永远不会更改它。将$i++
添加到循环的末尾。
答案 4 :(得分:0)
function GetItemIds()
{
$i=0;
$query="SELECT item_id FROM common.items ORDER BY item_id DESC LIMIT 10";
$str = "";
$result = mysql_query($query);
while($result1 = mysql_fetch_row($result))
{
if($i == 0)
{
$str .= $result1[0];
}
else
{
$str .=",".$result1[0];
}
$i++;
}
echo $strs;
}
答案 5 :(得分:0)
我会使用数组然后加入:
$arr = array();
while( $result1 = mysql_fetch_row($result))
{
array_push($arr, $result1[0]);
}
return join(",", $arr);
关于你的代码,你需要增加$ i,并返回$ str而不是$ strs ...(我猜错误只有错误)
答案 6 :(得分:-1)
我认为你想从结果数组中创建一个格式化的字符串。
替换
while($result1= mysql_fetch_row($result))
{
...
}
通过
mysql_fetch_array($result,MYSQL_NUM);
$str = implode(',',$result);