2017-10-17 120 views
-1

更新:我試圖實現這個由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第一個是所有空白輸入的添加屏幕,第二個是輸入填充的編輯屏幕,請注意兩個下拉菜單都不顯示數據(這些下拉菜單的數據已經輸入到數據庫中,它們只是沒有顯示出來編輯) [add screen [edit screen]

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> 
+0

您需要檢查在foreach循環中顯示哪個用戶。將'selected'屬性相應地添加到'

+0

_「它表示意外的回聲」_'($ campaign_owner == $ user ['username'])? echo'selected':'';' - 這不是[三運算符](http://php.net/manual/en/language.operators.comparison.php#language.operators.comparison.ternary)的工作方式,每個部分需要是有效的_expression_,而'echo'不是表達式。回聲需要在整個事情之前進行。 – CBroe

回答

0

假設$ campaign_owner是一個用戶名,試試這個:

ü PDATED

<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' : echo ''; ?>><?php echo $user['username']; ?></option> 
    <?php } ?> 
</select> 
+0

嘿感謝那,但是它的破壞,我查看了error.log,並且在第二個選項值行上出現意外的回顯錯誤。 –