簡體   English   中英

如果/其他有條件 <select>選項

[英]If/else for conditional <select> option

我在為HTML選擇表單中的選項獲取簡單的if / else條件感到麻煩。 如果出價值為“ N”,那么我希望選擇字段的一個選項更改為“ Y”,反之亦然。 我知道我的數據庫連接良好,其他php都可以正常工作,並且表單可以正常更新db,直到我嘗試在php條件代碼中工作,所以我只需要獲取正確的語法即可。

 /* fetch associative array */
 while ($row = mysqli_fetch_assoc($result)){
 ?>

 <form method="post" name="update" action="update.php" >
 <select name="bid">

 <option value="<?php echo $row['bid']; ?>" selected="selected">
 <?php echo $row['bid']; ?></option>

 <? if ($row['bid'] == 'N') {  
 ?>

 <option value="Y">Y</option>

 <?   } else {

 ?>

 <option value="N">N</option>

 <? }
 ?>

</select>
<input type="submit" name="Submit" value="update" > 
</form>

<?
}

if語句期望表達式,並且語句中有語法錯誤

if (echo $row['bid']; == 'N')

由於echo和分號而導致的語法錯誤;

您應該將條件更改為

if ($row['bid'] == 'N'){

如果$row['bid']字符串,則需要與strcmp進行比較,像這樣

if (strcmp($row['bid'] , 'N') == 0){

您還需要將<input>標記移到<select>

您的<input type="submit"><select>里面,所以我將其移到了外面。

以這種方式使用if語句也是不正確的:

if (echo $row['bid']; == 'N')

正確的是這樣的:

if ($row['bid'] == 'N')

這是更正的代碼:

<form method="post" name="update" action="update.php" >
<select name="bid">

<?php
echo '<option value="'.$row['bid'].'" selected="selected">'.$row['bid'].'</option>';

if ($row['bid'] == 'N') echo '<option value="Y">Y</option>';
else echo '<option value="N">N</option>';

echo '</select>';
?>

<input type="submit" name="Submit" value="update" >
</form>

您的條件不好,必須刪除echo; 它應該像這樣

<? if ($row['bid'] == 'N') { ?>

並且您的提交按鈕應顯示在選擇字段之外。 您的代碼應如下所示:

<form method="post" name="update" action="update.php" >
    <select name="bid">

       <option value="<?=$row['bid']?>" selected="selected">
           <?=$row['bid']?>
       </option>

      <?php if ($row['bid'] == 'N') { 
          echo '<option value="Y">Y</option>';
      } else {
          echo '<option value="N">N</option>';
      }
      ?>

     </select>
     <input type="submit" name="Submit" value="update" > 
 </form>

您的if條件語法錯誤。 刪除分號和echo語句。

<form method="post" name="update" action="update.php" >
 <select name="bid">

 <option value="<?php echo $row['bid']; ?>" selected="selected">
 <?php echo $row['bid']; ?></option>

 <? if ($row['bid'] == 'N') {  
 ?>

 <option value="Y">Y</option>

 <?   } else {

 ?>

 <option value="N">N</option>

 <? }
 ?>

 <input type="submit" name="Submit" value="update" >

 </select> 
 </form>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM