栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

用重复列显示PHP中的表

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

用重复列显示PHP中的表

由于某种原因,我不喜欢SQL解决方案。您要求数据库引擎加入字符串,然后使用PHP对其进行拆分。这就像重复的工作。另一个

metavalue
缺点是如果包含分隔符。

我的代码仅演示了如何在PHP中轻松地使用2维数组对数据进行分组,并且由编码器决定哪种方法从旧版mysql_ *或PDO中检索数据库中的数据。

// get result$result = mysql_query("SELECt autonum,id,name,metavalue FROM table");// loop through each rowwhile ($row = mysql_fetch_assoc($result)) {    $table[$row['name']][] = $row['metavalue'];}// print it outprint_r($table);

无需将整个结果集临时存储到数组中。您可以先对数据进行排序,然后再按要对数据进行分组并跟踪状态的字段进行排序,从而直接进行迭代。

但是,我偏爱这种样式有两个原因,这是个人喜好(这不是必须做的解决方案):

  1. 通常,每个人都希望将逻辑和表示分开。数组中存储数据可以轻松地传递到模板引擎。我更喜欢使用PHP模板引擎,因为它易于实现并且运行速度很快。

  2. 我宁愿以略微的性能速度和内存使用量为代价,以提高可读性和可维护性。该算法简短易懂。如果性能是您的头等大事,则始终可以使用缓存,例如存储在文件中,存储在memcached中或将计算结果存储在数据库中。

的确,我们正在从不同的方面对数据进行分组,但是您假定的

metavalue
不包含分隔符(在您的代码中为|)。通过选择几乎无法使用的分隔符可以很容易地修复它
metavalue
。无论如何,您的解决方案在几乎所有情况下都可以正常使用,因为
metavalue
@jvelez所显示的将永远不会包含字符|。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/647566.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号