【问题标题】:Array From database来自数据库的数组
【发布时间】:2012-04-26 08:35:55
【问题描述】:

我不热衷于如何从数据库中创建一个数组。试图避免学习这些,但显然现在需要它。

基本上,我的数据库由数百万行构成。 Player Name 和 Snap(Unix 时间戳)通常是“重复的”,但这些行中的数据不同(城市、x、y 等)。

理想情况下,试图弄清楚如何通过SELECT 语句创建一个数组,例如:

输出,我希望是这样的: Name = Snap =>(那天有多少个城市),Snap =>(另一天有多少个城市)..等等..

这里的问题是,什么是正确的数组“命令”(如果你调用它的话)来提取名称 ONCE 并根据 snap 的计数提取多个 snap。

我的选择是:

// SELECT count(*), player, snap
// FROM DB WHERE GROUP BY snap, player ORDER BY snap, player DESC
while ($row = fetch_assoc($Result) {
     // How you go about putting array here?
}

【问题讨论】:

  • 抱歉这里没有说清楚。我知道 SELECT 语句以及如何打开/关闭等。我要问的是如何创建一个数组(以前从未做过)。谢谢!

标签: php mysql database arrays


【解决方案1】:

它会像这样完成:

$Result = mysql_query("SELECT count(*) as count, player,
     snap FROM DB GROUP BY snap, player ORDER BY snap, player DESC");
while ($row = mysql_fetch_array($Result) {
  print_r( $row );
  echo "This is the count value -> " . $row['count'];
}

【讨论】:

    【解决方案2】:

    我同意关于需要阅读更多基础知识的评论,但您可以执行以下操作来创建多维数组:

    <?php
    
    $results = array();
    
    $Result = 'SELECT count(*),player,snap FROM DB WHERE GROUP BY snap,player ORDER BY snap,player DESC';
    while ($row = fetch_assoc($Result){
      if (!isset($results[$row['player']][$row['snap']]) {
        $results[$row['player']][$row['snap']] = 0;
      }
      $results[$row['player']][$row['snap']] += $row['count(*)']; 
    }
    
    ?>
    

    【讨论】:

    • 现在这就是我正在寻找的,现在尝试了解已经完成的操作。感谢您引导我走向正确的方向! :)
    【解决方案3】:

    【讨论】:

      【解决方案4】:

      你可以试试

      $sql = "SELECT count(*) as count, player,
              snap FROM DB GROUP BY snap, player ORDER BY snap, player DESC";
      
      /* Connect To Database */
      $mysqli = new mysqli ( "localhost", "username", "password", "database" );
      
      /* check connection */
      if ($mysqli->connect_errno) {
          printf ( "Connect failed: %s\n", $mysqli->connect_error );
          exit ();
      }
      
      $result = $mysqli->query ( $sql );
      $array = array();
      if ($result) {
          while ( $row = $mysqli->fetch_assoc ( $result ) ) {
              $array[$row['player']] += $row['count'];
          }
      
          print_r($array); // Return array
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-02-08
        • 2016-01-05
        • 1970-01-01
        • 1970-01-01
        • 2015-01-19
        • 1970-01-01
        • 2020-05-20
        相关资源
        最近更新 更多