如何设置表格,以便当用户单击一行时,该行的数据被发送到加载到网站上的某个部分的 PHP 脚本?
基本上,我想部分填充数据输入表单,然后可以向其中添加更多数据,然后提交表单。
我想设置 JavaScript,以便单击事件加载 Web 表单(简单),但此 Web 表单将包含从所获取的记录中获取的一些数据。
所以数据流的顺序是:
- 客户端浏览器(用户点击行,JavaScript)
- 该特定行的数据属性用于从与该属性 (php) 关联的数据库中获取数据
- 呈现网络表单
这是 JavaScript:
$(document).on('click', 'tr', function() {
var id = $(this).attr("data-recordId");
$('#section2').load('data_entry_form.php?id='+id);
});
这是 Web 表单的 PHP
<html>
<?php
$id = $_GET['id'];
$sql = ("
SELECT a_aif.aif_id, a_aif.fee_source_id, a_aif.company_name_per_sedar, a_aif.document_filing_date
FROM a_aif
LEFT JOIN a_aif_remaining
ON a_aif_remaining.aif_id = a_aif.aif_id
WHERE a_aif.aif_id = :id
ORDER BY aif_id DESC");
$sth = $dbh->prepare($sql);
$sth->execute();
?>
<?php echo $id; ?> <br>
<?php echo $row[fee_source_id]; ?> <br>
<?php echo $row[company_name_per_sedar]; ?> <br>
<?php echo $row[document_filing_date]; ?> <br>
<form>
<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>
问题
- 使数据属性等于第一个单元格有什么意义 每行的?我不能只使用每行第一个单元格中的数据吗 用作“id”?
- 如果 1 为 true,那么我想我应该使用
data
元素而不是attr
元素? - PHP 不工作!我收到此错误“ fatal error :在非对象上调用成员函数prepare()..”
最佳答案
这么多问题,你知道你在这里做什么的基础知识吗?
您的 Javascript 使用 id=
参数发送记录 ID,但您的 PHP 使用 $_GET['rowid']
。您需要更改其中之一以匹配另一个。
您需要将其分配给一个变量:
$id = $_GET['id'];
需要将SQL中的rowid
修改为:rowid
,并准备语句:
$stmt = $dbh->prepare($sql);
关于php - 如何使用 PHP 单击 DOM 元素并将其作为变量传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14179253/