PHP SQL在Foreach()中合并记录
当我在另一个页面上工作时,我会重新考虑这个问题,我想使用相同的概念。 显示当前从MSSQL服务器获得的输出 我有一张我们活动发生的地点信息表(姓名、地址等)。另外,我有一个计划的实际事件表(一个事件可能在一天内和/或多天内发生多次)。我用一个查询连接这些表(如下所示) 我想做的是以某种方式组合这些数组,这样就不会每次重复场馆信息,而是显示每个日期/时间 我试着用数组的方式输入,但是找不出合适的多维度。我只是粘贴我希望它的显示方式,因为这就是它的最终结果PHP SQL在Foreach()中合并记录,php,sql,Php,Sql,当我在另一个页面上工作时,我会重新考虑这个问题,我想使用相同的概念。 显示当前从MSSQL服务器获得的输出 我有一张我们活动发生的地点信息表(姓名、地址等)。另外,我有一个计划的实际事件表(一个事件可能在一天内和/或多天内发生多次)。我用一个查询连接这些表(如下所示) 我想做的是以某种方式组合这些数组,这样就不会每次重复场馆信息,而是显示每个日期/时间 我试着用数组的方式输入,但是找不出合适的多维度。我只是粘贴我希望它的显示方式,因为这就是它的最终结果 while ($row = $query-
while ($row = $query->fetch(PDO::FETCH_NUM) ) {
list($time,$place,$etc) = $row;
// display formatted data
}
结果不一定是这样,但它应该能让我清楚地知道我在寻找什么
我不一定要创建一个新的数组。我只想而不是一遍又一遍地显示相同的信息
我想我可以做一些形式的比较,在foreach()
中,类似于“if Location与previous Location相同”,但我还没有弄明白如何做(有没有办法通过执行$location1=[Location]
,$location2=[Location]来缓存先前的变量)
等
有一件事需要注意
这些示例没有不同的演讲者,但有时会有。我希望能够以某种方式访问演讲者。我假设我希望它绑定到实际事件
JJ一种技巧:如果你有这样一个循环:
$row = $query->fetch();
do {
list($time,$place,$etc) = $row;
$row = $query->fetch(PDO::FETCH_NUM);
if ($time != $row[0] && $place != $row[1] && $etc != $row[2]) {
// display formatted data
}
} while ($row);
请尝试以下方法:
我通常会通过创建一个二维数组来解决这样的问题,先按日期然后按ID索引,或者在您的情况下,先按ID然后按日期索引
循环事件(第一维度)然后打印出该事件的内容-在那里循环浏览该事件的日期,并将其打印为列表,如您的示例所示。没有代码,可能是数据库模式,每个人都在猜测我更新了这个问题,不知道它是否会被掩埋,或者编辑是否会自动将其删除。因此,在这种情况下,第一个维度将是地点,第二维度将是日期?这是一个有趣的想法。我一直在尝试解决这个问题,我要么迷路了,要么我们不在同一页上。我正在将它设置为每个事件只显示一条记录(
如果($meeting!=$row[7])
)。我想要的是显示一次事件信息,但显示与该事件相关的所有日期(如我原始帖子的“我只想…”部分)。结果是我得到了你认为会发生的事情,还是我做了一些错误的事情?我不想在这个小评论中超过我的完整代码。
The Ark Church
Contact:
Alan & Joy Clayton
450 Humble Tank Rd.
Conroe, TX 77305
(936) 756-1988
info@thearkchurch.com
http://www.thearkchurch.org
Meetings:
Tuesday, 2012-10-30 07:00 PM
Wednesday, 2012-10-31 07:00 PM
Fellowship Of Faith Christian Center
Contact:
Michael & Joan Kalstrup
18999 Hwy. 59
Oakland, IA 51560
(712) 482-3455
ffcc@frontiernet.net
http://www.fellowshipoffaith.cc
Meetings:
Tuesday, 2012-11-06 07:00 PM
Faith Family Church
Contact:
Michael & Barbara Cameneti
8200 Freedom Ave NW
Canton, OH 44720
(330) 492-0925
http://www.myfaithfamily.com
Meetings:
Wednesday, 2012-11-14 07:00 PM
while ($row = $query->fetch(PDO::FETCH_NUM) ) {
list($time,$place,$etc) = $row;
// display formatted data
}
$row = $query->fetch();
do {
list($time,$place,$etc) = $row;
$row = $query->fetch(PDO::FETCH_NUM);
if ($time != $row[0] && $place != $row[1] && $etc != $row[2]) {
// display formatted data
}
} while ($row);