0

我有一个分数数据库设置,每个分数都是 100 分,我需要能够保存多个值并输出它以便用户可以看到它。但是我不知道如何保存分数;我对php的了解有限,我只知道如何保存一个值。

提前致谢

4

3 回答 3

1

在这种情况下,一个好的做法是有 2 个表:一个用于名称,一个用于分数。然后将它们与连接表相关联。这样,您的数据库就会“标准化”,并且只要“John”多次输入他的“95”分数,就不会出现重复数据。您的两个表将需要一个 ID 字段(ID、Name)和(ID、Score),第三个表称为“Names_Scores”(Name_ID、Score_ID)。然后使用加入查询来匹配什么 Name ID 和什么 Score ID,并在用户登录时列出它们。

于 2012-06-15T19:34:20.970 回答
0

使用 PHP,您需要与数据库建立连接,然后对所需数据发起 SQL(或 MySQL)调用,并将检索到的数据放入您可以在其他地方使用的变量/数组中,然后关闭连接。

例子:

<?php
$con = mysql_connect("[hostname]", "[username]", "[password]");
mysql_select_db("db_name") or die(mysql_error());

$result = mysql_query("SELECT Users.UID, Users.Name, Scores.Score FROM Users, Scores WHERE Users.UID = Scores.UID GROUP BY Users.UID, Scores.Score") or die(mysql_error());

echo $result;

mysql_close($con);
?>
于 2012-06-18T19:03:16.497 回答
-1

根据您的评论,我认为您可以通过以下方式解决:

 mysql_query("INSERT INTO scores(name, score) VALUES ('John', 100),('John', 75),('Bob', 68)");

或者

 mysql_query("INSERT INTO scores(name, score) VALUES ('John', 100)");
 mysql_query("INSERT INTO scores(name, score) VALUES ('John', 75)");
 mysql_query("INSERT INTO scores(name, score) VALUES ('Bob', 68)");

如果你想要一个特定的用户分数,你可以这样做:

 mysql_query("SELECT score FROM scores WHERE name='John'");

如果您想要用户列表:

 mysql_query("SELECT name FROM scores GROUP BY name");
于 2012-06-15T19:23:54.797 回答