【问题标题】:need an associative array from two mysql colums需要来自两个 sql 列的关联数组
【发布时间】:2011-11-09 04:59:52
【问题描述】:

我有一个 mysql 表

||==========||==========||==========||
||    id    ||   name   ||   age    ||
||==========||==========||==========||
||    1     ||   joe    ||   10     ||
||    2     ||   harry  ||   20     ||
||    3     ||   jane   ||   45     ||
||    4     ||   john   ||   56     ||
||    5     ||   larry  ||   89     ||
||    6     ||   henry  ||   23     ||
||    7     ||   steve  ||   25     ||
||    8     ||   eric   ||   56     ||
||    9     ||   dave   ||   98     ||
||    10    ||   mat    ||   56     ||
||==========||==========||==========||

我需要一个 sql 查询,它可以从这个表中创建一个关联数组并给我这样的值

id=>age
1=>10
4=>56

我还需要将所有 id 作为变量,其中的值将是年龄

$1 = 10
$4 = 56

或者如果我可以为变量添加前缀

$id_1 = 10
$id_4 = 56

提前致谢

【问题讨论】:

  • 我认为他们不是像这样生成数组的直接方法,首先获取记录并将结果存储到您需要的数组中。

标签: mysql sql arrays


【解决方案1】:

在 PHP 中,mysql_fetch_assoc() 获取查询结果,并以关联数组的形式返回一行。重复调用以获取所有行。

【讨论】:

    【解决方案2】:

    如果您使用 php 获取数据,您可以使用函数 mysql_fetch_array 示例:

    while($row = mysql_fetch_assoc($resource))
    {
    echo $row['name'].'<br>';
    }
    

    您可能在本站了解更多关于 php 的 mysql 函数:http://www.php.net/manual/en/book.mysql.php

    【讨论】:

      【解决方案3】:
      $ids = '1, 4';
      $sql = "select age from __TABLE__ where id in ( {$ids} )";
      
      $link = mysql_connect('__SERVER__', '__DBUSER__', '__DB_PWD__') or die('connect error');
      $db = mysql_select_db('__DBNAME__', $link) or die('db error');
      
      $rs = mysql_query($sql, $link);
      
      $result = array();
      while($row = mysql_fetch_assoc($rs))
      {
          $result[] = $row;
      }
      extract(my_result($result));
      var_dump($id_1);
      var_dump($id_4);
      function my_result($result, $prefix = 'id_')
      {
          $data = array();
          foreach($result as $k => $v)
          {
              $data[$prefix . $v['id']] = $v['order_no'];
          }
          return $data;
      }
      

      【讨论】:

        猜你喜欢
        • 2021-09-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-24
        • 2021-04-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多