0

我正在使用 PHP 开发在线商店,因此在productdetails.php显示产品详细信息的地方,我编写了以下代码:

if(!empty($pro_colors))
{
echo "
    <div class=''>
        <h4 class='' style='float:right'>&nbsp;:رنگ <span>*</span></h4>
        <select class='select-css'>      
        ";
        foreach($pro_colors as $colors)
        {
            echo "
                <option value='$colors'>$colors</option>
            ";                                          
        }
        echo "
        </select>
    </div></br>
";
}

所以简单地说,如果在 db 产品中添加了任何颜色,则必须显示 select 选项,如果 db 中没有添加颜色,则不得出现 select 选项!

但是当 db 上没有颜色数据时,它会显示:

在此处输入图像描述

但是,我的表如下所示:

在此处输入图像描述

所以请告诉我,我应该如何解决这个问题?!

4

2 回答 2

0

您的数组似乎$pro_colors有一个空值。您可以使用array_filter从数组中清除空值和空值

$pro_colors = array_filter($pro_colors);

if(!empty($pro_colors))
{
echo "
    <div class=''>
        <h4 class='' style='float:right'>&nbsp;:رنگ <span>*</span></h4>
        <select class='select-css'>      
        ";
        foreach($pro_colors as $colors)
        {
            echo "
                <option value='$colors'>$colors</option>
            ";                                          
        }
        echo "
        </select>
    </div></br>
";
}
于 2019-08-31T16:30:29.150 回答
0

您必须检查颜色是否为空。像这样

      foreach($pro_colors as $colors)
        {

if (!empty($colors)) {
            echo "
                <option value='$colors'>$colors</option>
            ";  
                      }

        }

您首先使用了 if(!empty($pro_colors)) 实际上它不会检查每种颜色,因为 $pro_colors 是一个数组。

编辑:根据@hasta dhana 评论。首先,您需要检查数据库是否有任何颜色数据。由于您没有完整的代码,我正在编写此示例代码以便您理解:

    $sql = "SELECT count(*) FROM tablenamehere WHERE product_colors != ''"; 
    $result = $con->prepare($sql); 
    $result->execute(); 
    $number_of_rows = $result->fetchColumn(); 

if ($number_of_rows > 0 ) {

echo "
    <div class=''>
        <h4 class='' style='float:right'>&nbsp;:رنگ <span>*</span></h4>
        <select class='select-css'>      
        ";
          foreach($pro_colors as $colors)
        {

if (!empty($colors)) {
            echo "
                <option value='$colors'>$colors</option>
            ";  
                      }

        }
        echo "
        </select>
    </div></br>
";
}
于 2019-08-31T16:22:53.827 回答