2017-07-20 7 views
0

ユーザーがHTMLフォームを使用してチームのスコアを提出し、後で読み込むためにそれらの値をMySQLテーブルに保存する方法を作成しようとしています。新しいテーブルを追加するのではなく、MySQLテーブルの値を更新する

問題は(私はランダムなコードをオンラインで見つけています)、その値を更新するためにスコアの各インスタンス(Score1、Score2、Score3など)が必要であるということです。したがって、新しいスコアが「スコア1」に追加された場合、それは古いスコアを置き換えるはずです。今は、新しい投稿がそれぞれリストされた行を作成するだけです。

ここまで私がこれまでまとめてきたことはここにあります。

<form action="storage.php" id="scores" method="post"> 
    <input type="number" placeholder="00" maxlength="2" name="score" id="score1"> 

はその後、私のstorage.phpファイルは次のようになります:

<?php 
    $host  = "localhost"; // Host name 
    $username = "scoreboard"; // Mysql username 
    $password = "XXXX"; // Mysql password 
    $db_name = "admin_scoreboard"; // Database name 
    $tbl_name = "scores"; // Table name 
    // Connect to server and select database. 
    mysql_connect("$host", "$username", "$password") or die("cannot connect"); 
    mysql_select_db("$db_name") or die("cannot select DB"); 
    // Get values from form 
    $score1 = $_POST['score1']; 
    // Insert data into mysql 
    $sql = "INSERT INTO $tbl_name(score1)VALUES('$score1')"; 
    $result = mysql_query($sql); 
    // if successfully insert data into database, displays message "Successful". 
    if ($result) { 
     echo "Successful"; 
     echo "<BR>"; 
     echo "<a href='test.html'>Back to main page</a>"; 
    } else { 
     echo "ERROR"; 
    } 
    // close connection 
    mysql_close(); 
?> 

場合はこれが(私が挿入する200点のスコアを持っている)およそ200回複製される形でありますこれは混乱しています。私の全体的な目標は、コーチが自分のチームの得点をHTML形式で提出し、MySQLに格納してから、遅くHTML表にスコアを表示することです。しかし、ええ、主なことは、コーチを戻して、必要に応じて特定のチームの得点を更新することです。私は戻ってMySQLのデータを引っ張って心配ます別の時に:)

+0

でクエリを置き換えあなたが[mysql_'](http://stackoverflow.com/questions/12859942/why-shouldnt-use-mysql-functions-in-php)を使うたびに 新しいコードでデータベースの拡張子 ** [this起こる](https: //media.giphy.com/media/kg9t6wEQKV7u8/giphy.gif)* これは廃止され、何年も前からPHP7で永久に失われています。 PHPを学んでいるだけなら、 'PDO'や' mysqli'データベースの拡張機能や準備した文を学ぶことができます。 [ここから開始] – RiggsFolly

+0

UPDATE sqlコマンドを参照する必要があります – RiggsFolly

+0

わかりやすいコードの字下げが良い考えです。コードを読むのに役立ちます。もっと重要なのは**あなたのコードをデバッグするのに役立ちます** [コーディング標準を見てください](http://www.php-fig.org/psr/psr-2/ )あなた自身の利益のために。あなたはこのコード を数週間/数ヶ月で修正するように頼まれるかもしれません。そして、あなたは私に最後に感謝します。 – RiggsFolly

答えて

0

QUERY:

INSERT INTO table (id, name, age) VALUES(1, "A", 19) 
    ON DUPLICATE KEY UPDATE name="A", age=19 

はこのようにしてみてください。..

0

はこの1つ

INSERT INTO $tbl_name(score1) VALUES('$score1') 
    ON DUPLICATE KEY UPDATE score1='$score1' 
関連する問題