我有一个SQL查询和一个数组,我在其中放置要排除的值。当我执行查询时,我想测试我的变量。
If not empty ==> Display values
If empty ==> Display one time 0 result.
我的SQL查询输出这些值:FGFR1e12,FGFR3e7,FGFR3e14
当我执行我的php脚本时,我设法显示值,但是当变量为空时,它不会进入循环。
有人知道我的剧本中我做错了什么吗?
这是我的剧本:
<?php
require_once ('config.php');
$VariantNContrib = "SELECT DISTINCT Reference FROM mytable";
$PerformVariantNContrib = mysqli_query($conn, $VariantNContrib) or die(mysqli_error($conn));
// Values to exclude are stored in an array
$arrayNoContrib = array(
'FGFR1e12',
'FGFR3e7',
'FGFR3e14'
);
while ($rowVarNContrib = mysqli_fetch_assoc($PerformVariantNContrib)) {
if (!in_array($rowVarNContrib["Reference"], $arrayNoContrib)) {
$NContribList = '' . implode(',', $rowVarNContrib) . '; ';
if (!empty($NContribList)) {
echo '<br/>Variants:' . $NContribList . '<br/>';
}
else {
echo "0 results";
}
}
}
?>
答案 0 :(得分:1)
您的代码应该是: -
$arrayNoContrib=array('FGFR1e12', 'FGFR3e7', 'FGFR3e14');
while($rowVarNContrib = mysqli_fetch_assoc($PerformVariantNContrib)) {
if(!empty($rowVarNContrib) && !in_array($rowVarNContrib["Reference"],$arrayNoContrib)){ // check $rowVarNContrib array is not empty
$NContribList=implode(',',$rowVarNContrib); // remove empty string
echo "Variants: $NContribList"."<br>"; // remove earlier <br>
}else{
echo "0 results"."<br>"; // add <br>
}
}
答案 1 :(得分:0)
empty()函数不返回true。 $NContribList=''.implode(',',$rowVarNContrib).' ';
。
FALSE
在上面的代码中,您在字符串末尾有空格,这就是 empty()返回view.clipsToBounds = true
的原因。
从字符串中删除该空格或使用PHP trim()删除不必要的空格。
答案 2 :(得分:0)
嗨,我不知道为什么你使用implode
如果我是对的。您有一个array
,其中有一些值,fetching
有些reference
,如果一切都相同,那么您显示的是0结果,如果没有,那么您显示的是该反射数。然后请一次尝试这个。
<?php
require_once ('config.php');
$VariantNContrib="SELECT DISTINCT Reference FROM mytable";
$PerformVariantNContrib=mysqli_query($conn,$VariantNContrib) or die(mysqli_error($conn));
//Values to exclude are stored in an array
$arrayNoContrib = array(
'FGFR1e12',
'FGFR3e7',
'FGFR3e14'
);
$i = 0;
while($rowVarNContrib = mysqli_fetch_assoc($PerformVariantNContrib)) {
if (!in_array($rowVarNContrib["Reference"], $arrayNoContrib)) {
$NContribList = trim($rowVarNContrib["Reference"]);
if (!empty($NContribList)) {
echo '<br/>Variants:' . $NContribList . '<br/>';
$i++;
}}
}
echo $i." results";