[英]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.