请查看以下代码。
<?php foreach($rows as $row): ?>
<tr>
<td><?php echo htmlentities($row['username'], ENT_QUOTES, 'UTF-8');?></td>
<td><?php echo htmlentities($row['id'], ENT_QUOTES, 'UTF-8');?></td>
<td><?php echo htmlentities($row['starthol'], ENT_QUOTES, 'UTF-8'); ?></td>
<td><?php echo htmlentities($row['endhol'], ENT_QUOTES, 'UTF-8'); ?></td>
<td><?php echo htmlentities($row['days'], ENT_QUOTES, 'UTF-8'); ?></td>
<td><a href="#">Approve</a></td>
<td><a href="*">Reject</a></td>
</tr>
这将填充先前运行的sql查询中的表。基本上,当单击批准时,我想运行一个使用该行的id的SQL查询,并更新名为“active”的表中的列。
UPDATE holidays
SET active = "active"
WHERE holid = getid
有关如何执行此操作的建议吗?
我是一个php新手,所以请放轻松我。谢谢。
答案 0 :(得分:1)
<td><a href="active.php?id=?"<?php echo $row['id']; ?> >Approve</a></td>
服务器端代码active.php(示例不要复制粘贴你必须使用post
来更新db状态而不是get
也是mysql_ * depricated)
$id = mysql_real_escape_string($_GET['id']);
mysql_query("UPDATE holidays
SET active = 'active'
WHERE holid = $id")or die(mysql_error());
header('location:listingpage.php?msg=approved');
答案 1 :(得分:0)
您是否能够让您的查询运行并返回数据?假设您有数据,则需要更新foreach()
循环。如果您希望循环在多行上工作,则必须使用花括号({ }
)
所以你的代码看起来更像是:
<?php foreach($rows as $row) { ?>
...
<?php } ?>