0

行 ['scores'] から値を追加しようとしています。

たとえば、各行の値が 1 の 6 つの行がある場合、エコー -> 行の値 = 6 を実行できるようにしたい。

+=うまくいきません: 1,2,3,4,5,6,7 などの値のみを取得しますが、その合計が必要です。たとえば、1+2+3+4+5+6 とします。 +7=28。

ありがとう

<?php include("connect.php"); ?>

<html>
    <head>
        <title>Score Predictions</title>
    </head>
    <body>

        <div id = "id">

<?php
    $query = "SELECT * FROM test";
    $result = mysql_query($query);

    while ($row = mysql_fetch_array($result)) {
        $id = $row['id'];
        $home = $row['home'];
        $away = $row['away'];
    }
?>

<?php
    if (isset($_POST['submit'])) {
        $x = $_POST["test"];
        mysql_query("INSERT INTO test (home, away, score) VALUES ('$home', '$away', '$x')");
    }
?>

<?php echo $home," - ",$away; ?>

    <form method = 'post' action = 'http://albsocial.us/test/index.php'>
        <select name = 'test'> 
            <option value = "" selected = 'selected'></option>
            <option VALUE = '1'>1</option>
            <option VALUE = 'X'>X</option>
            <option VALUE = '2'>2</option>   
        </select>
        <INPUT TYPE = 'submit' name = 'submit' />
    </form>

<?php
    $query = "SELECT * FROM test";
    $result = mysql_query($query);

    while($row = mysql_fetch_array($result)) {
        $id = $row['id'];
        $score = $row['score'];
        if ($score == "1") {
            echo $sum += $score - 1;
        }
    }
?>

        </div>
    </body>
</html>
4

3 に答える 3

2
$sum=0; 
         while($row=mysql_fetch_array($result)){

                 $id = $row['id'];
                 $score = $row['score'];

                     if ($score == "1"){

                         $sum = $sum+$score;

                     }

         }
echo $sum;

これを試して。$score 値を合計します。

于 2013-06-13T04:13:18.483 に答える
2

条件を削除しif、データベースの値を$sum変数に追加する必要があります

$sum = 0;
while($row=mysql_fetch_array($result)){

   $id = $row['id'];
   $score = $row['score'];
   $sum += (int)$score;
}   
echo $sum;
于 2013-06-13T04:13:59.840 に答える
0

他の答えはほとんど修正されるので、ここにいくつかの問題がありますが、明確にするために:

  • あなたif $score == 1の目的には関係がないようです。ということですif $id == 1か、それとも単にゼロを無視しようとしていたのですか? (何か+ゼロはとにかく同じままなので、する必要はありません)
  • $sum += $score-1どちらかで1を引く理由はないようです
  • 最初に加算を終了してから、echo一度呼び出す必要があります。現在、echoデータベースの行ごとに for があるため、複数の数値が出力されています。
  • とにかく合計のみを表示している場合は、ループでこれを行う必要はまったくありません。DBを取得して合計するだけです。たとえばSELECT SUM(score) AS total_score FROM test、またはSELECT id, SUM(score) AS total_score FROM test GROUP BY id
于 2013-06-13T04:35:56.900 に答える