php - 避免在循环期间连续显示空列

标签 php mysql row isnull

我有这个表格,它从实时搜索表格中获取信息,然后如果网络所有者想要编辑它,它会转到另一个表格进行编辑。

如您所见,该表单有一个订单号列,当客户为同一客户输入新订单号时,他们不会再次填写“img”列,“img”列是图片名称和链接的扩展名来自另一个网站。

当网站所有者获得信息时,它会正确显示所有信息,但如果没有图像名称,它会显示空图像框,如果没有图像名称,我试图不显示空图像这是代码,但是不幸的是它不起作用,因为它仍然显示空图像框,有没有办法不显示该框但显示该行的所有其他信息?

提前致谢!

$ordNum = $_POST['submit']; 

if(isset($ordNum) === true){
    $name   = $_POST['name'];
    $sql = "SELECT * FROM orders WHERE name='$name'"; 
    $qry = mysqli_query($db_conx,$sql); 

    while($row = mysqli_fetch_array($qry)){
        $resName   = $row['name'];
        $resTable  = $row['tableName'];
        $resImg    = $row['img'];
        $resOrdNum = $row['orderNumber'];

        echo "<form action='".$_SERVER['SELF']."' enctype='multipart/form-data' method='POST'>
        <p>Custumer Name:&nbsp;<input type='hidden' name='name' value='".htmlentities($resName)."'>".$resName."</p>
        <p>Order Number(s):&nbsp;".$resOrdNum."</p>
        <p>Tables:&nbsp;<input type='hidden' name='table' value='".htmlentities($resTable)."'>".$resTable."</p>";

        if($resImg == "" || $resImg == "0" || empty($resImg)){
            $resImg = "";
        } else {
            echo "<p><img style='border-radius:10px; margin-top:10px;' height='300' width='280' alt='orders' src='".$imgLInk.$resImg."'/><br /><br />";
        }        
        echo "<input type='submit' name='edit' value='edit'><br /><br /></form>";    
    }
}

我知道我必须防止 SQL 注入(inject) 我仍在努力学习 php 和 SQL 我已经将代码更改为此,现在它可以工作但是当它转到另一个页面进行编辑时.. 注意:对于下面的文字,我只是先测试它是否有效。

while 循环不工作它工作了一段时间,但后来我开始写更多的代码然后它停止工作了

    $edit  = $_POST['edit'];
    $name  = $_POST['name2'];    
    $table = $_POST['table2'];  

echo $edit.$name."<br />".$table;

 if(isset($edit)){  

         $sql = "SELECT * FROM $table WHERE name='$name'"; 
         $qry = mysqli_query($db_conx,$sql); 

     while($row = mysqli_fetch_array($qry)){

         echo $row['name'];
         echo $row['phone'];

         echo "success";
     }
 }

最佳答案

您遇到问题的原因是因为您在检查空值时很可能没有将该值存储为“空”。尝试:

    if($resImg == "" || $resImg == "0" || is_null($resImg)){
        $resImg = "";
    } else {
        echo "<p><img style='border-radius:10px; margin-top:10px;' height='300' width='280' alt='orders' src='".$imgLInk.$resImg."'/><br /><br />";
    }         

关于php - 避免在循环期间连续显示空列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24856674/

相关文章:

php - 多字节字符串和环视奇怪的错误

mysql - 更新数据库中的所有 DATETIME 字段

php - PHP 中 undefined variable 和索引

jqgrid - 如何在 jqGrid 中编辑或添加新行

php - 如何设置具有多个数据数组的复选框

php - 在 PHP 中正确格式化 URL 链接

javascript - 访问页面 AJAX 时自动 POST

php - 优化 SQL 表以选择注册特定事件的参与者

javafx - 从 GridPane 中删除一行

html - 如何在 bootstrap 3 中实现一行跨越两行和一列跨越两列的布局