我有这个表格,它从实时搜索表格中获取信息,然后如果网络所有者想要编辑它,它会转到另一个表格进行编辑。
如您所见,该表单有一个订单号列,当客户为同一客户输入新订单号时,他们不会再次填写“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: <input type='hidden' name='name' value='".htmlentities($resName)."'>".$resName."</p>
<p>Order Number(s): ".$resOrdNum."</p>
<p>Tables: <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/