【发布时间】:2014-03-03 21:16:21
【问题描述】:
我在一个 while 循环中从 MySQL 获取数据。当用户单击任何记录时,我会在颜色框中显示其详细信息,即 id = 2。现在在此颜色框中,我想运行一个查询,即 WHERE id = 2。我面临的问题是我的代码一次执行所有查询,因为颜色框位于 while 循环内。如何在 while 循环之外运行 MySQL 查询,因为我无法在循环之外访问 id。请检查我下面的代码,
<?php
$sql_msg = "SELECT * FROM messages";
$res_msg = mysql_query($sql_msg);
while($row = mysql_fetch_array($res_msg))
{
$id = $row['id'];
$title = $row['title'];
echo "<a href='#$id'><li>$title</li></a>";
?>
<div style='display:none'> // Color box popup window
<div id='<?php echo $id; ?>'>
<?php
$Update_msg = mysql_query("UPDATE `messages` SET `read` = 1 WHERE `id` = $id AND `read` = 0");
?>
</div>
</div>
<?php } ?> // While Loop End
我只想更新弹窗数据的记录
【问题讨论】:
-
此代码按原样损坏 - 您在调用
echo后缺少?>。 -
@MarcB 我更新了我的问题
-
如果人们从不使用数字索引,为什么还要使用
mysql_fetch_array?应该改用mysql_fetch_assoc。 -
你可以通过 ajax 做到这一点
-
@RobertRozas 我无法在 while 循环之外访问 $id。能否请您给我写一个如何通过 Ajax 实现的简单示例