首页 > 解决方案 > php 和 mysql 将空值填充为 empty

问题描述

我正在尝试比较产品,但我已经完成了。我只是有一个问题,我的产品功能不在正确的产品名称下,因为我需要用 empty 填补空白<td></td>

在此处输入图像描述

这是填充值的函数中的代码。

function datatable($id)
{
 $conn = connection();
 $productPost = $_POST["product"];

 $sqlSpecTitle = "Select title as title from product where uid = '$id'";
 $resultTitle = mysqli_query($conn, sqlSpecTitle) or die("database error:" . mysqli_error($conn));
 
 foreach ($productPost as $product)
 {
   $sqlSpecValue = "Select productname, title, value from text join product on uid = uid join feature on uid = uid where productname = '$product" and uid = '$id';
   $resultValue = mysqli_query($conn, $sqlSpecValue or die("database error:" . mysqli_error($conn));

  if(mysqli_num_row($resultValue) > 0
  {
    while($row = mysqli_fetch_assoc($resultTitle))
    {
      echo "<td>" . $row['title'] . "<td>";
    }
    while ($row = mysqli_fetch_assoc($resultValue))
    {
     if($row['value'] == null)
     {
      echo "<td>" . "empty" . "<td>";
     }
     else
     {
       echo "<td> . $row['value'] . "</td>";
     }
    }
   }
  }
 }

产品名称正在填充另一个相同的功能。

function headerTable()
    {
        $conn = connection();
        $productPost = $_POST["product"];

        foreach ($productPost as $product) {
            $sqlSpecValue = "SELECT productname, title, value from text
            join product on uid = uid
            join feature on uid = uid
            where productname = '$product';
            $resultValue = mysqli_query($conn, $sqlSpecValue) or die("database error:" . mysqli_error($conn));


            $row = mysqli_fetch_assoc($resultValue);
            echo "<td id='product'>" . $row['productname'] . "</td>";
        }
    }

标签: php

解决方案


您在表之间进行“连接”,因此只有在“文本”表中有内容时才能获取数据。只需切换到“右加入”,它应该可以工作。


推荐阅读