php - 如何使用 mysqli_fetch_array($result) 的输出启用 onclick 类型事件
问题描述
我一直在努力思考如何解决这个问题。我正在编写一个网页图书库,其中类别(“节点”)作为 MySQL 记录。我想打印每个级别的类别列表,从最高级别开始,然后允许用户选择一个类别以深入图书馆。PHP 代码在 MySQL 中运行一个保存的过程:
//loop the result set
while ($row = mysqli_fetch_array($result)) {
if ($row[1] <> 0) {
echo $row[0];
echo "<br />";
} else { // the first row is just the heading
"</strong>Category: ";
echo $row[0];
echo " : <br />";
}}
因为只有两个测试类别,所以这会产生输出:
Books :
Nature
Children's Books
但是,我希望能够在“自然”和“儿童书籍”上创建一个 onclick 事件,以便用户可以选择一个类别并通过 php 函数深入到下一个级别。我可以将 php 输出转换为 html,例如:
<?= "<p>{$row[0]}</p>" ?>
但我看不到如何识别 onclick 事件中的行以将参数传递给函数。也许我需要一种完全不同的方法?
解决方案
将属性添加onclick
到调用执行所需操作的 JavaScript 函数的元素。
<?= "<p onclick='someFunc({$row['id']})'>{$row[0]}</p>" ?>
替换id
为包含表中行 ID 的列的实际名称。someFunc()
可以使用该 ID 在数组或对象中查找信息,或发送 AJAX 请求。
推荐阅读
- c# - 微软的ServiceProvider类需要重新赋值,否则返回null?
- kentico - Kentico 11 API 能否以与使用 Kentico Cloud 相同的方式使用?
- java - 通过 JAXB 解组重用元素/类
- c# - 如何在 api 调用中传入多个类类型?
- vue.js - 在 vue 中将数据从一个组件发送到另一个组件
- apache-kafka - 在日志 4j 的 RollingFileAppender 中基于每月和日志保留 30 天的日志轮换
- java - 错误:尝试在空对象引用上调用接口方法“int java.util.List.size()”
- android - Firebase 身份验证和数据库链接
- swift - Swift:如何对尴尬但常规的 JSON 结构进行 DRY 可解码解析
- powershell - Powershell 脚本不会根据 where 子句返回事件日志结果