我有一个由MySQL查询填充的下拉列表
while ($myrow = mysql_fetch_array($phresult))
{
if ($ID == $myrow["Cmpy_ID"])
{
printf("
<option value=\"%s\" selected>%s</option>\n", $myrow["Cmpy_ID"], $myrow["Provider_Name"]);
}
else
{
printf("
<option value=\"%s\">%s</option>\n", $myrow["Cmpy_ID"], $myrow["Provider_Name"]);
}
}
此查询在应用程序中多次使用,但仅在此特定情况下,我想排除Provider_Name ='Foo'的条目。
我不想仅为此情况更改它或包含额外查询,那么有没有办法在填充后从下拉列表中删除条目?
答案 0 :(得分:4)
在PHP执行期间,您可以在值为Foo
时跳过:
<?php
while ($myrow = mysql_fetch_array($phresult))
{
if($myrow["Provider_Name"]=='Foo')
continue;
if ($ID == $myrow["Cmpy_ID"])
{
printf("
<option value=\"%s\" selected>%s</option>\n", $myrow["Cmpy_ID"], $myrow["Provider_Name"]);
}
else
{
printf("
<option value=\"%s\">%s</option>\n", $myrow["Cmpy_ID"], $myrow["Provider_Name"]);
}
}
或者去JQuery:
$("#selector option[value='Foo']").remove();
顺便说一下,不推荐使用mysql,请使用mysqli或PDO。