簡體   English   中英

PHP的SQL,分配變量到數組的每一行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM