2014-01-08 89 views
0

我花了很多時間試圖找到實現以下方法的方法,並儘可能多地進行了研究,但仍然陷入困境。從多維數組中查詢中獲取數據

我有一個表'pool_a',表示分鐘有2列 - team_id和team_name。

我需要將ID和名稱回顯到嵌套的foreach循環中。 現在我可以做到這一點,如果我只是擔心名稱,但現在我的查詢也包含ID,我無法弄清楚如何爲我的表中的每一行獲取兩位數據。

以下是我得到它與TEAM_NAME工作...

for ($i=0;$i<$num;$i++) { 
    $team=mysql_result($result,$i,'team_name'); 
    $team_names[$i] = $team; 
    echo $team . "<br>"; 
} 

foreach ($team_names as $team) { 
    foreach ($team_names as $opposition) { 
    if ($team != $opposition) { 
    echo "<tr><td>" . $team . "<td><input type=\"text\"<td>versus<td><input type=\"text\">" . $opposition . "</tr>"; 
     } 
    } 

} 

這是偉大的,並輸出正確的賽程表,並與分數輸入框,但我需要添加一個隱藏的數據輸入與team_id作爲值。例如:

這是我到目前爲止。請注意,我一直在學習PDO和新的5.5技術,所以您會注意到我的代碼風格在下一個片段中會有所不同。

require_once "pdo_enl_connect.php"; 
$database=dbNB_connect(); 



$query=$database->query ("SELECT team_id, team_name from pool_a"); 

while ($row = $query->fetch(PDO::FETCH_NUM)) { 

    printf ("%s %s<br>", $row[0], $row[1]); 

    $teams=array($row[0], $row[1]); 

} 

foreach ($teams as $key=>$value) { 
echo "$key and $value<br>"; 
} 



$database=NULL; 

我得到foreach循環輸出是

0和5 1和剪影//剪影作爲最後一支球隊在表中。

任何幫助將不勝感激,請讓我知道如果我可以編輯我的問題,以任何方式更清晰。

感謝

+0

'$ teams = array($ row [0],$ row [1]); '=>'$ teams [] = array($ row [0],$ row [1]);'。目前,您只是覆蓋'$ teams'變量而不是添加到它。順便說一句:如果你是PDO的新手:你知道'fetchAll()'方法嗎? – Wrikken

+0

哇謝謝,我會放棄它。說實話,我看到了fetch_num方法,它看上去很合適,所以我選擇了這個方法 - 我將研究fetch_All() - 這是你會爲這個例子推薦的嗎?感謝您的幫助 – DJC

回答

0
  1. 你需要你的循環之前初始化$team = array();。 `
+0

好的,我已經這樣做了,但是我無法正確使用foreach循環。現在我得到這個錯誤信息...注意:數組到字符串轉換在D:\ newXamp \ htdocs \ create_fixtures.php在線22 ArrayvsArray – DJC

1

while循環應該是這樣的;

  • 然後做任何array_push($teams, array($row[0], $row[1]));或$團隊[] =數組($行[0],$行[1])的元組添加到隊陣:

    $teams = array(); 
    while ($row = $query->fetch(PDO::FETCH_NUM)) { 
        // $row and array($row[0], $row[1]) are the same here 
        $teams[] = $row; 
    }