将mysqli_query从函数添加到数组

时间:2019-04-11 16:04:16

标签: php

我试图找出是否可以从另一个函数内的函数调用中更新数组。

我有一个包含很多HTML的函数,我认为将需要重复。试图找到不重复自己的解决方案。

我的初始功能是查询创建数组的数据库。我打破了php并添加了HTML。

注释部分是我尝试创建功能的原始代码

function singleElim_displayTeam_r1() {
    global $conn;

    $sql = "SELECT * FROM teams";
    $result = mysqli_query($conn, $sql);
    $arrayTeams = array();

    // if(mysqli_num_rows($result) > 0) {
    //     while($row = mysqli_fetch_assoc($result)){
    //         $arrayTeams[] = $row;
    //     }
    // }

    createArrayRoundNumber("r1", $result, $arrayTeams);

    // print_r($arrayTeams);

    $num_rows = mysqli_num_rows($result);

    if(mysqli_num_rows($result) > 0) {
        for ($x = 0; $x < $num_rows; $x += 2) {
            $y = $x +1;
    ?>

函数调用

function createArrayRoundNumber($round, $result, $arrayTeams) {
    switch ($round) {
        case "r1":
            if(mysqli_num_rows($result) > 0) {
                while($row = mysqli_fetch_assoc($result)){
                     $arrayTeams[] = $row;
                }
            }
            break;

    }
}

这不会生成数组。寻找帮助,将数组数据从原始singleElim_displayTeam_r1()推送到$ arrayTeams数组

1 个答案:

答案 0 :(得分:1)

您需要通过引用传递$ arrayTeams。您需要在函数的$ arrayTeams前面添加“&”。

function createArrayRoundNumber($round, $result, &$arrayTeams) {
  switch ($round) {
    case "r1":
      if(mysqli_num_rows($result) > 0) {
        while($row = mysqli_fetch_assoc($result)){
          $arrayTeams[] = $row;
        }
      }
     break;
   }
}