我猜我只是有点生锈或其他什么,因为看起来这应该可以工作。我在这里错过了什么吗...
这是我正在尝试使用的代码...
<?php
echo dbConn();
$existing_time = mysql_result(mysql_query("SELECT p_time FROM scores WHERE p_uid=$uid"), 0);
$existing_category = mysql_result(mysql_query("SELECT p_cat FROM scores WHERE p_uid=$uid AND p_cat=$pieces"), 0);
if ($existing_category == "") {
mysql_query(
"INSERT INTO scores VALUES (
'',
'$uid',
'$pusername',
'$time',
'$pieces'
)");
} elseif ($existing_time <= $time) {
echo "No Change! Old Score Was Better (Lower)";
} elseif ($existing_time > $time) {
mysql_query("UPDATE scores SET p_time = " . $time . " WHERE p_uid = " . $uid . " AND p_cat = " . $pieces . "");
};
?>
现在......这就是我想要做的......
我正在从用户名和类别匹配的数据库中收集信息。如果该用户的类别不存在,则插入最新分数。(这很有效。)
然后,如果该类别确实存在但旧分数更好,则它什么也不做。(这部分也有效)...
但是,我似乎无法做的是让它更新最后一个分数,如果当前分数更好(更低的分数,因为这是一个基于时间的游戏。)它不会更新分数。
我正在尝试这种方式:通过更新“分数”中的一行,其中 USERNAME 和 CATEGORY 同时匹配。
请注意……上面写着“碎片”。这是一个类别。在它说“时间”的地方,这是一个分数。分数返回为 00:00:00 小时分钟和秒。
示例:(括号中是数据库行名)
id (ID) = 只是按顺序排列的 KEY id
用户 ID (p_uid) = 123456789
用户名 (p_username) = somename
得分(p_time)= 00:01:03
类别 (p_cat) = 10