所以,我在這里有我的代碼,但是當我插入它時,它只插入數組的最后一個值。表單在文檔中的 //CREATE THE MATRIX OF MATCHUPS 之后開始。 echo "<pre>";// DISTRIBUTE TEAMS INTO CONTESTS$fixtures = mysqli_query($link, "SELECT teamname FROM tourn_teams WHERE groupname='Group 1'");$teams = array();// THE TEAMSwhile($row = mysqli_fetch_assoc($fixtures)){ $teams[] = $row['teamname'];}// HOW MANY WEEKS$weeks = 3;// MAKE ENOUGH ARRAY ELEMENTS FOR THE DISTRIBUTION$array = array_merge($teams, $teams);// POPULATE THE MATCHES ARRAY$matches = array();while ($weeks){ foreach ($teams as $ptr => $team) { // FIND THE INDEX INTO THE DISTRIBUTION ARRAY $linkt = $ptr + $weeks; // SELECT THE HOME AND AWAY TEAMS $home = $team; $away = $array[$linkt]; $matches[$team][$weeks] = array('home' => $home, 'away' => $away); } // NEXT WEEK $weeks--;}// SORT THE MATCHES SENSIBLY SO WEEK ONE COMES FIRSTforeach ($matches as $team => $contests){ ksort($contests); $matches[$team] = $contests;}// ACTIVATE THIS TO SEE WHAT THE $matches ARRAY LOOKS LIKE// print_r($matches);// CREATE THE TABLE OF MATCHUPS$out = NULL;$out .= "<table>";$out .= PHP_EOL;// CREATE THE HEADERS FOR EACH WEEK$weeknums = end($matches);$out .= "<tr>";$out .= '<th> Team </th>';$out .= '<th> v </th>';$out .= "<th> Team </th>";$out .= '</tr>';$out .= PHP_EOL;// CREATE THE MATRIX OF MATCHUPSforeach ($matches as $team => $contests){ $out .= "<form class='form-horizontal' action='".$_SERVER['PHP_SELF']."'d method='post'><tr><td><input type='text' name='teamone' value='$team' readonly></td>"; $out .= "<td> <b>v</b></td>"; foreach ($contests as $week => $matchup) { $out .= "<td> <input type='text' name='teamtwo' value='{$matchup["away"]}' readonly> </td>"; } $out .= "</tr>"; $out .= PHP_EOL;}如您所見,表中數組的輸出工作并在表中正確輸出并生成固定裝置,但是當我然后嘗試將它們輸入數據庫時,只有數組的最后一個值被輸入,而我試圖將所有固定裝置插入單獨的行中。
1 回答

慕蓋茨4494581
TA貢獻1850條經驗 獲得超11個贊
我為此寫了一個函數。隨意使用和調整它。它是處理查詢請求的類的一部分。所以你需要改變 where $this->query($query); 是。在插入之前確保數組可以安全插入。切勿插入原始帖子數據。
public function insert_array( $tabel = '', $arr = array() ) {
// make sure its an array
$arr_velden = (array) $arr;
// write array to table
$query = "
INSERT INTO
$tabel (
" . implode(',', array_keys($arr_velden)) . "
)
VALUES (
'" . implode("','", array_values($arr_velden)) . "'
)";
return $this->query($query);
} // end function
- 1 回答
- 0 關注
- 107 瀏覽
添加回答
舉報
0/150
提交
取消