2
<td>
    <form action="del.php" method="POST">
        <?php foreach($jk as $item) {
            echo"<input type='hidden' name='id' value='".$item['emc_id']."'>";       
        }
        ?>         
        <input type="submit" name="downld" value="DELETE" >
    </form>
</td>

如您所见,我正在使用隐藏但在 del.php 中传递一个值。我得到一个4。我的数据库中有 4 个数据,但是当我单击rowid-1 rowid-2任何其他 id 时,我总是得到一个 id-4。每当我单击删除按钮时,我都希望删除相应的 ID。

4

3 回答 3

2
<html xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel">
<html>
<head>
WELCOME <?=$_SESSION['user']?></br>
<a href="logout.php" >log-out</a></br>
<title> emc promo 1</title>
<meta http-equiv="Content-type" content="text/html;charset=utf-8" />
</head>
<body>
         <b>the total no rows are :</b><?=$g?>
        <table cellpadding="5" border="1" style="width:450px;"><tr>
<?php   for ($i=0; $i < count($colnames); $i++) { ?>
        <td><?=$colnames[$i]?></td>
<?php   }?>
        <td>DELETE</td>
        <td>EDIT</td>
        </tr>
<?php   for ($i=0; $i < count($jk); $i++) { ?>
        <tr>
<?php   for ($ii=0; $ii < count($colnames); $ii++) {?>
        <td><?=$jk[$i][$colnames[$ii]]?></td>
<?php  }?>
        <td><form action="del.php" method="POST">
        <input type='hidden' name='id' value= <?php echo $jk[$i];?>> 
           <input type="submit" name="downld" value="DELETE" >
           </form></td>
           <td><form action="edit.php" method="POST">
           <input type="hidden" name="id1" value="<?=$jk['$i'];?>">
           <input type="submit" name="downld" value="UPDATE " >
           </form></td>
          </tr>
<?php } ?>
          </table>
          </body>
          </html>

我得到了答案,现在我正在传递所有列值,以便在删除和编辑时进行检查

于 2013-08-02T07:08:13.170 回答
1

你到底想达到什么目的?您想一次删除一行还是多行?您现在正在做的是动态创建隐藏框,但是隐藏字段的名称是相同的,因此当浏览器呈现时,它将创建四个文本框,例如:: --

<input type="hidden" name="id" value="1" />
<input type="hidden" name="id" value="2" /> 
<input type="hidden" name="id" value="3" />
<input type="hidden" name="id" value="4" />

现在,当您发布表单时,您将获得最后一个值。所以你总是会得到4。如果你想删除单个记录,那么使用爪子建议的方法。如果要删除多条记录,请在每行前面使用复选框,并确保对复选框名称使用类似数组的表示法,例如 name="foo[]"

于 2013-06-14T10:15:49.693 回答
0

你应该像这样在你的行中附加一个 id:在你的foreach

echo "<a href="delete.php?id=". $row['id']>Delete</a>"

每当用户单击链接删除时,id 将被传递到一个 php 脚本中,您将$_GET在那里id传递并delete query使用id我希望这会有所帮助。

于 2013-06-14T10:05:00.230 回答