将列插入为类型的标题(insert column as header for type)

系统教程 行业动态 更新时间:2024-06-14 16:57:18
将列插入为类型的标题(insert column as header for type)

我有一个MySql表,我想按类型列出事物并插入标题。 我会使用什么类型的查询?

由此:

| Fluffy | Harold | cat | f | 1993-02-04 | NULL | | Claws | Gwen | cat | m | 1994-03-17 | NULL | | Buffy | Harold | dog | f | 1989-05-13 | NULL | | Fang | Benny | dog | m | 1990-08-27 | NULL | | Bowser | Diane | dog | m | 1979-08-31 | 1995-07-29 | | Chirpy | Gwen | bird | f | 1998-09-11 | NULL | | Whistler | Gwen | bird | f | 1997-12-09 | NULL | | Slim | Benny | snake | m | 1996-04-29 | NULL | | Dalli | Alli | canine | m | 2001-12-20 | NULL | | Tara | David | canine | f | 2002-05-17 | NULL | | Mimi | Alli | guinea pig | m | 2004-05-17 | NULL |

对此:

<h2>Cat</h2> <ul> <li>Fluffy</li> <li>Claws</li> </ul> <h2>Dog</h2> <li>Buffy</li> <li>Fang</li> <li>Bowser</li> </ul>

等等

I have a MySql table and I want to list things by type and insert headers. What type of query would I use?

From This:

| Fluffy | Harold | cat | f | 1993-02-04 | NULL | | Claws | Gwen | cat | m | 1994-03-17 | NULL | | Buffy | Harold | dog | f | 1989-05-13 | NULL | | Fang | Benny | dog | m | 1990-08-27 | NULL | | Bowser | Diane | dog | m | 1979-08-31 | 1995-07-29 | | Chirpy | Gwen | bird | f | 1998-09-11 | NULL | | Whistler | Gwen | bird | f | 1997-12-09 | NULL | | Slim | Benny | snake | m | 1996-04-29 | NULL | | Dalli | Alli | canine | m | 2001-12-20 | NULL | | Tara | David | canine | f | 2002-05-17 | NULL | | Mimi | Alli | guinea pig | m | 2004-05-17 | NULL |

To this:

<h2>Cat</h2> <ul> <li>Fluffy</li> <li>Claws</li> </ul> <h2>Dog</h2> <li>Buffy</li> <li>Fang</li> <li>Bowser</li> </ul>

etc.

最满意答案

不要尝试用SQL做所有这些(只做一个标准的选择查询),使用PHP对结果进行分组,然后呈现它。 这样做的最好方法是让一个对象为你做分组,因为你可能不止一次需要它。 例如,您的类可能如下所示:

<?php class Arrays { public static function group($array,$key) { if(NULL == $array) return NULL; $grouped = NULL; foreach($array as $item) { $grouped[$item[$key]][] = $item; } return $grouped; } } ?>

你的用例可能是这样的:

<?php $result = ...; // The result of your database query. $grouped_by_type = Arrays::group($result,"type"); foreach($grouped_by_type as $type => $group) { echo "<h2>".ucwords($type)."</h2>"; echo "<ul>"; foreach($group as $animal) { echo "<li>".$animal['first_name']."</li>"; // Assumes the query brought back first_name... } echo "</ul>"; } ?>

Don't try to do all of this with SQL (just do a standard select query), use PHP to group the result, then present it. The best way to do this would be to have an object that will do the grouping for you, as you'll probably need it more than once. For example, your class could look something like this:

<?php class Arrays { public static function group($array,$key) { if(NULL == $array) return NULL; $grouped = NULL; foreach($array as $item) { $grouped[$item[$key]][] = $item; } return $grouped; } } ?>

And your use case could be something like:

<?php $result = ...; // The result of your database query. $grouped_by_type = Arrays::group($result,"type"); foreach($grouped_by_type as $type => $group) { echo "<h2>".ucwords($type)."</h2>"; echo "<ul>"; foreach($group as $animal) { echo "<li>".$animal['first_name']."</li>"; // Assumes the query brought back first_name... } echo "</ul>"; } ?>

更多推荐

本文发布于:2023-04-12 20:42:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/dzcp/1c24376e925696120d0e411fa48ce266.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:类型   标题   insert   type   header

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!