在链接上运行sql单击

时间:2013-10-01 10:46:55

标签: php mysql sql

请查看以下代码。

<?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新手,所以请放轻松我。谢谢。

2 个答案:

答案 0 :(得分:1)

您应该考虑学习如何GETPOST

<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 } ?>