更新:我試圖實現這個由Periplo編寫的代碼,但它打破了頁面,當我看着它說的意外回聲的日誌。我不能確定錯誤,但它必須是語法,任何人都可以發現它?輸入數據沒有顯示下拉列表
new code:
<select name="campaign_owner" id="campaign_owner">
<option value="*"><?php echo $text_select; ?></option>
<?php foreach ($users as $user) { ?>
<option value="<?php echo $user['username']; ?>" <?php ($campaign_owner == $user['username']) ? echo 'selected' : ''; ?>><?php echo $user['username']; ?></option>
<?php } ?>
</select>
我有一個表單有幾個輸入。提交時,數據庫將被寫入,然後該數據將顯示爲列表中的單個記錄。在該列表中,我可以編輯每條記錄,單擊編輯時,表單將與輸入的現有信息一起加載。這對於輸入可以正常工作,但我有一個不以相同方式運行的下拉菜單。我想我需要添加一個循環到這個,但我沒有得到如何實現。我包括兩個screenchots第一個是所有空白輸入的添加屏幕,第二個是輸入填充的編輯屏幕,請注意兩個下拉菜單都不顯示數據(這些下拉菜單的數據已經輸入到數據庫中,它們只是沒有顯示出來編輯) [ [
HTML:
<div class="col-sm-5 col-sm-push-1 form-group required">
<label class="control-label" for="input-campaign-name"><?php echo $entry_name; ?></label>
<input type="text" name="campaign_name" placeholder="<?php echo $entry_name; ?>" id="input-campaign-name" class="form-control" value="<?php echo $campaign_name; ?>" />
<?php if (isset($error_name[$language['language_id']])) { ?>
<div class="text-danger"><?php echo $error_name[$language['language_id']]; ?></div>
<?php } ?>
</div>
<div class="col-sm-5 col-sm-push-1 form-group required">
<label class="control-label" ><?php echo $entry_owner; ?></label>
<select name="campaign_owner" id="campaign_owner" value="<?php echo $campaign_owner; ?>">
<option value="*"><?php echo $text_select; ?></option>
<?php foreach ($users as $user) { ?>
<option value="<?php echo $user['username']; ?>"><?php echo $user['username']; ?></option>
<?php } ?>
</select>
</div>
您需要檢查在foreach循環中顯示哪個用戶。將'selected'屬性相應地添加到'
_「它表示意外的回聲」_'($ campaign_owner == $ user ['username'])? echo'selected':'';' - 這不是[三運算符](http://php.net/manual/en/language.operators.comparison.php#language.operators.comparison.ternary)的工作方式,每個部分需要是有效的_expression_,而'echo'不是表達式。回聲需要在整個事情之前進行。 – CBroe