这是我的代码:
$inv = array('field1','field2','field3','field4');
$sql = "select * from table1 where id='1'";
$result = mysql_query($sql);
if(!$result){
print mysql_error();
}else{
while($row = mysql_fetch_array($result)){
foreach($inv as $i){
print $row[$i];
}
}
}
table1由以下字段名组成:field1,field2,field3,field4,field5,field6,field7
$inv = explode(',',$item) where $item = table2 $row[value] 返回一个以逗号分隔的字符串,可能包含'field1,field2,field5' 或 'field3,field4,field6' ...ETC。
怎么只打印field1的值?这段代码有什么问题?
while($row = mysql_fetch_array($result)){
print $row['field1'];
print $row['field2'];
print $row['field3'];
print $row['field4'];
}
但如果我这样做,它将打印所有值。
最佳答案
您正在对数组使用 explode()。 Explode 用于从字符串创建数组。您不必这样做,请参阅手册 http://php.net/explode了解。更改下面的行
$inv = array('field1','field2','field3','field4');
$item = explode(',',$inv);
到
$item = array('field1','field2','field3','field4');
关于php - foreach 在 while 循环中获取行值...?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15400559/