0

現在、2 つのドロップダウンと div があります。<option>私の目的は、div 内の 2 番目のドロップダウンの選択に出力された変数を使用できるようにすることです。示されているように、配列を使用してこれを実行しようとしました。

これが私がこれまでに持っているものです:

$items = array();

// converting day into the date of the next time that day occurs

function getDateString($day) {
        if (date("l") == $day) {
            return date("D j M");
        }
        else {
            $date = strtotime("next $day");
            return date("D j M",$date);
        }
    }

// populating the second dropdown

    function getClubs() {
    connect();

    date_default_timezone_set('Europe/London');

    $day = date("l");
    $time = date("G");

    if ($time >= 21) {
        $day = date('l', strtotime($day .' +1 day'));
        }


    if ($day == Monday) {
        $query = "SELECT * FROM nights WHERE city = 'Cambridge' ORDER BY FIELD(day, 'MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY', 'SUNDAY')";
        }

    else if ($day == Tuesday) {
        $query = "SELECT name FROM nights WHERE city = 'Cambridge' ORDER BY FIELD(day, 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY', 'SUNDAY', 'MONDAY')";
        }

    else if ($day == Wednesday) {
        $query = "SELECT name FROM nights WHERE city = 'Cambridge' ORDER BY FIELD(day, 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY', 'SUNDAY', 'MONDAY', 'TUESDAY')";
        }

    else if ($day == Thursday) {
        $query = "SELECT name FROM nights WHERE city = 'Cambridge' ORDER BY FIELD(day, 'THURSDAY', 'FRIDAY', 'SATURDAY', 'SUNDAY', 'MONDAY', 'TUESDAY', 'WEDNESDAY')";
        }

    else if ($day == Friday) {
        $query = "SELECT name FROM nights WHERE city = 'Cambridge' ORDER BY FIELD(day, 'FRIDAY', 'SATURDAY', 'SUNDAY', 'MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY')";
        }

    else if ($day == Saturday) {
        $query = "SELECT name FROM nights WHERE city = 'Cambridge' ORDER BY FIELD(day, 'SATURDAY', 'SUNDAY', 'MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY')";
        }

    else if ($day == Sunday) {
        $query = "SELECT name FROM nights WHERE city = 'Cambridge' ORDER BY FIELD(day, 'SUNDAY', 'MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY')";
        }


        $result = mysql_query($query);
        $items = array();

        if($result && mysql_num_rows($result) > 0) { 
            while ($row = mysql_fetch_array($result)) { 
    //          $items[] = array($row['name']);

    $name = $row['name'];
    $day = $row['day'];

// add these two to an array

                array_push($items, $name, $day);

                echo "<option>" . $name . " (" . getDateString($day) . ")</option>";

                }         
        }
    }

// populating div

function printDetails() {

// echo $name (as an example) from the array above

   echo $items[0];
}
4

1 に答える 1

0

変化する:

echo "<option>" . $name . " (" . getDateString($day) . ")</option>";

$dropdown .= "<option>" . $name . " (" . getDateString($day) . ")</option>";

そして、あなたのダウンの中に

<select><?=$dropdown;?></select>

印刷されている HTML の順序で存在するコード内のオプション タグをエコーし​​ています。つまり、選択したタグの外でエコーしています。.= を使用することで、 $dropdown 変数をループ内の残りのオプションと連結します。

最終的に、ダウンダウン オプションは $dropdown に存在し、ページのどこにでも使用できます。

元:

<div><?=$dropdown;?></div>
<select><?=$dropdown;?></select>

ただし、各アイテムのタグに注意してください。

于 2012-06-11T14:01:50.740 に答える