我有一个表来跟踪每个用户单击的链接,我还有另一个表带有链接。这是每个表结构:
链接: id | 链接 | 价值 | 添加日期
点击: user_id | 链接ID | date_clicked
现在这是我用来进行搜索的代码并且它有效,我只想知道是否有更有效的方法来做这件事,因为点击的链接表会很快变得非常大。
$history_query = mysql_query("SELECT * FROM clicked_links WHERE user_id = '$id'") or die(mysql_error());
$history_array = array();
while ($h = mysql_fetch_array($history_query)) {
$history_array[] = $h['link_id'];
}
$clicked = implode(',', $history_array);
$link_query = mysql_query("SELECT * FROM chip_links WHERE id NOT IN ($clicked) ORDER BY value DESC") or die(mysql_error());
while ($r = mysql_fetch_array($link_query)) {
echo "<div id='claim{$r['id']}' style='text-align: center; font-weight: bold; font-size: 18px; float: left; width: 183px;'>
<a href='{$r['link']}' id='{$r['id']}' class='collect' target='_blank'>
Claim {$r['value']} points!
</a>
</div>";
}