我有这个表单,它从实时搜索表单中获取信息,然后转到另一个表单进行编辑,如果网站所有者想要编辑它。
正如您所看到的,该表单有一个订单号列,当客户输入同一客户的新订单号时,他们不再填写'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注入我还在尝试学习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";
}
}
答案 0 :(得分:1)
您遇到问题的原因是因为您最有可能没有将值存储为“null”时检查空值。尝试:
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 />";
}