我有这个横幅系统可以在我的网站上运行。我有一个 SQL 表,其中存储 id、链接、标题、打印和点击等内容。
所以,我需要在给定的页面上随机打印它们,并使用 prints + 1 值更新打印列(这是显示此横幅的次数)。我正在使用 2 个查询,一个用于选择,然后一个用于更新,但我知道只使用一个查询是可能的,但我听说 SQL + PHP 不太健康。但是,当我运行脚本时,它添加了两次值,应该多打印一次,它添加了 2。已经检查了脚本是否每个 id 运行两次,但不是,它运行正常。代码如下:
$query = 'SELECT * FROM banners WHERE (NOW() BETWEEN ban_start_date AND ban_final_date) AND ban_paid = "y" AND ban_active = "a" ORDER BY RAND() LIMIT 3';
$query = mysql_query($query) or die(mysql_error());
while($response = mysql_fetch_array($query)){
extract($response);
$banners[] = array('id' => $ban_id, 'code' => $ban_code, 'img' => $ban_img, 'title' => $ban_title, 'link' => $ban_link, 'prints' => $ban_prints);
$ban_qr = 'UPDATE banners SET ban_prints = ban_prints + 1 WHERE ban_id = "' . $ban_id . '"';
$ban_qr = mysql_query($ban_qr) or die(mysql_error);
}