1

ボタンがクリックされたときに mysql データベースに格納されている値を増やす方法が見つからないようです。

html のボタン ( css によるスタイリングは含まれません):

<a class="button">Press Me</a>


mysql データベースをすべてセットアップして動作させましたが、このボタン/リンクがクリックされるたびにデータベースの値を増やす方法が見つかりません。ページを離れることなく、このボタンを複数回クリックできるはずです。

PHP を使用してみましたが、ページが読み込まれると情報が送信されます。これは、ボタンがクリックされていないことを意味します。また、クリックごとに値を増やす方法も見つかりませんでした..ところで、これは PHP で行う必要はありません。

<?php
// Connection to database
  $connection=mysqli_connect("localhost","root","","test");
// Check connection
  if (mysqli_connect_errno())
    {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }

// Increasing the current value with 1
  mysqli_query($connection,"UPDATE articles SET amount = (amount + 1)
      WHERE id='1'");

  mysqli_close($connection);

  echo "PHP RAN successfully";     ?>


*また、下手な英語で申し訳ありません。私はスウェーデン人です :)

4

3 に答える 3

2

jquery を JS ライブラリとしてページに含めます。

<a class="button" id="press_me">Press Me</a>
<script>
    $(function (){
            $('#press_me').click(function(){
            var request = $.ajax({
                                    type: "POST",
                                    url: "server_code_increment.php"                               
                                  });
                                  request.done(function( msg ) {

                                        alert('Success');
                                        return;

                                  });
                                  request.fail(function(jqXHR, textStatus) {
                                        alert( "Request failed: " + textStatus );
                                    });
            });
    });
    </script>

server_code_increment.php

<?php
// Connection to database
  $connection=mysqli_connect("localhost","root","","test");
// Check connection
  if (mysqli_connect_errno())
    {
    echo 'NOT_OK';
    //echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }

// Increasing the current value with 1
  mysqli_query($connection,"UPDATE articles SET amount = (amount + 1)
      WHERE id='1'");

  mysqli_close($connection);

  echo 'OK';   ?>

必要に応じて変更します

于 2013-06-27T11:58:02.837 に答える
0
 <a href="yourpage.php?id=1">Press me</a>

id (唯一の変数)

<? php
 $no=$_get['id'];
?>

データベースから最後に挿入された金額を選択してください

 eg: $lastamount=mysql_query("select query for last insertdata");
 write 
 $no=$lastamount+$no;
 mysqli_query($connection,"UPDATE articles SET amount = $no
  WHERE id='1'");
于 2013-06-27T12:01:59.860 に答える
0

おそらくよりきれいな方法ですが、ajaxを使用する必要はありません。これは基本的なahrefリロードページで動作します

<a class="button" href="<?php echo $_SERVER['PHP_SELF'];?>&a=increase">Press Me</a>

<?php
if ($_GET['a']=="increase") {
// Connection to database
  $connection=mysqli_connect("localhost","root","","test");
// Check connection
  if (mysqli_connect_errno())
    {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }

// Increasing the current value with 1
  mysqli_query($connection,"UPDATE articles SET amount = (amount + 1)
      WHERE id='1'");

  mysqli_close($connection);

  echo "PHP RAN successfully";     
}

//echo out the DB value here
echo $db->amount;
?>
于 2013-06-27T11:54:32.527 に答える