0

私のプロジェクトは次のとおりです。データベースに値(整数)があり、デフォルトでは0であり、ユーザーが送信フォームをクリックするたびに更新したい(変更するのではなく、追加することを意味します) html ページ。さらに説明します。たとえば、私のデフォルトは 0 で、最初のゲスト送信値 = 20 で、20 に変更され、データベースに保存されます。次のゲストが value=30 を送信すると、テーブルの値が 20+30=50 に変更されます。

これまでの私のhtml:

<html>
<head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8"/>
<meta name="generator" content="3.2.2.183"/>
<title>Help The World</title>
<!-- CSS -->
<link rel="stylesheet" type="text/css" href="style.css"/>
<!-- Other scripts -->
<script src="java.js" type="text/javascript"></script>
</head>
<body>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td> <input name="help_1" value="25" type="checkbox" id="help_1" onclick="UpdateCost();"> </td>
<td> ResponseOption_1 </td>
</tr>
<tr>
<td> <input name="help_2" value="15" type="checkbox" id="help_2" onclick="UpdateCost();"> </td>
<td> ResponseOption_2 </td>
</tr>
</table>
<form action="insert.php" method="post">
<input type="text" id="totalpoints" name="total" value="">
<input type="submit" value="Help World">
</form>

<script type="text/javascript">
function UpdateCost() {
  var sum = 0;
  var gn, elem;
  for (i=1; i<3; i++) {
    gn = 'help_'+i;
    elem = document.getElementById(gn);
    if (elem. checked == true) { sum += Number(elem. value); }
  }
  document.getElementById('totalpoints' ).value = sum;
}
</script>
</body>
</html>

これまでの私のphp:

mysqli_query($con,"UPDATE total SET points= ?");
mysqli_close($con);
?>
4

2 に答える 2

0

私は少し編集してそれを解決しました、最終的なコードは次のとおりです:

$result_set = mysqli_query($con,"SELECT points FROM total WHERE id = 1");
$row = mysqli_fetch_assoc($result_set);
$old_total = $row['points'];
$new_total = $old_total + $_REQUEST['total'];
mysqli_query($con,"UPDATE total SET points = $new_total WHERE id = 1");
mysqli_close($con);
?>

Jodesに感謝します;)

于 2013-03-08T05:26:54.930 に答える
0

まず、データベース接続の詳細が必要です。つまり、ホスト名 (多くの場合「localhost」)、データベース名、データベースのユーザー名、およびパスワードです。

次に、そのデータベースにテーブルを設定する必要があります。上記の PHP を考えると、テーブル名は "total" のようです。

テーブル「合計」に、行を挿入する必要があります。次のようなクエリを実行することで、これを行うことができます。

<?
// 1. here you need to insert code that connects to the database.
//...
// 2. now for the rest of the code...
mysqli_query($con,"INSERT INTO total (id, points) values (1, 0)");
?>

上記の行は 1 回だけ実行します。その後、実行する必要がまったくなくなり、実行に使用したファイルを削除できます。

上に示した PHP ファイルでは、次のようにする必要があります。

<?
// 1. here you need to insert code that connects to the database.
//...
// 2. now for the rest of the code...
$result_set = mysqli_query($con,"SELECT points FROM total WHERE id = 1");
$row = mysql_fetch($result_set);
$old_total = $row['total'];
$new_total = $old_total + $_REQUEST['total'];
mysqli_query($con,"UPDATE total SET points = $new_total WHERE id = 1");
mysqli_close($con);
?>

お役に立てれば。

于 2013-03-07T14:24:23.763 に答える