HTMLテーブルからセル値を取得して、PHPの呼び出しを介してMySQLテーブルに保存できるようにしようとしています。jQueryではなくJavaScriptを使用したいのですが。
MySQLテーブルのIDフィールドに基づいて各TRに個別のIDを与えています。また、各TD入力セルには、MySQLテーブルのIDフィールドに基づく一意のIDがあります。それらすべてが必要かどうかはわかりませんが、使用しました。
セルの値を取得して、PHPプロシージャ(このPHPのコーディング方法を知っています)に渡してデータをMySQLに保存するにはどうすればよいですか?以下のJavaScriptコードは「innerHTML」を取得しますが、代わりにセル値を取得する必要があります。
たとえば、MySQLテーブルから3行のデータがあり、フィールドidとamountがあり、以下の値がある場合、「3」と「1.99」を取得するにはどうすればよいですか。
id amount
-------------
1 100.00
2 9.99
3 1.99
これは、テーブル、送信ボタン、およびonclick呼び出しのPHP / HTMLコードのサンプルです:( これは私の実際のコードの非常に単純化されたバージョンですが、アイデアを伝える必要があります)
<?php
/* define mysql database connect, query and execute it returning result set into $result, id=integer primary key, is_active=tinyint(0 or 1), amount=decimal(12,2) */
/* ... */
/* output form/table */
echo "<form id='myform' name='myform' >" ;
echo "<table id='mytable' name='mytable'>" ;
while($row = mysql_fetch_array($result))
{
$id = $row['id'] ;
$amount = $row['amount'] ;
$tr_id = "tr_id_" . trim((string)$id) ;
$td_id = "td_id_" . trim((string)$id) ;
$td_amount_id = "td_amount_id_" . trim((string)$id) ;
$input_amount_id = "input_amount_id_" . trim((string)$id) ;
echo "<tr id='$tr_id' name='$tr_id'>";
echo "<td id='$td_id_account' > $id </td>" ;
echo "<td id='$td_amount_id' > <input type='text' id='$input_amount_id' value=$amount > $amount </td>" ;
echo "</tr>";
}
echo "</table>";
echo "</form>" ;
/* submit button and onclick call */
echo "<br />" ;
echo "<table>";
echo "<tr>" ;
echo "<td>";
echo "<button type='button' " . 'onclick="SubmitTableData(\'' . "mytable" .'\');"' . ">Submit</button>" ;
echo "</td>" ;
echo "</tr>";
echo "</table>";
?>
そして、HTMLテーブルの行をループするために使用されるJavaScript関数のサンプルを次に示します。
function SubmitTableData(TableID)
{
var table = document.getElementById(TableID);
for (var i = 0, row; row = table.rows[i]; i++)
{
// iterate through rows
for (var j = 0, col; col = row.cells[j]; j++)
{
// iterate through columns
alert(col.innerHTML);
}
/* call PHP procedure with row's cell values as parameters */
/* ... */
break;
}
}