表结构ID  KEY  VAL
1   sex  male
2   day  365  
4   num  12345现在我想在这个页面 echo $a['sex'] 就显示 male  echo $a['day']  就显示  365PHP查询mysql语句要怎么写方便随时echo呢?   

解决方案 »

  1.   


        前略
        function select_db_col ($sql_string)
        {
         unset($this->records);
         @mysql_free_result($this->result);
         $this->result=@mysql_query($sql_string,$this->db);
    $i=1;
    while($temp_rows=@mysql_fetch_array($this->result, MYSQL_ASSOC))
    {
    for ($j=0;$j<count($temp_rows);$j++)
    {
    $temp_key_name = mysql_field_name($this->result, $j);
    $this->records["$temp_key_name"][$i] = $temp_rows["$temp_key_name"];
    }
    $i++;
    }
         return $this->records;
        }这样写就是按列输出了,格式为$var[列][行]
    然后$a=array_combine($var['KEY'], $var['VAL']);
      

  2.   

    要在 mysql 中实现,需要书写存储过程
    你搜索“交叉表”,就可以找到多个版本的实现算法如果用 php 实现,可以在读取查询结果时构造
    while($row = mysql_fetch_assoc($rs)) {
      $a[$row['key']] = $row['val'];
    }