1

如何设置一个表格,以便当用户单击一行时,该行的数据被发送到一个 PHP 脚本,该脚本被加载到网站上的一个部分中?

基本上,我想部分填充数据输入表单,然后我可以向其中添加更多数据,然后提交表单。

我想设置 JavaScript,以便单击事件加载 Web 表单(简单),但此 Web 表单将包含来自已获取记录的一些数据。

所以数据流的顺序是:

  1. 客户端浏览器(用户点击行,JavaScript)
  2. 该特定行的数据属性用于从与该属性关联的数据库中获取数据 (php)
  3. 提交网络表单

这是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 为真,那么我想我应该使用data元素而不是attr元素?
  • PHP 不工作!我收到此错误“致命错误:调用非对象上的成员函数 prepare()..”
4

1 回答 1

1

这么多问题,你知道你在这里做什么的基础吗?

您的 Javascript 正在使用id=参数发送记录 ID,但您的 PHP 正在使用$_GET['rowid']. 您需要更改其中一个以匹配另一个。

您需要将其分配给一个变量:

$id = $_GET['id'];

您需要rowid将 SQL 更改为:rowid,并准备语句:

$stmt = $dbh->prepare($sql);
于 2013-01-06T05:53:43.450 回答