スコア用のデータベースをセットアップしました。各スコアは 100 点満点です。複数の値を保存して、ユーザーが表示できるように出力できるようにする必要があります。ただし、スコアを保存する方法がわかりません。PHP に関する私の知識は限られており、1 つの値を保存する方法しか知りません。
前もって感謝します
この場合、2 つのテーブルを用意することをお勧めします。1 つは名前用、もう 1 つはスコア用です。次に、それらを結合テーブルに関連付けます。このようにして、データベースは「正規化」され、「ジョン」が「95」のスコアを複数回入力するたびにデータが繰り返されることはありません。2 つのテーブルには ID フィールド (ID, Name) と (ID, Score) が必要で、3 つ目のテーブルには "Names_Scores" (Name_ID, Score_ID) のような名前が付けられます。次に、結合クエリを使用して、どの名前 ID がどのスコア ID を持つかを照合し、ユーザーがログインしたときにそれらを一覧表示します。
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);
?>
あなたのコメントに基づいて、私はあなたがこのようなものでうまくいくと思います:
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");