根据用户选择的内容在while循环中获取变量?

时间:2015-11-27 22:58:57

标签: php html mysql web

我想删除deleteupload.php中的一个帖子,因此我想访问product_id,这是提交后每行的唯一标识符。我已将每个产品包装在表单元素和提交按钮中。所以页面有多个表单元素。

这是我的代码:

 while ($row = mysql_fetch_array($loop))
 {
  $proID = $row['product_id'];

 echo "<table border='0' width='100%' align='center' class='centrebox'><tr>
 <td width='25%'>".($row['product_name']) . "</td> " . "
 <td width='35%'>".($row['product_disc'])."</td>";

 echo '<td width="40%"><img width="100%" height="300"  src="data:image/jpeg;base64,'.base64_encode( $row['product_image'] ).'"/></td></tr>
 <td><form method="post" action="deleteupload.php">
 <input type="submit" name="$proID" value="Delete"></form></td></table><br>';

}

这个while循环遍历sql表并回显列(product_name,product_disc和product_image)。

2 个答案:

答案 0 :(得分:0)

你可以把它放在你的html / php

       echo '<td width="40%"><img width="100%" height="300"  src="data:image/jpeg;base64,'.base64_encode( $row['product_image'] ).'"/></td></tr>
             <td><form name="form' . $proID . '" class="del_forms" method="post" action="deleteupload.php">
             <input type = "hidden" name="del_item" value="' . $proID .'" />
             <input type="submit" value="Delete" /></form></td></table><br>';

在您的deleteupload.php中,您会选择$proID;作为$_POST['del_item'];变量。假设$proID;是您要删除的项目的ID号。

请注意,您应该使用mysqli而不是mysql因为mysql被视为易受攻击。您还应该转义/清理$_POST变量以帮助防止注入攻击。

  (int) $_POST['del_item'];
只要ID已经是整数,

就应该在这种情况下实现。 (如果它们包含字母,则无效。)

您可能也会感兴趣:Multiple Forms or Multiple Submits in a Page?

答案 1 :(得分:0)

<table border='0' width='100%' align='center' class='centrebox'>
<?php 
 while ($row = mysql_fetch_array($loop))
 { 
  $proID = $row['product_id'];
?>
 <tr>
 <td width='25%'><?php ($row['product_name'])?></td> 
 <td width='35%'><?php ($row['product_disc']) ?></td>
 <td width='35%'>
    <a href="deleteupload.php?action=delete&id=<?php echo $proID ?>"></a>   
 </td>

<?php } ?>
</table>

**deleteupload.php**

<?php
if($_GET['action']=='delete'){

    delete query
}
?>