Php 根据所选数据库条目显示数据库中的数据
我正在用数据库表中的条目填充下拉选择。 现在基于这个选择,我想展示数据库中的其他信息。 数据库表: 我希望实现的一个例子: 选择了event_title='Event1'的数据库条目,现在我想显示与Event1相关的event_desc、event_位置和event_要求。 选择了event_title='Event2'的数据库条目,现在我想显示与Event2相关的event_desc、event_位置和event_要求。等等 在MVC体系结构中,在下拉选择中显示事件标题的代码正在运行。 但是,我无法显示其他条目。 控制器 模型 看法 我对这一切都很陌生,如果能得到任何帮助,我都会非常高兴!谢谢Php 根据所选数据库条目显示数据库中的数据,php,mysql,pdo,Php,Mysql,Pdo,我正在用数据库表中的条目填充下拉选择。 现在基于这个选择,我想展示数据库中的其他信息。 数据库表: 我希望实现的一个例子: 选择了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;
}