Php 根据所选数据库条目显示数据库中的数据

Php 根据所选数据库条目显示数据库中的数据,php,mysql,pdo,Php,Mysql,Pdo,我正在用数据库表中的条目填充下拉选择。 现在基于这个选择,我想展示数据库中的其他信息。 数据库表: 我希望实现的一个例子: 选择了event_title='Event1'的数据库条目,现在我想显示与Event1相关的event_desc、event_位置和event_要求。 选择了event_title='Event2'的数据库条目,现在我想显示与Event2相关的event_desc、event_位置和event_要求。等等 在MVC体系结构中,在下拉选择中显示事件标题的代码正在运行。 但是,

我正在用数据库表中的条目填充下拉选择。 现在基于这个选择,我想展示数据库中的其他信息。 数据库表:

我希望实现的一个例子: 选择了event_title='Event1'的数据库条目,现在我想显示与Event1相关的event_desc、event_位置和event_要求。 选择了event_title='Event2'的数据库条目,现在我想显示与Event2相关的event_desc、event_位置和event_要求。等等

在MVC体系结构中,在下拉选择中显示事件标题的代码正在运行。 但是,我无法显示其他条目。 控制器

模型

看法

我对这一切都很陌生,如果能得到任何帮助,我都会非常高兴!谢谢

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

谢谢你,接得好!我改变了这一点,但不幸的是,这并没有解决问题。从模型函数:getEventTypes您再次只返回2个元素,返回所有元素,它应该可以工作。我更新了问题中的代码。但是,它仍然不起作用。我没有得到任何错误。我正在为每个事件创建一个新对象。使用您的模型代码,我在上一个事件之前的第二个事件中得到一个意外的“}”错误。不知道为什么,这只是循环的结束。。
    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> 
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;
}