0

これは、「username」テーブルの内容を出力するために使用している関数です。

function showtable()
{
  ob_start();  

  $db = new PDO("sqlite:test.db");

  $query = "SELECT * FROM " . $_SESSION['username'] . " ORDER BY `a` DESC;";
  $result = $db->prepare($query);
  $result = $db->query($query);

  print "<table>";
  print "<tr><td>First Column</td><td>Second Column</td><td>Third column</td></tr>";
  foreach ($result as $row)
  {
    print "<tr><td>" . $row['a'] . "</td><td>" . $row['b'] . "</td><td>Here stays the button</td></tr>";
  }  
  print "</table>";

  unset($db);

  ob_end_flush();
}

では、html テーブルの各行を作成するときに、対応する sqlite テーブル行を更新するためのボタンが 3 番目のセルに挿入されるようにするには、関数をどのように表示する必要がありますか (読みやすいように「ボタンはここにとどまる」という名前が付けられています)。メインブラウザウィンドウでtest.php(required_once( 'functions.php')を追加)ファイルを開くときに関数を呼び出していますが、特別なことは何もありません。

それが UPDATE クエリです。

$query = "UPDATE " . $_SESSION['username'] . " SET `c` = '1'" . " WHERE `a` = " . $row['a'] . ";";

a列は整数の主キーです

b列はテキストです

c列は整数で、すべてのフィールドは 0 の値を保持します

PS AJAX について話さないでください。私はそれを受け入れる準備ができていません (そして、AJAX を使用する多くのページはブラウザーに遅れをとっています)。各行のボタンを介して UPDATE TABLE 機能を追加する単純な php 関数についてのアイデアを求めているだけです。

前もって感謝します :)

4

1 に答える 1

0

何のための更新ですか?C = 1の場合はどうなりますか?

とにかくあなたの質問のために、私の提案はアンカータグを使用することです。すなわち

「ここにボタンがあります」では<a href="test.php?a_new='".$row['a']."'">Update</a>

test.phpで

if($_GET['a_new'] != '')
{
$query = "UPDATE " . $_SESSION['username'] . " SET `c` = '1'" . " WHERE `a` = ".$_GET['a_new']."";
}

psあなたは過剰な";"を持っています クエリで。クエリステートメントの内部ではなく、クエリステートメントの最後にのみクエリを追加します。$sql = "select * from"; not $sql = "select * from;";

于 2012-05-14T17:21:55.923 に答える