首页 > 解决方案 > 如何使用 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 事件中的行以将参数传递给函数。也许我需要一种完全不同的方法?

标签: phphtmlonclick

解决方案


将属性添加onclick到调用执行所需操作的 JavaScript 函数的元素。

<?= "<p onclick='someFunc({$row['id']})'>{$row[0]}</p>" ?>

替换id为包含表中行 ID 的列的实际名称。someFunc()可以使用该 ID 在数组或对象中查找信息,或发送 AJAX 请求。


推荐阅读