1

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];
    }
}
4

1 に答える 1

1

最小限の修正: 以下を試してください ( column の値のみが必要だと思います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_*関数の使用はお勧めしません ( PHP 5.5 以降では廃止予定) 。

count()変数 $result (MySQL クエリ結果への参照) を直接呼び出すことはできないことに注意してください。あなたの状況で結果の数を取得するには、次を使用できますmysql_num_rows()(マニュアルページの最初にある赤い警告ボックスを注意深く確認してください)

于 2013-04-09T12:07:10.437 に答える