您好,欢迎访问一九零五行业门户网

SQL行列转换的问题

表结构
id  key  val
1   sex  male
2   day  365  
4   num  12345
现在我想在这个页面 echo $a['sex'] 就显示 male  echo $a['day']  就显示  365
php查询mysql语句要怎么写方便随时echo呢?
回复讨论(解决方案) 前略 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;$jresult, $j); $this->records[$temp_key_name][$i] = $temp_rows[$temp_key_name]; } $i++; } return $this->records; }
这样写就是按列输出了,格式为$var[列][行]
然后
$a=array_combine($var['key'], $var['val']);
要在 mysql 中实现,需要书写存储过程
你搜索“交叉表”,就可以找到多个版本的实现算法
如果用 php 实现,可以在读取查询结果时构造
while($row = mysql_fetch_assoc($rs)) {
  $a[$row['key']] = $row['val'];
}
二楼威武,这么复杂的问题一行代码搞定。
其它类似信息

推荐信息