【问题标题】:Obtaining data from query in multidimensional array从多维数组中的查询中获取数据
【发布时间】:2014-01-08 20:44:17
【问题描述】:

我花了很多时间试图找到执行以下操作的方法,并且尽我所能进行了研究,但仍然卡住了。

我有一个表“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 技术,因此您会注意到我的代码风格将在下一个 sn-p 中有所不同。

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 和剪影 //silhouettes 是表中的最后一个团队。

任何帮助将不胜感激,如果我可以编辑我的问题以使其更清楚,请告诉我。

谢谢

【问题讨论】:

  • $teams=array($row[0], $row[1]); => $teams[]=array($row[0], $row[1]);。目前,您只是覆盖$teams 变量而不是添加它。顺便说一句:如果您是 PDO 新手:您知道 fetchAll() 方法吗?
  • 哇,谢谢你,我会试一试的。老实说,我看到了 fetch_num 方法,它似乎很合适,所以我选择了那个 - 我将研究 fetch_All() - 你会推荐这个例子吗?感谢您的帮助

标签: php mysql sql arrays pdo


【解决方案1】:

您的 while 循环应如下所示:

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

【讨论】:

    【解决方案2】:
    1. 您需要在循环之前初始化$team = array();
    2. 然后通过 array_push($teams, array($row[0], $row[1])); 或 $teams []= array($row[0], $row[1]); 将您的元组添加到团队数组;`

    【讨论】:

    • 好的,我已经这样做了,但我无法正确地获取 foreach 循环。现在我收到此错误消息...注意:第 22 行 ArrayvsArray 中 D:\newXamp\htdocs\create_fixtures.php 中的数组到字符串转换
    猜你喜欢
    • 2012-07-21
    • 2019-11-04
    • 2016-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多