基本PHP MySQL数组分组问题

2024-01-11

快速问题,我认为对于像我一样拥有最基本的 PHP/MySQL 知识的人来说,这是一个非常简单的解决方案。

我有一个存储在数据库中的各个州的城市列表,其中包含城市、州和一些其他变量。现在,它们被提取为按城市名称排序的列表:

  • 阿拉斯加安克雷奇
  • 马里兰州巴尔的摩
  • 伊利诺伊州芝加哥 等等等等

我希望能够首先按州进行分组,然后列出具有该州值的所有城市。所以它看起来像:

AK

  • 安克雷奇
  • Juneau

CA

  • 洛杉矶
  • 圣地亚哥
  • 旧金山
  • etc etc

我知道我需要做某种 foreach 并在网上搜索过,但还没有找到可以开始工作的示例。

这是我必须提取的基本列表:

  $list = mysql_query("SELECT id, alphaname, state FROM regional ORDER BY alphaname",$db);

while ($thearray = mysql_fetch_array($list)) {
  echo "<li><a href='info.html?id=$thearray[id]'>$thearray[alphaname], $thearray[state]</a></li>";
  } 

我知道如何做到这一点的唯一真正方法是对每个状态运行查询,这将是痛苦且完全愚蠢的......

谢谢你的帮助!

Update- 解决了。我采用了 rockacola 的方法,尽管 i-g 也有效。


尝试这个..

查询所有有州的城市,先按州排序,再按城市排序:

SELECT id, alphaname, state 
FROM regional 
ORDER BY state ASC, alphaname ASC

将数据集组织成二维数组:

$states = array();
while($thearray = mysql_fetch_array($list)) 
{
    $states[$thearray[state]][$thearray[id]] = $thearray[alphaname];
} 

现在您的内容$states应该看起来像:

Array
(
    [AK] => Array (
        [id_1] = Anchorage
        [id_2] = Juneau
    )
    [CA] => Array (
        [id_3] = Los Angeles
        [id_4] = San Diego
        [id_5] = San Francisco
    )
)

生成 HTML 演示文稿:

注意:添加锚点以反映提出的问题。

foreach($states as $state_name => $cities)
{
    echo '<h3>'.$state_name.'</h3>';
    echo '<ul>';
    foreach($cities as $id => $city_name)
    {
        echo '<li><a href="info.html?id='.$id.'">'.$city_name.'</a></li>';
    }
    echo '</ul>';
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基本PHP MySQL数组分组问题 的相关文章

  • PHP:将字符串分成 8 个块,我该怎么做?

    我基本上有二进制 假设它的长度是300 我如何将它分割 就像使用爆炸一样 成 8 位块 我查看了 chunk split 但它似乎只有一个 end 参数 而不是将其放入数组的选项 或者它可以插入数组吗 末尾 8 位数字可以低于 8 如果有人
  • PHPUnit RabbitMQ:为创建连接函数编写测试

    我面临以下问题 我编写了一个函数 根据所需参数创建连接对象 AMQPConnection 现在我想编写相应的单元测试 我只是不知道在没有运行 RabbitMQ 代理的情况下如何做到这一点 这是有问题的函数 public function g
  • Laravel 在 Eloquent 范围和查询中使用 select

    我正在尝试清理我编写的一些代码 这是当前的代码 message Message with comments gt join users messages created by users id gt join team user messa
  • PHP 选择后立即删除

    我有一个 PHP 服务器脚本 它从 MySQL 数据库中选择一些数据 一旦我将 mysql query 和 mysql fetch assoc 的结果存储在我自己的局部变量中 我就想删除我刚刚选择的行 这种方法的问题在于 PHP 似乎对我的
  • Symfony2 功能测试会话持久性

    我正在尝试在 Symfony 中进行一些功能测试 但目前我的会话遇到了问题 我执行了一段代码 它似乎有效 但容器的会话中没有存储任何内容 我有一个表格 您可以在其中设置数据 当您提交它时 它会检查值并将其存储在会话中 然后它重定向到另一个页
  • 在 Codeigniter 中编写模型代码的最佳方法是什么

    我对于在 codeigniter 中使用哪种技术来编码模型感到非常困惑 我进行了很多搜索 发现了各种编码人员使用的各种方法 请指导我使用 codeigniter 编写模型类的最佳方法 例子很少 有些方法签名中需要很长的参数 function
  • Blade @if 中的 Laravel 会话变量

    当我尝试使用 Laravel Session 在刀片中设置 JS 变量来刷新一些数据时 我在 Laravel 4 2 中遇到了一些奇怪的情况 这很简单 我不知道我错过了什么 目标 在用户注册后立即触发 Javascript 网站浏览 方法
  • 在 C# 中对由整数组成的多维 [] 数组进行排序

    我有以下数组 private int testSamples new testSamples 101 101 它应该代表一个名册 第0到100列 第0到100行 在这个名册中 掉落了各种化学液体 我为之做这件事的人希望以这样的方式工作 他可
  • 使用键模式从 Laravel 4 缓存中删除?

    对于我的包 我们使用 Laravel 缓存 我们创建的每个缓存键都有前缀 所以我们得到mypackage config mypackage md5ofafilename有时我需要刷新我的包创建的所有缓存文件 问题是什么 我只知道缓存键的模式
  • MySQL 存储过程将值分配给 select 语句中的多个变量

    这是我的存储过程 我在为声明的变量赋值时遇到问题 当我执行它时 插入和更新命令工作正常 但声明变量的值保持为 0 但我在数据库中有一些价值 我怎样才能正确地做到这一点 BEGIN DECLARE PaidFee INT DEFAULT 0
  • Zend 框架将字母“f”输出到我的页面上

    我已经下载了 Zend 框架稳定版本 我相信是 1 11 上传到我的服务器 并将其添加到我的 php 包含路径中 我的目标是使用 Feed 和 Feed Writer 模块来处理一些 RSS 和 Atom 的繁重工作 问题是 每当我包含 F
  • 为什么我的函数将布尔值更改为“on”?

    所以我是 php 编程世界的新手 我正在在线学习和其他形式等 但我找不到任何东西来帮助回答我的问题 这就是我在这里的原因 任何帮助当然不胜感激 谢谢 我想将下面的代码变成我可以调用的函数 它的工作原理如下所示 如果我选中表单中的复选框 它会
  • Laravel 集成测试:如何断言一个 URL 已被调用但另一个 URL 没有

    我想测试一个向某个 URL 发出请求的控制器 例如 http example com api say hello 但它不会向另一个 URL 发出请求 例如 http example com api say bye bye 我想测试的控制器功
  • PDO SQLSRV 和 PDO MySQL 在获取 int 或 float 时返回字符串

    当您获取时 PDO MS SQL Server 和 PDO MySQL 都会返回一个字符串数组 即使列的 SQL 类型本应是数字类型 例如 int 或 float 我设法解决了这个问题 但我想了解为什么它们一开始就这样设计 是不是因为PDO
  • 显示表中的记录

    我的第一个 PHP 项目遇到了一些麻烦 我试图从 MySQL 数据库 有 3 条记录 获取数据并将其显示在表格中 问题是它似乎只显示记录 2 和 3 它跳过了第 1 条记录 请参阅我的代码并在下面显示 if mysqli connect e
  • 是否有一种算法可以在线性时间内计算数组反转?

    我知道有多少倒转 en wikipedia org wiki Inversion 28discrete mathematics 29 in an n 元素数组可以在 O n log n 操作使用增强型归并排序 http www geeksf
  • mysql-如何向列申请补助?

    用户名 撤销对数据库的选择 Person I set GRANT SELECT id ON database Person TO username localhost 不是工作 gt SELECT secret FROM Person Go
  • Smarty输出空白页

    已解决 模板文件错误 我有这样的 Smarty 设置 require once smarty Smarty class php smarty new Smarty smarty gt compile dir compile dir smar
  • 如何复制 ArrayIterator 以保留其当前迭代位置?

    因为这似乎是我必须做的才能达到这种效果 arr a gt first b gt second iter new ArrayIterator arr Do a bunch of iterations iter gt next new iter
  • 如何在 Laravel 查询中使用多个 OR,AND 条件

    我需要 Laravel 查询帮助 我的自定义查询 返回正确结果 Select FROM events WHERE status 0 AND type public or type private 如何写这个查询Laravel Event w

随机推荐

  • 在闭包作用域中设置变量

    我想我明白为什么变量存在于声明它们的函数之外 因为您要返回另一个函数 myFunction function var closure closure scope return function return closure A myFunc
  • 当我按下后退按钮时,活动会发生什么?

    当我在活动 A 此处 LoginActivity 上并使用 Intent 转到活动 B 此处 MainActivity 并调用 finish 函数时 在意图函数之后 例子 if isloggedIn val intent Intent th
  • 收到错误“要替换的项目数不是替换长度的倍数”

    我正在尝试使用以下命令将记录转换为日期和时间格式strptime功能 但是 我不确定为什么会收到错误 要替换的项目数量不是替换长度的倍数 我尝试使用以下命令检查记录的长度length函数 但两者具有相同的长度 data lt DT head
  • Elasticsearch更新索引模板

    我有一个关于elasticsearch索引模板的问题 有一个我的问题的场景 为一系列索引创建一个模板 名为templateA 并且有一些从此模板创建的索引 名为Index yyyy mm dd2 and Index yyyy mm dd2
  • 在 C# XML 文档中,只有摘要标记有效

    我正在尝试为我的 VS 代码作业添加 XML 文档 但当将鼠标悬停在函数 变量上时 仅显示摘要块中的文本 它也发生在普通的 Visual Studio 和多 台计算机上 所以我认为这只是我不明白的事情 但我尝试用谷歌搜索它并没有得到任何结果
  • Go 中的构造函数

    我有一个结构 我希望用一些合理的默认值来初始化它 通常 这里要做的是使用构造函数 但由于 Go 并不是传统意义上的真正的 OOP 因此它们不是真正的对象 并且它没有构造函数 我注意到了 init 方法 但那是在包级别 还有其他类似的东西可以
  • db2 类型 4 驱动程序下载

    我想使用 java 应用程序连接到 Db2 数据库服务器 我使用 type4 驱动程序 您能告诉我下载 DB2 Type4 驱动程序的确切位置吗 提前谢谢 实际上推荐的方法是从您正在使用的 DB2 服务器获取它 因为它保证您获得它们的正确版
  • Reflection with Swift - 获取类的函数名称[重复]

    这个问题在这里已经有答案了 我想知道是否有办法获得一些有用的班级构成信息 例如 我发现能够访问类的所有可用函数非常有用 看来MyrrorType但这不是我要找的 我知道我可以使用获取函数名称 FUNCTION 但这并不正是我所需要的 我需要
  • 警告:POST 内容长度 90612004 字节超出了第 0 行未知中 8388608 字节的限制

    我收到这个错误 警告 POST 内容长度 90612004 字节超出了限制 第 0 行未知中的 8388608 字节 我做了一些搜索并改变了post max size and upload max filesize到 150M 并重置 Wa
  • GWT/Java 中等待多个异步事件完成的干净方法

    在 Java 中等待多个异步回调函数完成然后再继续的最佳方法是什么 具体来说 我将 GWT 与 AsyncCallback 一起使用 但我认为这是一个普遍问题 这就是我现在所拥有的 但肯定有更干净的方法 AjaxLoader loadApi
  • 在 Xcode4 中,新的界面生成器显示“无选择”

    我正在使用 xcode 4 02 进行 iPhone 编程 在新的界面生成器中 当我单击按钮 或任何其他 GUI 元素 并转到 属性检查器 时 它会显示 无选择 有一段时间我以为我可以通过保存 nib 文件来解决问题 但它并不总是有效 我怎
  • 将 javascript 添加到扩展 django 模板以进行 google 分析

    我有一个漂亮的小index html 文件 它是一个扩展模板 它的父文件是一个base html 文件 在我的例子中是base2 html 我试图将谷歌分析代码片段添加到我网站上的某些文件中 事实证明 如果我在扩展模板的标签中添加任何内容
  • Rails - 从我的观点中移出计算?

    目前我正在按照我的观点进行一些计算 这当然是一件坏事 我正在研究可以帮助我重构上述问题的方法 一件事是将计算移至我的控制器 category sum transaction sum amount cents 这可能是更好的解决方案 但你知道
  • 在 Matlab 中制作球的动画

    我有一个包含这两个方程的球 x t v0 cos t 并且 y t h v0 sin t 1 2gt 2 其中 t 0 t Final 是时间变量 h 是高度 v0 是初始速度 是 v0 与水平面形成的角度 g 9 8 m s 2 地板位于
  • 一些Python代码的解释

    这是屏障的基本示例 说明一些线程如何等待进入一个入口屏障和另一个出口屏障 虽然代码很好 但我并没有真正深入了解它是如何工作的 例如 我不明白为什么进入 Barrier 函数的线程在执行 n n 1 后 可以立即使 n n 1 从而影响全局
  • 正则表达式非贪婪(惰性)

    我正在尝试非贪婪地解析 TD 标签 我从这样的事情开始 td stuff td align right More stuff td align left 返回的记录如下 stuff td align right More stuff td
  • 将 À 等特殊字符与常规 A 进行比较

    在某些语言中 有类似的字母 我看到对于表视图部分 本机 iOS 将 在同一部分下A 我想做同样的事情 我通过比较第一个字母来构建我的部分 所以我需要那个 将等于 A 我尝试使用localizedCompare但我仍然不知道这两者是相等的 有
  • 使用 CustomAttributes 与 GetCustomAttributes() 的优点

    今天我注意到我的智能感知中出现了一些新属性System Type我的 NET 4 5 项目的对象 其中有一个叫做CustomAttributes 我对此很感兴趣 因为我之前就明白GetCustomAttributes是最昂贵的反射调用之一
  • C 编程自动八进制解释

    Code 1 int a 0987654321 printf d a Code 2 int a scanf d a printf d a 在这里 如果我们输入 0987654321 那么它会打印相同的内容 但在第一个代码片段中 它会给出一个
  • 基本PHP MySQL数组分组问题

    快速问题 我认为对于像我一样拥有最基本的 PHP MySQL 知识的人来说 这是一个非常简单的解决方案 我有一个存储在数据库中的各个州的城市列表 其中包含城市 州和一些其他变量 现在 它们被提取为按城市名称排序的列表 阿拉斯加安克雷奇 马里