关于这篇文章,我问: How to get the columns names along with resultset in php/mysql?
$selecttable = mysql_query("SELECT * FROM $tablename WHERE (preis_bis <= '$price_upper' AND preis_bis > '$price_lower') LIMIT 1");
for ($i = 0; $i < mysql_num_fields($selecttable); $i++) {
$field_info = mysql_fetch_field($selecttable, $i);
// not WORKING
while($rowvalue = mysql_fetch_row($selecttable)) {
echo "<tr><td>Price: ".$rowvalue[$i]."</td></tr>";
}
echo "<tr><td style='border:1px solid #c0c0c0;padding:10px;'><!-- {$field_info->name} -->";
// get Logo and provider name
$select_getlogo = mysql_query("SELECT * FROM rrv_anbieter WHERE aid = '$field_info->name' LIMIT 1");
while($row_logo = mysql_fetch_object($select_getlogo)){
echo $row_logo->name.'<br><img src="images/'.$row_logo->logo.'" style="max-width: 200px;">';
}
#while($rowvalues2 = mysql_fetch_row($selecttable)) {
# foreach($rowvalues2 as $_column) {
# echo "<td>{$_column}</td>";
# }
#}
echo "</td></tr>";
}
我无法在“for”循环中获取正确的行值。编写 col 名称是可行的,但在同一循环中另外显示正确的值则不行。
有人可以帮忙吗?
最佳答案
您需要在内部循环中再次迭代 以获取表格列的所有行。
while($rowvalue = mysql_fetch_row($selecttable)) {
foreach($rowvalue as $r){
echo "<tr><td> ".$r."</td></tr>";
}
}
$rowvalue[$i]
显示行不正确 因为它遵循基于外循环的索引 $i
。
所以基本上,循环将打印每列的所有行 n 次,其中 n=所有列的数量,而不仅仅是 price 列。
.
您还可以打印所有元素 per-$rowvalue
一次:
while($rowvalue = mysql_fetch_row($selecttable)) {
$allElements = implode(",",$rowvalue ); // comma ',' is the separator
echo "<tr><td>". $allElements."</td></tr>";
}
}
关于php - 如何在一个循环中获取包含正确结果值的 mysql 列名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35224932/