【发布时间】:2019-01-22 14:59:46
【问题描述】:
谁能解释我为什么不能在选择控件中列出项目?如果我在我的 Team 类中禁用 public $team_id,并创建新对象$selectedHome_id,然后将这行代码更正为$selectedHome_id == $team->team_id,我可以列出数据,但我无法选择该项目。
matches.php
<?php include("config.php");
$selectedTeam = new Team();
if (isset($_GET['htid'])) {
$selectedHome_id = Team::getById($_GET['htid']);
}
?>
<select class="custom-select-sm" id="inputGroupSelect01" aria-label="Small" aria-describedby="inputGroup-sizing-sm" onchange="window.location='?htid='+this.value" name="selHomeTeam">
<option value="-1">Choose...</option>
<?php
$selectedHome_id = new Team();
$teams = Team::getAll();
foreach ($teams as $team) {
echo "<option " .($selectedHome_id->team_id== $team->team_id?"selected":""). " value='{$team->team_id}'>{$team->name}</option>";
}
?>
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
团队.php
class Team extends ActiveRecord {
public $team_id;
public $name;
public static $table = "teams";
public static $key = "team_id";
}
【问题讨论】:
-
undefined property警告可能会导致您选择的 html 无效。修复所有 php 警告。 -
$selectedHome_id是Team的一个实例,但该类没有名为id的属性……它有一个名为team_id的属性。 -
$selectedHome_id->id不是selectedHome_id->team_id -
是的,我已经这样做了。而不是id,我改变了team_id,但还是一样..
-
@JuanCaicedo 即使我改变了,它仍然给我一个错误.. 只是这次未定义的属性 $team_id
标签: php