テーブルの行からデータを選択し、そのデータをWebフォームで使用しようとしています。行のデータ属性としてレコードIDを渡すことができました。$ .on()関数を使用する必要がある部分で立ち往生しています。また、このJavascriptコードに関連付けられるPHP Webフォームに何を入力しますか?
ありがとう
これがJavascriptです
$(document).on('click', 'tr', function() {
//Get the ID from the row clicked
var id = $(this).data('recordId');
//short-hand
$('#section2').load('data_entry_form.php?id='+id);
});
これがWebフォーム用のPHPです(ユーザーが選択したレコードIDを「キャッチ」しようとする最初の数行を参照してください。
<html>
<form>
<?php
$_GET['id'];
echo $id; //should echo the id being sent across.
?>
<input type="date"></input><br>
<input list="auditors" placeholder="Auditor" />
<datalist id="auditors">
<option value="Foo" />
</datalist><br>
<input list="city" placeholder="City" />
<datalist id="city">
<option value="Bar" />
</datalist><br>
<input type="submit" name="submitbutton" id="submitbutton" value="Submit" />
</form>
</html>
これは、行を選択した元のテーブルを生成したPHPです。ここでは、「fee_source_id」(テーブルの最初の列と同じ)であるデータ属性を渡しました。
<?php
require_once 'config.php';
$dbh = new PDO($dsn, $dbuser, $dbpass);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$result = $dbh->query("
SELECT a_aif.aif_id,
a_aif.fee_source_id,
a_aif.company_name_per_sedar,
a_aif.document_filing_date,
IF (a_aif_remaining.aif_id IS NULL, 0, 1) `match`
FROM a_aif
LEFT JOIN a_aif_remaining
ON a_aif_remaining.aif_id = a_aif.aif_id
WHERE aif_id = {$id}
ORDER BY aif_id DESC");
$result->setFetchMode(PDO::FETCH_ASSOC);
if ( !empty($result) ) : endif;
?>
<table = "all_aifs">
<tr>
<th><b>Document ID</b></th>
<th><b>Pubco Name</b></th>
<th><b>Filing Date</b></th>
<th><b>PDF</b></th>
</tr>
<?php foreach($result as $index => $row) : ?>
<tr data-recordId="<?=$row[fee_source_id];?>"
class="<?=$row["match"] ? "match" : "";?>">
<td><?php echo $row[fee_source_id]; ?></td>
<td><?php echo $row[company_name_per_sedar]; ?></td>
<td><?php echo $row[document_filing_date]; ?></td>
<td></td>
</tr>
<? endforeach;?>
</table>