2017-03-29 8 views
0
<?php 
include ('session.php'); 

$connection = mysqli_connect("localhost", "root", "" , "log_database"); 
$question_id = rand(1,2); 
$query = "SELECT * FROM questions WHERE id='$question_id' "; 
$query_run = mysqli_query($connection,$query); 
$query_row = mysqli_num_rows($query_run); 

if ($query_row==1) { 
    foreach ($query_run as $row) { 
     $option1 = $row['option1']; 
     $option2 = $row['option2']; 
     $money = $row['money']; 
     $option1_clicked = $row['option1_clicked']; 
     $option2_clicked = $row['option1_clicked']; 
     $id_question = $row['id']; 
    } 
} 

?> 
<!DOCTYPE html> 
<html> 

<head> 
    <title>Game</title> 
    <link rel="stylesheet" type="text/css" href="game.css"> </head> 

<body> 

    <div id="content_div"> 
     <img id="title_img" src="wealthypinguin.png"> 
    </div> 

    <div id="question_div"> 
     <span id="question"> 
      <?php echo $username; ?>, <br> for <span id="money">€ <?php echo $money; ?></span>, 
     <br>would you rather...</span> 
    </div> 

    <div id="buttons_div"> 
     <button onclick="addOption1()" id="button1"> 
      <?php echo $option1; ?> 
     </button> 
     <br> 
     <button onclick="addOption2()" id="button2"> 
      <?php echo $option2; ?> 
     </button> 
     <br> 
     <button id="button3"> 
      Keep your money 
     </button> 
    </div> 

</body> 

    <script> 
     function addOption1() { 
      <?php 
       $option1_clicked = $option1_clicked + 1; 
       $queryOption1 = "UPDATE `questions` SET `option1_clicked` = '$option1_clicked' WHERE id='$question_id'"; 
       $query_run_option1 = mysqli_query($connection,$queryOption1); 
      ?> 
     } 

     function addOption2() { 
      <?php 
       $option2_clicked = $option2_clicked + 1; 
       $queryOption2 = "UPDATE `questions` SET `option2_clicked` = '$option2_clicked' WHERE id='$question_id'"; 
       $query_run_option2 = mysqli_query($connection,$queryOption2); 
      ?> 
     } 
    </script> 

</html> 

ボタン1をクリックすると、PHP変数$ option1_clickedが1つ上がり、新しい値がデータベースで更新されます。 ボタン2をクリックすると同じ結果になります。ボタンでデータベース値を更新する

問題は、そのうちの1つをクリックすると値が更新されますが、両方の値($ option1_clicked、$ option2_clicked)が同じ値に自動的に更新されます。 option1_clickedが6から7に変わるとき、option2_clickedも値7を取得します。

+0

更新列に+1を追加するのを忘れてしまった。それは以前とは違うべきものです。それはおそらくあなたの失敗です。エラーをチェックしてください。 –

+0

btw;このためにajaxを使用する必要があります。なぜJSの中でPHPを使用していますか? –

+0

原因ajaxの使い方が分かりません –

答えて

0

これを行うには、Ajaxが最適です。 https://www.w3schools.com/xml/ajax_intro.asp

あなたはPOSTを送信したり、現在のWebページを離れることなく、ファイル(多くの場合、PHPファイル)にクエリを取得することができます: はそれに見てください。

これは非常に便利で、ユーザーにとって非常に便利です(適切で流動的なユーザーインターフェイスを作成できます)。

関連する問題