如何为数据库中找到的每一行/记录生成一个链接,以便在单击时填充表单?
Posted
技术标签:
【中文标题】如何为数据库中找到的每一行/记录生成一个链接,以便在单击时填充表单?【英文标题】:How to generate a link for every row/record found in a database to use as a way to populate a form when clicked on? 【发布时间】:2015-02-13 03:04:55 【问题描述】:我有一个包含会员的网站,当会员登录时,他们可以访问带有表单的页面,他们可以使用该表单提交信息。此表单有一个隐藏的输入“user_email”,其预加载的默认值等于文件中登录的成员电子邮件地址。
<form action="xxx.php" class="well" id="xxx" name"xxx" method="post">
<input type="hidden" id="user_email" name="user_email" value="xxx@email.com">
<input type="text" id="invoice_id" name="invoice_id">
<input type="text" id="other1" name="other1">
<input type="submit" value="Submit">
</form>
我需要一个脚本,该脚本将获取名为“user_email”的表单输入的预填充值,并在“user_email”列下搜索并获取数据库中具有相同值的每一行/数据记录。
然后对于匹配/找到的每一行/记录,我试图生成一个链接
当任何生成的链接被点击时,它需要一个函数来用相应的获取的行/记录数据预填充表单。
我无法想象一个人需要多少时间才能掌握编写代码以实现上述目标所需的技能...非常感谢您提供任何指导或帮助...感谢您的宝贵时间。
【问题讨论】:
只需几个提示即可开始。您需要首先获取与 user_email 对应的所有记录。这将作为您的列表页面。列表的每一行都将从您的数据库中获取唯一的主键。接下来是您可以创建一个详细信息页面,如果您单击列表页面中的该行,它将重定向到包含主键的详细信息页面。 【参考方案1】:您可以向 PHP 脚本发出请求,该脚本读取电子邮件,查找并以对象数组的形式返回相关数据,并输出 html 链接,每个链接都包含自定义“data-x”属性中的数据。例如:
//email_details.php
<?php
//your function that returns an array of objects
$rows = find_the_data($_GET['user_email']);
foreach($rows as $row) ?>
<a class="email_data_link" href="#" data-invoice-id="<?php echo $row->invoice_id ?>" data-other1="<?php echo $row->other1 ?>">A link</a>
<?php ?>
然后,您可以使用 jquery 之类的工具在单击链接时修改表单
$('.email_data_link').on('click', function()
//copy the data embedded in the clicked link to the form
$('#invoice_id').val($(this).data('invoice-id'));
$('#other1').val($(this).data('other1');
);
如果没有额外的背景和了解您的专业水平,很难创建一个真正有用的示例,但这至少可以让您有所思考。
祝你好运
【讨论】:
我的水平几乎是复制剪切和粘贴...我可以将代码拼凑在一起并进行编辑,但我不能写出代码。当我通读它时,它很有意义,但有些部分我不明白。有什么方法可以使用临时数据库或演示数据库在线测试代码...有没有在线的地方可以做到这一点...就像 js fiddle 但使用数据库? 我不知道。 :-(以上是关于如何为数据库中找到的每一行/记录生成一个链接,以便在单击时填充表单?的主要内容,如果未能解决你的问题,请参考以下文章
在反应状态引擎中,如何为结果表的每一行生成唯一的 UUID?