0

所以我有一个循环,它从我的数据库中吐出每一行数据。输出显示如下

Array ( [0] => 1 [1] => 1 [2] => 1 [3] => Saratoga [4] => test [5] => 7-2 [6] 
=> Red [7] => Bob [8] => Jill ) 
Array ( [0] => 2 [1] => 1 [2] => 2 [3] => Saratoga [4] => test 2 [5] => 3-3 [6] 
 => White [7] => Bill [8] => Austin ) 
 Array ( [0] => 3 [1] => 1 [2] => 3 [3] => Saratoga [4] => test 3 [5] => 2-2 
 [6] => Blue [7] => Austin [8] => jill ) 

我如何将它组合成一个数组?

下面的代码是关于我如何为我的数组做循环的

$sql = "SELECT * FROM `2018-08-20`";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
$rn = 1;
// output data of each row
   $aa = 1;

while($row = $result->fetch_assoc()) {

       $a = array($aa,$row["RaceNumber"], $row["HorseNum"], $row["Track"], 
$row["HorseName"], $row["Odds"], $row["Color"], $row["JockeyName"], 
$row["TrainerName"] );

  for($x=0;$x < $a[1];$x++){
      $aa++;
  print_r($a);
 echo "<br/>";
    $rn++;

  }
}

  echo ' <button type="submit" name="submit"> Submit </button></form>';
echo "</table>";

} else {
echo "0 results";

}
4

3 回答 3

0

如果您只想要一个包含您在循环中编码的字段的数组,您应该将它们编码到您的查询中。我不确定你$aa在数组中做什么,但你有它,所以我将它包含在我的最后一个示例中。

SQL 方法:

注意:$aa将丢失。

$sql = "SELECT 

  `RaceNumber`,
  `HorseNum`,
  `Track`,
  `HorseName`,
  `Odds`,
  `Color`,
  `JockeyName`,
  `TrainerName`

 FROM `2018-08-20`";

$results = $conn->query($sql);

print_r($results);

您当前的设置

$sql = "SELECT * FROM `2018-08-20`";
$result = $conn->query($sql);
if ($result->num_rows > 0) {

  $rn = 1; //What are these for???
  $aa = 1;

  while($row = $result->fetch_assoc()) {

    $a[] = array(

            $aa, 
            $row["RaceNumber"],
            $row["HorseNum"],
            $row["Track"], 
            $row["HorseName"],
            $row["Odds"],
            $row["Color"],
            $row["JockeyName"], 
            $row["TrainerName"]

           );

  }

  print_r($a);

  echo ' <button type="submit" name="submit"> Submit </button></form>';
  echo "</table>";

} else {

echo "0 results";

}
于 2018-08-20T05:03:16.317 回答
0

尝试这个。在下面的代码中,我们将所有数组存储在$all_data数组中。

$all_data = array();
while($row = $result->fetch_assoc()) {
    $a = array($row["RaceNumber"], $row["HorseNum"], $row["Track"], 
    $row["HorseName"], $row["Odds"], $row["Color"], $row["JockeyName"], 
    $row["TrainerName"] );

    $all_data[] = $a;
}
print_r($all_data);
于 2018-08-20T05:03:30.463 回答
0

你也可以试试这个

$all_data = array();
while($row = $result->fetch_assoc()) {
    $all_data[] = $row;
}

var_dump($all_data);

由于 $row 将采用数组格式,您可以直接将其添加到数组

你可以阅读更多 http://php.net/manual/en/mysqli-result.fetch-assoc.php

于 2018-08-20T05:08:00.393 回答