我所拥有的情况是一个带有联系人姓名的页面,它回应了当前用户最常访问的5个联系人。我按照这样命令他们:
$name_a=mysql_query(SELECT * FROM contacts WHERE email='$semail' ORDER BY frequency
DESC);
$name_b=mysql_query(SELECT * FROM contacts WHERE email='$semail' ORDER BY frequency
DESC OFFSET1);
当会员点击与此名称相关联的提交按钮时,它会向频率'添加1。该用户的列。像这样:
UPDATE contacts SET frequency = frequency + 1 WHERE email='$semail' AND
contact_a='$a[contact_a]'
当两个成员具有相同的频率值时出现问题,因为当单击其中一个名称时,它会添加1并更改顺序,以便在页面刷新后显示其他信息。例如,如果两者都是'和' bob'频率值为10 tom首先回应(因为他的名字首先出现在数据库中)然后bob,就像这样:
if ($name_a = mysql_fetch_assoc($name_a)) {echo $name_a['firstname'];} // eg. tom
if ($name_b = mysql_fetch_assoc($name_b)) {echo $name_b['firstname'];} // eg. bob
然后,如果有人点击bob的按钮,他的频率值变为11,当页面刷新后,他变成$ name_a,点击提交按钮所产生的其他信息将用于tom。希望我已经解释好了。感谢
答案 0 :(得分:0)
...ORDER BY frequency, name
,以便在任何给定频率内,名称将按字母顺序排列,而不是按照其自然排序顺序排列?