繁体   English   中英

请告诉我有更好的方法吗?

Please tell me there is a better way of doing this?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

<label for="state" class="medium">State</label>
<select name="state">
    <option value="" <?php if($_POST['state'] =="") { echo "SELECTED";} ?>>-- Select State --</option>
    <option value="AL" <?php if($_POST['state'] =="AL") { echo "SELECTED";} ?>>Alabama</option>
    <option value="AK" <?php if($_POST['state'] =="AK") { echo "SELECTED";} ?>>Alaska</option>
    <option value="AZ" <?php if($_POST['state'] =="AZ") { echo "SELECTED";} ?>>Arizona</option>
    <option value="AR" <?php if($_POST['state'] =="AR") { echo "SELECTED";} ?>>Arkansas</option>
    <option value="CA" <?php if($_POST['state'] =="CA") { echo "SELECTED";} ?>>California</option>
    <option value="CO" <?php if($_POST['state'] =="CO") { echo "SELECTED";} ?>>Colorado</option>
    <option value="CT" <?php if($_POST['state'] =="CT") { echo "SELECTED";} ?>>Connecticut</option>
    <option value="DE" <?php if($_POST['state'] =="DE") { echo "SELECTED";} ?>>Delaware</option>
    <option value="DC" <?php if($_POST['state'] =="DC") { echo "SELECTED";} ?>>District of Columbia</option>
    <option value="FL" <?php if($_POST['state'] =="FL") { echo "SELECTED";} ?>>Florida</option>
    <option value="GA" <?php if($_POST['state'] =="GA") { echo "SELECTED";} ?>>Georgia</option>
    <option value="HI" <?php if($_POST['state'] =="HI") { echo "SELECTED";} ?>>Hawaii</option>
    <option value="ID" <?php if($_POST['state'] =="ID") { echo "SELECTED";} ?>>Idaho</option>
    <option value="IL" <?php if($_POST['state'] =="IL") { echo "SELECTED";} ?>>Illinois</option>
    <option value="IN" <?php if($_POST['state'] =="IN") { echo "SELECTED";} ?>>Indiana</option>
    <option value="IA" <?php if($_POST['state'] =="IA") { echo "SELECTED";} ?>>Iowa</option>
    <option value="KS" <?php if($_POST['state'] =="KS") { echo "SELECTED";} ?>>Kansas</option>
    <option value="KY" <?php if($_POST['state'] =="KY") { echo "SELECTED";} ?>>Kentucky</option>
    <option value="LA" <?php if($_POST['state'] =="LA") { echo "SELECTED";} ?>>Louisiana</option>
    <option value="ME" <?php if($_POST['state'] =="ME") { echo "SELECTED";} ?>>Maine</option>
    <option value="MD" <?php if($_POST['state'] =="MD") { echo "SELECTED";} ?>>Maryland</option>
    <option value="MA" <?php if($_POST['state'] =="MA") { echo "SELECTED";} ?>>Massachusetts</option>
    <option value="MI" <?php if($_POST['state'] =="MI") { echo "SELECTED";} ?>>Michigan</option>
    <option value="MN" <?php if($_POST['state'] =="MN") { echo "SELECTED";} ?>>Minnesota</option>
    <option value="MS" <?php if($_POST['state'] =="MS") { echo "SELECTED";} ?>>Mississippi</option>
    <option value="MO" <?php if($_POST['state'] =="MO") { echo "SELECTED";} ?>>Missouri</option>
    <option value="MT" <?php if($_POST['state'] =="MT") { echo "SELECTED";} ?>>Montana</option>
    <option value="NE" <?php if($_POST['state'] =="NE") { echo "SELECTED";} ?>>Nebraska</option>
    <option value="NV" <?php if($_POST['state'] =="NV") { echo "SELECTED";} ?>>Nevada</option>
    <option value="NH" <?php if($_POST['state'] =="NH") { echo "SELECTED";} ?>>New Hampshire</option>
    <option value="NJ" <?php if($_POST['state'] =="NJ") { echo "SELECTED";} ?>>New Jersey</option>
    <option value="NM" <?php if($_POST['state'] =="NM") { echo "SELECTED";} ?>>New Mexico</option>
    <option value="NY" <?php if($_POST['state'] =="NY") { echo "SELECTED";} ?>>New York</option>
    <option value="NC" <?php if($_POST['state'] =="NC") { echo "SELECTED";} ?>>North Carolina</option>
    <option value="ND" <?php if($_POST['state'] =="ND") { echo "SELECTED";} ?>>North Dakota</option>
    <option value="OH" <?php if($_POST['state'] =="OH") { echo "SELECTED";} ?>>Ohio</option>
    <option value="OK" <?php if($_POST['state'] =="OK") { echo "SELECTED";} ?>>Oklahoma</option>
    <option value="OR" <?php if($_POST['state'] =="OR") { echo "SELECTED";} ?>>Oregon</option>
    <option value="PA" <?php if($_POST['state'] =="PA") { echo "SELECTED";} ?>>Pennsylvania</option>
    <option value="RI" <?php if($_POST['state'] =="RI") { echo "SELECTED";} ?>>Rhode Island</option>
    <option value="SC" <?php if($_POST['state'] =="SC") { echo "SELECTED";} ?>>South Carolina</option>
    <option value="SD" <?php if($_POST['state'] =="SD") { echo "SELECTED";} ?>>South Dakota</option>
    <option value="TN" <?php if($_POST['state'] =="TN") { echo "SELECTED";} ?>>Tennessee</option>
    <option value="TX" <?php if($_POST['state'] =="TX") { echo "SELECTED";} ?>>Texas</option>
    <option value="UT" <?php if($_POST['state'] =="UT") { echo "SELECTED";} ?>>Utah</option>
    <option value="VT" <?php if($_POST['state'] =="VT") { echo "SELECTED";} ?>>Vermont</option>
    <option value="VA" <?php if($_POST['state'] =="VA") { echo "SELECTED";} ?>>Virginia</option>
    <option value="WA" <?php if($_POST['state'] =="WA") { echo "SELECTED";} ?>>Washington</option>
    <option value="WV" <?php if($_POST['state'] =="WV") { echo "SELECTED";} ?>>West Virginia</option>
    <option value="WI" <?php if($_POST['state'] =="WI") { echo "SELECTED";} ?>>Wisconsin</option>
    <option value="WY" <?php if($_POST['state'] =="WY") { echo "SELECTED";} ?>>Wyoming</option>
</select>
5 个回复
$states = array('AL'=>'Alabama','AK'=>'Alaska'...);

foreach($states as $k=>$state){
    echo '<option value="'.$k.'"'.($_POST['state'] == $k ? 'selected="selected"' :''). '>'.$state.'</option>';
}

那只是为哈希表而哭。

$States = array("NH" => "New Hampshire", "CA" => "California");

while (list($shortName, $longName) = each($States)) {
    if($_POST['state'] == $shortName) { echo "SELECTED";} echo $longName; ?></option>
}

(不保证确切的语法,这只是我的头上很快就写了。)

编辑:好的,foreach将在这里成为首选:

foreach ($States as $shortName => $longName) {
    if($_POST['state'] == $shortName) { echo "SELECTED";} echo $longName; ?></option>
}

您可以使用较短的回显ifs(也称为第三级操作 ):

例如:

<option value="AL" <?php echo (($_POST['state'] =="AL")?"SELECTED":'') ?>>Alabama</option>

上面的示例使用:

(boolean)?(if true):(if false)

为什么不将状态放入数组,然后循环该数组以构造所有<option>

这将产生您想要的。 比EboMike完整一些。 (不,我没有调试它。)

<?php $states = array("" => "--Select state--", "AL"=> "Alabama", "AK"=>"Alaska", etc=>etc...); ?>
<label for="state" class="medium">State</label>
<select name="state">
<?php foreach ($i in $states)
      {
          echo "<option value=\"" . $i . "\" ";
          if ($_POST['state'] == $i) //May want to add a strtoupper(...) here
              echo "SELECTED";
          echo ">" . $states[$i] . "</option>\n"
      }
 ?>
 </select>
3 有人可以告诉我我做错了什么吗?

我试图解决分数背包问题 问题 : 给你'n'个物品,每件物品的{value, weight},背包的容量是'w'。你需要把这些物品放在背包里,这样背包里物品的最终价值是最大的。 我的解决方案:- 我正在尝试的输入:输入 我没有收到错误,输出窗口是空的。 ...

4 任何人都可以告诉我是否正在执行此查询吗?

我现在正在阅读的一本书中有这个问题。.我是SQl的初学者..学习它..这不是我的作业。 我只是自己尝试东西。 Sally想要查询EMP表,并确定公司在其所在的每个城市中生活着多少雇员。她编写了以下查询,但它不起作用。 查询的构造方式有什么问题? 这是我通过引用其中使用了coun ...

5 你能告诉我这段代码在做什么吗?

我有一个网站,我曾经通过谷歌广告获得流量,但谷歌不断拒绝我的广告。 甚至我的竞争对手也在成功运行。 他们有这样的代码。 你能告诉我这个JOLLYWALLET_mainScript是什么吗,知道吗? 我知道这是非常大的代码,但如果你能给我一点提示。 我会很感激 tl:博士; & ...

6 请告诉我我在做什么错[暂停]

n皇后难题是将n个皇后放在n×n棋盘上的问题,这样就不会有两个皇后互相攻击。 给定整数n,返回n个皇后难题的不同解的数量。 例: 输入:4输出:2说明:4女王难题有两种不同的解决方案,如下所示。 [[“ .Q ..”,//解决方案1“ ... Q”,“ Q ...”,“ .. ...

2019-10-20 05:09:06 0 33   c#
8 谁能告诉我哪个代码更好?

因此,这两个代码用于编程分配。 该代码的目的是提示用户输入一个正数,它将显示输入的正数,用户输入的最大和最小以及数字的平均值。 请向我解释这两个代码中哪个更好,在第一个代码中,如果不初始化max和min的值,我有什么毛病? 谢谢 这是第二个执行确切操作的代码。 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM