【问题标题】:set select in option php: Undefined property在选项 php 中设置选择:未定义的属性
【发布时间】:2019-01-22 14:59:46
【问题描述】:

谁能解释我为什么不能在选择控件中列出项目?如果我在我的 Team 类中禁用 public $team_id,并创建新对象$selectedHome_id,然后将这行代码更正为$selectedHome_id == $team->team_id,我可以列出数据,但我无法选择该项目。

image

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_idTeam 的一个实例,但该类没有名为id 的属性……它有一个名为team_id 的属性。
  • $selectedHome_id-&gt;id 不是 selectedHome_id-&gt;team_id
  • 是的,我已经这样做了。而不是id,我改变了team_id,但还是一样..
  • @JuanCaicedo 即使我改变了,它仍然给我一个错误.. 只是这次未定义的属性 $team_id

标签: php


【解决方案1】:

因此,您检查是否已通过 $_GET['htid'],如果已通过,那么您将获得 Team。然后,在您的选择范围内,您立即将其替换为新的 Team - 您认为 team_id 将设置为新的 Team 吗?

也许,而不是

if (isset($_GET['htid'])) {
  $selectedHome_id = Team::getById($_GET['htid']);
} 

你可能想要

if (isset($_GET['htid'])) {
  $selectedHome_id = Team::getById($_GET['htid']);
} else {
  $selectedHome_id = new Team(); 
}

通过这样做,当您在选项中进行三元比较时,$selectedHome_id 被设置为某个值。

虽然没有看到完整的代码,但我们缺乏意图和上下文。

【讨论】:

  • 好的,现在我摆脱了通知消息,但是如果我单击,我将无法继续选择任何选项。当我点击时,在 url 中我点击了选项 id,但它一直在 -1 上返回我
  • 你在stackoverflow.com/questions/54280679/…看到我对你其他问题的回答
  • 是的,我还没有实现它,但我已经阅读了它,它似乎对我有帮助。所以谢谢你,我忘了接受你的回答。但是我仍然有一个问题,例如,如果我输入 url ...?htid=5 ,它不会显示错误,但是当为空时,或者只是输入 url matches.php 有一个通知对于未定义的属性。 Ps:我还在学习这一切..我是新来的,你帮了我很多:D所以谢谢你。
  • 很高兴为您提供帮助。您是否在某处的公共开发服务器上拥有此功能,我可以在其中看到您遇到的错误?或者你有没有把你的代码库推送到 git,我可以在某个地方克隆和复制它?
  • 你有没有修改过学习网站?我强烈建议您查看“The Odin Project”或 FreeCodeCamp (freecodecamp.org) 之类的内容。它可能会让您更好地处理 javascript 以及使用 API。
猜你喜欢
  • 2020-09-09
  • 1970-01-01
  • 2011-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-29
  • 2014-12-27
  • 2017-07-02
相关资源
最近更新 更多