我一直在网站上搜索(并通过谷歌),但我想我可能会误解我的问题。硬编码选择的动态下拉框
这是我的情况。我有这个动态填充的下拉菜单(正在工作),在某些情况下,它可以接收显示特定选项的值。
echo "<td><select id='bids_id' class='ui-widget-content ui-corner-all normalselect' style='width: 150px'>";
$sql = "SELECT
`bids`.`id`,
`bids`.`name`
FROM
`bids`
Inner Join `bids_primes` ON `bids`.`id` = `bids_primes`.`bid_id`
WHERE
`bids_primes`.`tid` = '". $db->real_escape_string($_SESSION['Current_TID']) ."'
";
$querybids = $db->query($sql);
while($row = $querybids->fetch_object()) {
echo "<option value='{$row->id}' ". ($row->id == $timeinfo->relatedbid ? "selected=selected" : "") .">{$row->name}</option>";
}
现在我想要做的唯一的事情,没有运气,就是添加一个“硬编码”选择与“0”的价值观和“其他”的文字。这个选择也应该受到同一个技工的约束(可以指定预选)。
[更新] 因此,为了帮助解决我的情况,下面是本部分前面的代码。这是从另一个PHP文件(与div相同的主体)中调用的PHP文件。所讨论的PHP是用于新数据输入和现有数据修改(并且与数据库交互)的输入表单。
脚本知道它是基于它作为参数接收的“entry_id”添加或修改,有点像函数。
if(isset($_REQUEST['entry']) && ($_REQUEST['entry'] > 0)) {
$sql = "SELECT
`cap_plan`.`entryid`,
`cap_plan`.`startdate`,
`bids`.`name`,
`cap_plan`.`duration`,
`cap_plan`.`description`,
`cap_plan`.`relatedbid`
FROM
`cap_plan`
LEFT JOIN
`bids` ON `cap_plan`.`relatedbid` = `bids`.`id`
WHERE
`cap_plan`.`entryid` = '". $db->real_escape_string($_REQUEST['entry']) ."'
";
$timeinfo = $db->query($sql)->fetch_object();
}
else {
$timeinfo = new StdClass();
$timeinfo->entryid = 0;
$timeinfo->employee = $_SESSION['name'];
$timeinfo->startdate = date("Y-m-d");
$timeinfo->duration = "";
$timeinfo->description = "";
$timeinfo->relatedbid = "0";
}
下面是截图,以帮助说明这一切: http://i.imgur.com/EYcXfO9.png
为什么不直接在'while'语句之前回显select选项? 'echo“”'? – ChunkyBaconPlz
我不知道这是可能的。让我试试这个,然后更新线程。 – guihamel
只是FYI,在调用'while'之前,您还没有获取'$ row'对象,所以'$ row'将会是未定义的,您需要另一种方法来确定“Other”选项是否为被选中。 – ChunkyBaconPlz