我试图使用php从mysql中的表中获取单个值或所有值,它适用于单个值,并且不是所有值的情况,请帮助我。
function displaySitetype() {
$result = array();
$result = site_type_find("all");
print_r($result);
$count = count($result);
for ($iter = 0; $iter < $count; $iter++) {
?> <option value="<?php echo $iter; ?>"><?php echo $result[$iter]; ?></option> <?php }
}
function site_type_find($site_type) {
if ($site_type == "all") {
$result = mysql_query("select * from site_type_table");
$count = count($result);
while ($count) {
$resultarr = mysql_fetch_assoc($result);
$arr = array_push($arr, $resultarr['site_name']);
$count--;
} return $arr;
} else {
$result = mysql_query("select site_name from site_type_table where site_id=$site_type");
$arr = mysql_fetch_array($result);
return $arr[0];
}
}
答案 0 :(得分:1)
最小修复:尝试以下操作(我想您只想要列site_name
的值)
//...
if ($site_type == "all") {
$result = mysql_query("select site_name from site_type_table");
$arr = array();
while ($resultarr = mysql_fetch_assoc($result)) {
$arr[] = $resultarr['site_name'];
}
return $arr;
} else {
//...
顺便说一句,我不建议使用mysql_*
函数(deprecated in PHP 5.5+)
请注意,您无法直接在变量$ result(这是对MySQL查询结果的引用)上调用count()
。要在您的情况下计算结果,可以使用mysql_num_rows()
(仔细检查手册页开头的红色警告框)