我有一个mysqli_query,可以从我的表中提取3列和10行。我想为查询的每一行分配一个变量。我可以做10个单独的查询,并将每个分配给一个变量,但我认为这将是不受欢迎的。 (注意:单独文件中的连接信息,此处未显示)。
<?php
$playoffseedings = mysqli_query($con, "SELECT playoffseed, ttName, ttsUID
FROM standings
WHERE ttsUID = $season_view
AND playoffseed > 0
ORDER BY playoffseed
LIMIT 10");
$seedings = array($playoffseedings);
FOREACH($seedings as $ps){
$num_rows = 1;
while($row = mysqli_fetch_array($ps)){
$num_rows++;
echo $row['playoffseed'].$row['ttName'];
echo "<br>";
}}
?>
上面使用的FOREACH工作正常并返回我查询的10行数据。这太酷了。但我需要能够在我的页面上的不同位置显示不同的行。所以我认为将每一行分配给一个不同的变量会很好。
我尝试添加这样的东西给每一行分配一个变量,这样我就有10个不同的变量$ seed1,$ seed2,$ seed3 ......,每个$ seedx都是playoffseed的数组,ttName,和ttsUID。
FOREACH($seedings as $ps){
$num_rows = 1;
while($row = mysqli_fetch_array($ps)){
$num_rows++;
$seed$num_rows = $row[$num_rows];
}}
我想知道如何做到这一点,但是,我也很困惑,为什么我不能使用像
这样的数组回显一行中的一行echo $seedings[1];
echo $seedings[7]['playoffseed'];
为什么不'回应$ seedings [1];'返回$ seedings数组第二行的结果?我有一个空白。
为什么不能'回应$ seedings [7] ['playoffseed'];'回到第8排的季后赛?再次,空白。
我觉得这两个问题是捆在一起的,因为我以为我可以使用变量(即$ seed3)引用我想要的数据,或者我可以使用索引引用我需要的数据(数组的键?)(即$ seedings [7] ['playoffseed'])。
第一篇文章!谢谢您的帮助。通常在搜索几个小时后总能找到我需要的东西。经过几天的观察,坚持了这个。
编辑(试图澄清): 我的查询返回一个表(多维数组?),像这样......
ttsUID ttName playoffseed
1993 Buffalo 1
1993 Miami 2
1993 Detroit 3
1993 Denver 4
1993 Chicago 5
...and so on. 10 rows total
在调用该查询后,我想设置变量($ seedx),例如......
$seed1 = (1993, Buffalo, 1)
$seed2 = (1993, Miami, 2)
$seed3 = (1993, Detroit, 3)
...and so on until $seed10
因此每个$ seedx变量都是从多维数组中提取的数组。这就是它。
或者我可以向数据库发出10个单独的查询,并且每次都增加'AND playoffseed = 1'......
$seed1 = mysqli_query($con, "SELECT playoffseed, ttName, ttsUID
FROM standings
WHERE ttsUID = $season_view
AND playoffseed = 1");
$seed2 = mysqli_query($con, "SELECT playoffseed, ttName, ttsUID
FROM standings
WHERE ttsUID = $season_view
AND playoffseed = 2");
但我不认为10次查询数据库是可行的方法。
最后我希望得到10个变量($ seed1,$ seed2,... $ seedx),每个变量都是一个包含(ttsUID,ttName,playoffseed)的数组。
答案 0 :(得分:0)
我仍然不确定你想如何存储数据,但我希望这可以帮助你
$playoffseedings = mysqli_query($con, "SELECT playoffseed, ttName, ttsUID
FROM standings
WHERE ttsUID = $season_view
AND playoffseed > 0
ORDER BY playoffseed
LIMIT 10");
while($row = mysqli_fetch_assoc($playoffseedings))
{
$seed[$row['ttName']] = $row['ttsUID'];
$seed[$row['playoffseed']] = $row['ttsUID'];
}
这将有如下数据
(例如)
$seed['ttname123']= ttsuid123
$seed['playoffseed123']= ttsuid123
$seed['ttname456']= ttsuid456
$seed['playoffseed456']= ttsuid456
........
......