2012-06-11 213 views
0

我目前有兩個下拉菜單和一個div。我的目標是能夠使用div中第二個下拉列表的所選<option>中打印的變量。如圖所示,我試圖用數組來做到這一點。從while循環打印MySQL數據

這是我到目前爲止有:

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

回答

0

變化:

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

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

然後裏面你下來

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

您正在回顯代碼中的選項標記,它以正在打印的HTML順序存在。意思是,你在選擇標籤之外回顯它。通過使用。=您將$ dropdown變量與循環中的其他選項連接起來。

在一天結束時,您的延期選項將存在於$下拉菜單中,您可以在頁面的任何位置使用,無論您在何處放置它。

例如:

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

但要注意圍繞每個項目的標籤。

+0

你能解釋一下這是什麼嗎?我正在尋找可以在div中回顯的個人值(名稱,日期等)。我的下一步是更新不同下拉選擇時的div。 – Sebastian

+0

已更新的答案。 –

+0

感謝您的更新。我在其他地方嘗試使用的是當前名稱/天/等在下拉列表中選擇。所以這裏(http://comfyshoulderrest.com/guestvibe/index.php)它是在頁面加載時選中的俱樂部,因此它可以打印在右側薄而深灰色的div上。 – Sebastian