[英]if else condition not working in a function
我正在做一個函數,我從mysql表中得到以逗號分隔的單詞形式的結果。 我使用explode分離了它們,然后嘗試將條件檢查放入循環的if和else語句中。 但條件檢查不工作我試圖呼應來自數據庫的結果,它出來是V
並沒有條件檢查的V
在我的功能,但它不能在這里工作是我的代碼
function partner_diet($page,$user_id)
{
$getrow=mysql_query("SELECT * from partner_prefrences where uid='$user_id'");
$results=mysql_fetch_array($getrow);
$string=$results['diet'];
$string = preg_replace('/\.$/', '', $string); //Remove dot at end if exists
$array = explode(',', $string); //split string into array seperated by ', '
//loop over values
?>
<select name="mipdiet" class="mipdiet" multiple="multiple">
<option <?php foreach($array as $value) { if($value=='V') {?> checked <?php } } ?> name="pdiet" value="V"> Vegetarian </option>
<option <?php foreach($array as $value) { if($value=='N') {?> checked <?php } } ?> name="pdiet" value="N"> Non Vegetarian </option>
<option <?php foreach($array as $value) { if($value=='J') {?> checked <?php } } ?> name="pdiet" value="J"> Jain </option>
<option <?php foreach($array as $value) { if($value=='E') {?> checked <?php } } ?> name="pdiet" value="E"> Eggetarian </option>
</select>
<?php
}
幾個技巧。
*
,特別是如果您只想使用一個字段時。 在選擇語句中指定字段。 mysql_fetch_assoc()
in_array()
var_dump()
來查看每個變量的內容,而不管類型如何。 我建議您自上而下。 祝你好運,希望這會有幫助。 干杯!
我不是php方面的專家,但是$ string是您數據庫中列的數組,您不需要循環嗎??? 因為正確地知道您有一個數組,然后嘗試刪除數組末尾的點。
同樣在您的html上,您的選擇我不記得該選項的屬性檢查更多,如selected = selected。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.