2015-11-25 37 views
0

我剛剛添加了一個循環來代碼我已經有工作。我敢肯定,有什麼給我的麻煩,那就是下面的代碼片段之一:試圖創建一個PHP foreach循環,通過數組循環來調用API並輸出到MySQL

首先我:

$teams = array(ARI, ATL, BAL, BUF, CAR, CHI, CIN, CLE, DAL, DEN, DET, GB, HOU, IND, JAC, KC, MIA, MIN, NE, NO, NYG, NYJ, OAK, PHI, PIT, SD, SEA, SF, STL, TB, TEN, WAS); 

foreach ($teams as $value) { 

$query_string = 'api_key='.$api_key.'&team=$value'; // Change team/month 

這是建立$query_string爲正道$value隨着循環運行而變化?

後來在循環中我有:

$sql = "CREATE TABLE $value . _GAMES (". // Creating a new table for each team 

這是連接的$value變量被循環使用的什麼,我想表名是休息改變的正確方法? (即我希望第一個循環創建表ARI_GAMES

+0

是什麼問題 –

+0

我希望我的描述這個問題,可能對你有所幫助,以便更好地理解如何在PHP數組應該如何'在PHP串聯strings' –

回答

1

更改$query_string

$teams = array('ARI', 'ATL', 'BAL', 'BUF'); 
foreach ($teams as $value) { 

$query_string = 'api_key='.$api_key.'&team='.$value; 

} 
+0

感謝您的快速答覆! –

+0

感謝您的快速回答!感謝你及時的答覆!我收到來自終端以下錯誤:無法創建表:未知數據庫「ARI」 - 必須參照陣列,ARI中的第一項。 當我PhpFiddle運行此,我收到以下錯誤消息E_NOTICE:類型8 - 使用未定義的常量ARI的 - 假設「ARI」 - 第9行 (9號線是我定義$團隊陣列。) 有什麼建議嗎? –

0

我想,我親愛的朋友,你需要多一點學習有關PHP arrays。 首先你$teams陣列必須是數組字符串,內容如下球隊的名稱(注:我有縮短隊陣列表):

$teams = array("ARI", "ATL", "BAL", "BUF", "CAR", "CHI", "CIN", "CLE", "DAL", "DEN", "DET"); 

那麼你需要了解PHP連接如何工作。舉一個例子,這是不言而喻如下:

$someVar = 5; 
$concatenateVar = $someVar.' myOtherStringHere '.$someVar; 
echo $concatenatedVar; 

會打印出以下行:

5 myOtherStringHere 5 

不過,我已經寫了所需的代碼專門針對你的問題。請嘗試理解並從中吸取教訓。

<?php 
    $teams = array("ARI", "ATL", "BAL", "BUF", "CAR", "CHI", "CIN", "CLE", "DAL", "DEN", "DET"); 

    $api_key = "API_KEY_HERE"; 

    foreach ($teams as $value) { 
     echo "start of another foreach-loop round<br/>"; 
     $query_string = 'api_key = '.$api_key.' team = '.$value; 
      echo $query_string; 
     echo "<br/>"; 
     $sql = "CREATE TABLE $value._GAMES ("; // Creating a new table for each team 
      echo $sql; 
     echo "<br/>end of a foreach-loop round<br/>"; 
    } 
?> 

希望這可能對您有所幫助!

問候
Kasun Randika

+0

謝謝Kasun!這真的很有幫助。現在我發現了以下錯誤:無法JSON數據添加到表:不正確的整數值:第1行 「」列「nfl_game_id」當我附和API調用,這就是數據的模樣: [ { 「nfl_game_id」:2009081350, 「團隊」: 「ARI」, 「對手」: 「PIT」, 「totfd」:22, 「totyds」:329, 「pyds」:259, 「ryds」:70, 「筆」 :4, 「penyds」:27, 「trnovr」:2, 「PT」:6, 「ptyds」:266, 「ptavg」:37},...... 任何想法是怎麼回事? –

+0

嘿,樂於助人,那麼你至少應該贊成票,也可以接受的答案! :-),並把你的上面的問題放在另一個Stackoverflow問題中。 –

0

使用引號和大括號會好

$teams = array('ARI', 'ATL', 'BAL', 'BUF'); 
foreach ($teams as $value) { 
    $query_string = "api_key={$api_key}&team={$value}"; 

    //sql 
    $sql = "CREATE TABLE {$value}_GAMES (.... "; 
}