2015-07-21 72 views
-1

我有一個while循環,以顯示在下拉列表中所有Verkopers(或賣方),此代碼的工作,因爲它應該:語法錯誤,意想不到的T_IF

<select name="verkoper1" class="form-control"> 
    <option value="0">Geen verkoper aangeduid</option> 
     <?php 
     while($aparteVerkoper = mysqli_fetch_assoc($toonVerkopers)) 
     { 
      echo  
      "<option value='".$aparteVerkoper['PK_Verkoper']."'>" .$aparteVerkoper['VerkoperNaam'] . "</option>"; 
     } 
     ?> 
</select> 

但現在我想添加的功能,如果$ row_pandVerkoper [0]等於4,這個選項被自動選中。我試過這樣做,但我不斷收到意想不到的T_IF錯誤。這裏是我試過的:

​​

如果有人能指出我做錯了什麼,那將不勝感激!

+0

「如果($ row_pandVerkoper [0] == '4')回聲」 選擇 「;」刪除「之前和之後」;因爲條件不會用雙引號。 –

+0

你在哪裏得到了這個'$ row_pandVerkoper [0]'和這裏']。「'」如果爲什麼''。 –

+0

可能重複的[如果內部回聲語句塊?](http://stackoverflow.com/q/3507042)和[PHP解析/語法錯誤;和如何解決它們?](http://stackoverflow.com/a/18092318) – mario

回答

2

您不能在字符串中放置這樣的條件。

您的選擇是將輸出打包成條件或利用三元操作。

你可以做的是這樣的:

"<option value='".$aparteVerkoper['PK_Verkoper']."' ".($row_pandVerkoper[0] == '4' ? " selected" : "").">" .$aparteVerkoper['VerkoperNaam'] . "</option>";

+0

謝謝你對三元操作的回答和解釋。代碼給出了一個錯誤:語法錯誤,意外的')',期待','或';'我試圖刪除最後一個「)。」那麼錯誤不會顯示出來,但是下拉菜單中也沒有數據。 –

+0

已更新的答案。 –

+0

謝謝。我仍然必須在查詢本身上工作一下,但現在至少錯誤消失了。從現在開始,我會嘗試在可能的情況下實施三元操作。 –

相關問題