gpt4 book ai didi

php - foreach循环与mysql链接表

转载 作者:行者123 更新时间:2023-11-29 12:35:26 25 4
gpt4 key购买 nike

我有 3 个 MySQL 表,Trophies、Winners 和 LinkTable 我需要以一种方式输出结果,即每个奖杯的所有以前的获奖者都将在每个奖杯下列出,因为当前每个结果只是循环,给我大量的数据.

Trophies     Winners     LinkTable
-------- --------- ---------
TrophyID WinnerID LT_WinnerID
TrophyName WinnerName LT_TrophyID
Description Year
Image

SQL Join如下

$trophylist = mysql_query("
SELECT TrophyID, TrophyName, Description, Image, WinnerID, WinnerName, Year
FROM LinkTable
INNER JOIN Winners ON (LinkTable.LT_WinnerID = Winners.WinnerID)
INNER JOIN Trophies ON (LinkTable.LT_TrophyID = Trophies.TrophyID)");

如果我通过 while 循环输出结果,正如预期的那样,为每个获胜者返回一个新行,并将奖杯放在旁边。

我认为这是一个我需要使用的 foreach 循环,以便可以为奖杯创建一个数组,但我现在有点陷入困境,因为我发现的所有内容似乎没有多大意义,所以有人指点我如果方向正确,我们将不胜感激。

最佳答案

您可以将数据重新排序到二维数组中,并按奖杯和年份进行索引。

$n = mysql_num_rows($trophylist);
for ($i=0; $i<$n; $i++)
{
$row = mysql_fetch_array($trophylist);
$trophyId = $row['TrophyID'];
$year = $row['Year'];
$newlist["$trophyId"]["$year"] = $row;
}

然后,您可以轻松地使用 $newlist 数组输出给定奖杯的所有获奖者或给定年份的所有获奖者。

关于php - foreach循环与mysql链接表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26854434/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com