0

我的代码就像

    echo("<td>$row[Status]</td>");
    echo("<td>
    <select name=\"choose\" id=\"Choose\" onChange=\"\">
    <option value=\"Unverified\">Unverified</option>
    <option value=\"Approved\">Approve</option>
    <option value=\"Decline\">Decline</option>
    <option value=\"Pending\">Pending</option>                   
    </select>
    </td>");

如果 ($row[Status] == Approved) 然后代码应该像这样更改,这就是我想要做的

.
.
<option value=\"Approved\" Selected>Approve</option>
.
.

最简单的方法是为所有人创建一个简单的 if 条件,但必须有更聪明的方法来做到这一点。有任何想法吗?

我宁愿将它保存在 php 本身中。如果您要使用更复杂的符号,例如 a => b 请解释为什么使用它以及它的作用。

4

3 回答 3

1

创建一个可能值的数组,然后在循环中创建选项。这样,您只需编写一个 if 条件,将当前值与所需(此处为已批准)值匹配

于 2013-03-13T23:56:46.747 回答
0

试试这个!它将遍历整个数组,并在到达时选择选定的选项。这是你要找的吗?

尚未测试

echo ("<select name=\"choose\" id=\"Choose\" onChange=\"\">");

$sel["Unverified"] = "Unverified";
$sel["Approved"] = "Approve";
$sel["Decline"] = "Decline";
$sel["Pending"] = "Pending";

$selected = "Approved";

foreach($sel as $key => $value) {
    if ($selected == $key) {
        echo ("<option value=\"$key\">$value</option>");
    }
    else {
        echo ("<option value=\"$key\" selected>$value</option>");
    }
}

echo ("</select>");

?>
于 2013-03-14T00:22:44.083 回答
0
    echo("<td>$row[Status]</td>");
    $search= "$row[Status]\"";
    $replace= "$row[status]\" Selected";
    $subject="<td>
    <select name=\"choose\" id=\"Reason\" onChange=\"\">
         <option value=\"Unverified\">Unverified</option>
         <option value=\"Approved\">Approve</option>
         <option value=\"Decline\">Decline</option>
         <option value=\"Pending\">Pending</option>                     
         </select>
         </td>";
$subject=str_replace($search, $replace, $subject);
echo $subject;

I used the above and got my desired result... wasted an hour not knowing that str_replace would return the edited value and not replace $subject. Thanks everyone.

于 2013-03-14T01:23:30.053 回答