我从数据库中获取数据,假设表中有23列,那么我必须编写23行来设置值。 还有其他简短的方法吗?
在下面的示例中,只有15列,我写了15行。任何简短的方式?
while( $row = mysql_fetch_array( $export ) )
{
$line = '';
$line.=setValue($row[0]);
$line.=setValue($row[1]);
$line.=setValue($row[2]);
$line.=setValue($row[3]);
$line.=setValue($row[4]);
$line.=setValue($row[5]);
$line.=setValue($row[6]);
$line.=setValue($row[7]);
$line.=setValue($row[8]);
$line.=setValue($row[9]);
$line.=setValue($row[10]);
$line.=setValue($row[11]);
$line.=setValue($row[12]);
$line.=setValue($row[13]);
$line.=setValue($row[14]);
}
答案 0 :(得分:6)
while( $row = mysql_fetch_array( $export ) )
{
$line = '';
foreach($row as $value) {
$line.=setValue($value);
}
}
答案 1 :(得分:0)
我不确定这是否是您正在寻找的,但您可以使用这样的for循环:
while( $row = mysql_fetch_array( $export ) )
{
$line = '';
for($i = 0; $i < 15; $i++)
{
$line.=setValue($row[$i]);
}
}
答案 2 :(得分:0)
while( $row = mysql_fetch_array( $export ) )
{
$line = '';
for($i = 0; $i < 15; $i++) {
$line .= setValue($row[$i]);
}
}
这是一种方法。还有其他人。您可以使用返回数组的计数替换“15”。这样,for循环将迭代直到数组结束。
Ups,哈哈,太晚了......
答案 3 :(得分:0)
虽然你可以做类似......
while ($row=mysql_fetch_array($export)) {
$line=array();
$line=array_map('setValue',$xport);
$line=implode('',$line);
}
....它是一个非常混乱的构造 - 它预先假定查询将返回一个非常明确定义的结果集,并且结果集的结构及其后续应用程序是diplaced;作为一般经验法则,你永远不应该使用mysql_fetch_array - 改为使用mysql_fetch_assoc。