2014-10-29 98 views
0

我使用數據庫表中的條目填充下拉選擇。
現在基於該選擇,我想顯示數據庫中的其他信息。
數據庫表
與EVENT_TITLE =「事件1」的數據庫條目被選中,現在我想顯示EVENT_DESC,event_location:根據選定的數據庫條目從數據庫中顯示數據

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`) 

例子我想實現什麼和與Event1相關的event_requirements。
選擇了event_title ='Event2'的數據庫條目,現在我想顯示與Event2關聯的event_desc,event_location和event_requirements。等等......

在下拉選項(在MVC體系結構中)中顯示event_title的代碼正在工作。
但是,我不能讓其他條目顯示。

控制器

function index() 
    { 
     $overview_model = $this->loadModel('Events'); 
     $this->view->dog_types = $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_desc = $event->event_location; 
     $events[$event->event_id]->event_desc = $event->event_requirements; 
     $events[$event->event_id]->event_desc = $event->event_date; 
    } 
     return $events; 
    } 

查看

<script> 
     $(document).ready(function() { 
      $('.group').hide(); 
      $('#option').show(); 
      $('#select-event-type').change(function() { 
       $('.group').hide(); 
       $('#'+$(this).val()).show(); 
      }) 
     }); 
    </script> 

    <select id="select-event-type"> 
     <?php foreach ($this->events as $event) { 
      echo "<option value='" .$event->event_title. "'>" .$event->event_title."</option>"; 
     }?> 
    </select> 

    <div class="group"> 
     <h2><?php $this->event->event_title ?></h2> 
     <p><?php $this->event->event_desc ?></p> 
     <p><?php $this->event->event_location ?></p> 
     <p><?php $this->event->event_reuqirements ?></p> 
     <p><?php $this->event->event_date ?></p> 
    </div> 

我真的很新的這一切,將是任何種類的很開心 幫幫我!謝謝!!

回答

1
public function getEventTypes() 
{ 
    $sth = $this->db->prepare("SELECT event_id, event_title FROM events"); 
//change the above query to ->"SELECT * FROM events" 
//as you are only selecting 2 elements 
    $sth->execute(); 

    $events = array(); 

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

型號部件

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

    $events = array(); 

    foreach ($sth->fetchAll() as $key => $value) { 
     $events[$key] = $value//new stdClass(); 
       } 
    return $events; 
} 
+0

謝謝你,好趕上!我改變了這一點,不幸的是,這並沒有解決問題。 – Schwesi 2014-10-29 13:34:22

+0

from model函數:getEventTypes()你再次返回只有2個元素返回所有元素,它應該工作 – 2014-10-29 13:43:53

+0

我更新我的代碼在問題中。但是,它仍然無法正常工作。 – Schwesi 2014-10-29 13:55:03

相關問題