2014-11-03 73 views
-1

我想從我的數據庫中獲取事件的數據並將其顯示在我的主頁上。
數據庫表根據以前的數據庫選擇顯示數據庫數據

TABLE `events` (
    `event_id` INT(11) unsigned NOT NULL AUTO_INCREMENT, 
    `event_title` VARCHAR(255) NOT NULL, 
    `event_desc` TEXT, 
    `event_location` VARCHAR(255) NOT NULL, 
    `event_requirements` TEXT DEFAULT NULL, 
    `event_date` DATETIME NOT NULL, 
PRIMARY KEY (`event_id`) 

代碼(在MVC架構):
控制器

function index() 
    { 
     $overview_model = $this->loadModel('Events'); 
     $this->view->events = $overview_model->getEventTypes(); 
     $this->view->render('events/index'); 
    } 

型號

public function getEventTypes() 
    { 
     $sth = $this->db->prepare("SELECT * FROM events"); 
     $sth->execute(); 

     $events = array(); 

     foreach ($sth->fetchAll() as $event) { 
      $events[$event->event_id] = new stdClass(); 
      $events[$event->event_id]->event_title = $event->event_title; 
      $events[$event->event_id]->event_desc = $event->event_desc; 
      $events[$event->event_id]->event_location = $event->event_location; 
      $events[$event->event_id]->event_requirements = $event->event_requirements; 
      $events[$event->event_id]->event_date = $event->event_date; 
     } 
     return $events; 
    } 

查看

 <!-------- WORKS ---------------> 
     <!-- start event type selection --> 
     <div class="event-selection"> 
      <label>Choose an event:</label> 
      <select id="select-event-type"> 
       <?php foreach ($this->events as $event) { 
       echo "<option value='" .$event->event_title. "'>" .$event->event_title."</option>"; 
      }?> 
     </select> 
     </div><!-- /.event-selection --> 

     <!-------- DOES NOT WORK ---------------> 
     <!-- Start option 1 --> 
     <div id="option1" class="group"> 
      <h2><?php $event->event_title ?></h2> 
      <p><?php $event->event_desc ?></p> 
      <p><?php $event->event_location ?></p> 
      <p><?php $event->event_requirements ?></p> 
      <p><?php $event->event_date ?></p> 
     </div> <!-- /#option 1 -->    
    </div><!-- /.event-selection --> 

我所試圖實現,就是有一個下拉菜單,從中用戶可以選擇一個事件(即部分作品!)。然後在下拉菜單下方顯示該事件的信息(該部分不起作用!)。
我沒有收到任何錯誤消息。我在瀏覽器中的結果是什麼,並在控制檯是這樣的:

<!-- Start option 1 --> 
<div id="option1" class="group"> 
    <h2></h2> 
    <p></p> 
    <p></p> 
    <p></p> 
    <p></p> 
</div> <!-- /#option 1 --> 

我真的很新的這個和我將高度讚賞任何形式的幫助。

回答

2

變化

<?php $event->event_title ?> 

<?php echo $event->event_title; ?> 

你是不是echoing的result.You已經HTML使用PHP所以,你必須呼應result.And您的選擇框來選擇DB結果你必須檢查像

<select id="select-event-type"> 
      <?php foreach ($this->events as $event) { 

      if($event->event_title == $db_event_title) { 
       echo "<option value='" .$event->event_title. "' selected='selected'>" .$event->event_title."</option>"; 
      } else { 
       echo "<option value='" .$event->event_title. "'>" .$event->event_title."</option>"; 
      } 
     }?> 
</select> 
+0

哦,我的上帝!謝謝!!! – Schwesi 2014-11-03 11:05:09

+0

但是,當我在下拉菜單中更改所選事件時,它仍然沒有更新數據。它只是一直顯示第一個條目。 – Schwesi 2014-11-03 11:07:38

+1

爲此,您必須使用數據庫結果檢查選項 – Gautam3164 2014-11-03 11:08:22