显示分层数据

2023-12-09

我正在玩一个我在这里找到的关于“树形菜单”的代码示例,并想提出这个问题。

function tree($id)
{
$query = "SELECT `name`,`id` from `table` WHERE `id_parrent` = '$id'";
$result = mysql_query($query);
 if(mysql_num_rows($result) != 0)
   {
        echo "<ul>";
        while($row = mysql_fetch_array($result))
        {             
             echo "<li>",$row[name],"</li>";
             tree($row[id]);
        }
        echo "</ul>";
   }
}

如果我想以这样的方式显示项目怎么办:

<ul>
<li>item 1</li>
<li>item 2</li>
  <li style="padding-left:10px;">item 3-has parent 2</li>
   <li style="padding-left:20px;">item 4-has parent 3</li>
  <li style="padding-left:10px;">item 5-has parent 2</li>
<li>item 6</li>
</ul>

我的主要问题是以某种方式找到级别,以便我可以乘以 level*padding 并创建我的列表。 任何建议,将不胜感激。


你需要你的tree函数来跟踪级别,然后在级别大于 1 时应用填充。

function tree($id, $level=1) {
    $query = "SELECT `name`,`id` from `table` WHERE `id_parrent` = '$id'";
    $result = mysql_query($query);
    if (mysql_num_rows($result) != 0) {
     echo "<ul>";
     while ($row = mysql_fetch_array($result)) {
         if ($level == 1)
             echo "<li>" . $row[name] . "</li>";
         else
          echo "<li style='padding-left: " + (($level - 1) * 10) + "px;'>" . $row[name] . "</li>";
         tree($row[id], $level + 1);
     }
     echo "</ul>";
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

显示分层数据 的相关文章

  • 如何将 ctype_alpha 与 UTF-8 结合使用

    如何将 ctype alpha 与 UTF 8 一起使用 我有这个代码 if empty POST false if isset POST first name empty POST first name if ctype alpha PO
  • PHP 中的正则表达式:找到第一个匹配的字符串

    我想在非常长的文本中找到第一个匹配的字符串 我知道我可以使用 preg grep 并获取返回数组的第一个元素 但是 如果我只需要第一场比赛 或者我知道提前只有一场比赛 那么这样做效率不高 有什么建议吗 预匹配 http www php ne
  • 如何在javascript中使用自动递增id?

  • 使用 XPath 获取内部有链接的段落文本

    我正在使用 XPath 解析 HTML 页面 并希望获取某些特定段落的完整文本 包括链接文本 例如我有以下段落 p class main content This is sample paragraph with a href http g
  • 为什么Disabled = true对于html有效?

    我注意到我们的代码中有一个disabled ture 我是锚标签的源代码 我想知道为什么它在 IE 中有效 我也在互联网上进行了搜索 通过网络搜索 它也被用于很多源代码中 我一直在搜索if ture 拼写错误的true也可以被IE使用 有人
  • SimpleSAMLPHP 重定向循环

    我们正在尝试使用自定义 mysql 数据库设置 sso 但它在以下两个请求之间进入无限循环 POST http 192 168 0 15 simplesaml module php core loginuserpass php 设置Cook
  • 如何使用 jQuery 将各种元素包装在 div 标签中?

    我有一个 html 结构 如下所示 h5 Title h5 p Content p ul li Item li li Item li ul p Content p h5 Title h5 p Content p ul li Item li
  • 如何使单词中的每个字母在悬停时发生变化

    假设我的网站上某个段落中有一个单词 IamGreat 我希望它在悬停时更改为 Good4you 但是 我不想更改整个单词 而是希望每个字母单独更改 因此 如果我将鼠标悬停在字母 I 上 它将变成字母 G 字母 r 将变成数字 4 等 这两个
  • PHP header() 和 jquery mobile

    我想使用 php header Location newpage php 进行重定向 我没有收到错误 但 Jquery mobile 似乎无法加载目标页面 并且地址栏仍保留旧地址 请问您有什么建议吗 Thanks 尝试添加data ajax
  • javascript获取网页中选定文本的段落

    突出显示文本后 我想获取所选文本所在的段落 var select window content document getSelection 请问有什么指点吗 这实际上很难做到 因为你必须考虑六种情况 所选内容不在一个段落内 简单 整个选择都
  • 如何使链接悬停时的背景图像模糊?

    当您用鼠标光标悬停链接时 我想让我的背景图像模糊 5 像素 有什么简单的方法可以实现这一点吗 我有点纠结于类和 id 在这里 pic background url http www metalinjection net wp content
  • 使用 DOM 获取 div 的内容(包括子标签)

    我正在使用 DOM 来获取 div 标签的内容 但内部 html 部分未显示 功能是 dom new DOMDocument libxml use internal errors true dom gt loadHTMLFile url l
  • 输入元素可滚动并启用文本溢出省略号

    当我添加text overflow ellipsis对于输入元素 该元素是可滚动的 当我将光标放在元素上时 我可以左右滚动 就好像文本是全宽并且没有被截断一样 尽管后面没有文本 我该如何阻止这种行为 input width 180px te
  • 如何覆盖 phpunit 中导出的变量?

    我知道我可以设置环境变量 https phpunit de manual current en appendixes configuration html在我的 phpunit xml 里面
  • 使用 php 和 symfony 从数组创建 Excel 文件

    我正在尝试使用 PHP 和 symfony 将数组导出为 XLS 文件 如下面的代码所示 创建 XLS 文件后 我只能获取数组的最后一行 并且它显示在文件的第一行中 似乎 lignes 变量没有增加 我不明白出了什么问题 有人可以帮忙吗 f
  • 透明、无边框文本输入

    如何删除周围的边框
  • 转换MAC地址格式

    我刚刚编写了一个小脚本 从交换机中提取数百个 MAC 地址进行比较 但它们的格式为 0025 9073 3014 而不是标准的 00 25 90 73 30 14 我对如何转换它感到困惑 我能想到的最好的办法就是在 处将它们分解成碎片 然后
  • $_SESSION 中保存大量信息可以吗?

    我需要存储许多数组 SESSION以防止从 MySQL 检索信息 可以吗 其中 太多 的信息有多少 SESSION还是没有 太多 谢谢 附 或者更好地使用http php net manual en book memcache php ht
  • 无法在 Centos 上安装 php-mysqli 扩展

    我正在尝试将 mysqli 扩展安装到 php yum install php mysqli 我收到下一个错误 Transaction Check Error file usr share mysql charsets Index xml
  • CSS交付优化:如何推迟CSS加载?

    我在尝试着优化 CSS 交付遵循针对开发人员的谷歌文档https developers google com speed docs insights OptimizeCSSDelivery example https developers

随机推荐

  • R - 添加在组内按顺序计数但重复重复的列

    我正在寻找一种解决方案来添加 desired result 列 最好使用 dplyr 和 或 ave 请参阅此处的数据框 其中组是 部分 我希望 desired results 列按顺序计数的唯一实例位于 exhibit 中 structu
  • .Net core 在静态文件夹(www)中添加文件夹并保存图像文件

    在静态文件夹中添加文件并在静态文件夹中保存图像 将 Base64 图像保存在 Dot net Core 项目中 public class EventMastersController Controller private IHostingE
  • Xcode 6.4 中的模拟器太多了

    我的 xCode 应用程序中有太多我尝试删除 但稍等片刻它又回到设备列表如何删除它 xcode 版本 6 4 6E35b 图片来自我的 xCode 设备列表中的图片 退出 Xcode 和模拟器 然后 在终端中 说 xcrun simctl
  • .包含在以下查询中并不真正包含

    var diaryEntries from entry in repository GetQuery
  • 如何使用 Struts 2 标签迭代 Set 元素

    我有两个Sets set1 contains A B C D elements set2 contains E F D G elements 我想比较每个元素set1与每一个元素set2并使用 Struts2 标签显示匹配的元素 重新整理以
  • strings.xml 中的参数可以吗? [复制]

    这个问题在这里已经有答案了 在我的 Android 应用程序中 我将通过国际化来实现我的字符串 我对不同语言的语法和句子构建方式有疑问 例如 5 分钟前 英语 vor 5 分钟 德语 我可以在 strings xml 中执行类似以下操作吗
  • 在 firebase 上使用 gzip 压缩

    我正在尝试在 Firebase 托管的 Web 上压缩 css 和 js 以提高加载速度 但是我无法使用 firebase json 配置文件为我的资产正确设置 gzip 压缩 The curl v命令显示从服务器提供文件时不执行压缩 还检
  • 为什么 std::unique_ptr 向量会出现无效指针异常

    我编写了简单的代码来帮助我理解智能指针 string s str vector
  • 如何在Android中的位图图像上添加字符串?

    我想在位图图像上添加一个字符串 我有一个方法drawTextToBitmap 这个方法工作成功 将字符串放在位图图像上 但是我的位图图像非常小 就像 pinmark 图像一样 这个函数根据位图高度和宽度设置字符串 我想放置的字符串超过位图图
  • numba 渴望编译吗?图案是什么?

    我在 numba 网站上查看了 eager Compilation 但无法弄清楚如何指定类型 他们使用的例子是这样的 from numba import jit int32 jit int32 int32 int32 def f x y A
  • 如何在通知中向服务发送 PendingIntent 后隐藏通知面板

    All 我编写了一个服务来更新系统状态 然后使用 startForeground 将服务置于前台 同时向其添加通知 在通知中 我使用remoteView获得三个带有三个OnClickPendingIntent的图像 其中之一是发送回服务 并
  • 我如何在活动中获取接收器实例(在AndroidManifest.xml中注册)

    我已经在 AndroidManifest xml 中注册了一个接收器 如下所示
  • 通过选择另一个下拉值动态填充下拉列表

    我的要求是 对于 膳食 下拉列表中的选择 第二个下拉列表 类别 应动态填充与第一个下拉列表中的选择相关的值 然后 根据膳食下拉菜单中选择的内容 列表的类别应发生变化 我已经编写了以下 Javascript 函数 但我得到的输出并不是新填充第
  • 获取boost property_tree父节点

    我在程序中使用 boost property tree 我已经设置了使用自定义路径类型的树 我正在寻找的是获取特定节点的父节点 ID 这是一个例子 MetaStorageTree tree typedef boost property tr
  • VBA比较两个二维数组(行),VBA抛出“类型不匹配”,声明正常

    无法解开的谜团 我不断得到 类型不匹配 运行时出错 我正在尝试比较从两个不同的工作表中提取的两个二维数组 以逐行循环和比较这些数组的 切片 如果找到匹配项 则应将一个数组中的值分配给另一数组的空 null 索引 这是我的代码 Private
  • Thread.isAlive() 与 Thread.join()

    我在谷歌上搜索了很多关于 isAlive 和 join 的信息 但没有得到正确的解释 假设我有 Thread 1 和 Thread 2 并且仅在 Thread 1 完成后才需要启动 Thread 2 使用这两种方法都可以实现上述要求 那么区
  • Dockerized Zabbix:服务器无法通过 IP 连接到代理

    Problem 我正在尝试使用 Zabbix 的 Docker Compose 存储库在 Ubuntu 20 04 LTS 上配置完全容器化的 Zabbix 6 0 版监控系统HERE 我用来启动 Zabbix 服务器和 Zabbix 代理
  • ES6 中从父类调用子方法

    从父类调用子方法是好还是坏做法 class Parent constructor if autoPlay exists was implemented in chain if this autoPlay this autoPlay exec
  • Objective-C 中星号的位置

    我刚刚开始学习 Objective C 具有 VB Net 和 C Net 背景 我了解指针的用法 但在 Objective C 示例中 我看到星号放置在几个不同的位置 并且尽我所能进行搜索 但我无法找到原因的答案 我尝试的每次搜索都会出现
  • 显示分层数据

    我正在玩一个我在这里找到的关于 树形菜单 的代码示例 并想提出这个问题 function tree id query SELECT name id from table WHERE id parrent id result mysql qu