[英]php sql, assign variable to each row of an array
我有一個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'];' 返回第八排的季后賽種子? 再次空白。
我覺得這兩個問題聯系在一起,因為我想我可以使用變量(即$ 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)的數組。
我仍然不確定您要如何存儲數據,但是我希望這對您有幫助
$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
........
......
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.