ホームページ  >  記事  >  バックエンド開発  >  SQLの行と列の変換の問題

SQLの行と列の変換の問題

WBOY
WBOYオリジナル
2016-06-23 14:05:23771ブラウズ

テーブル構造

ID KEY VAL
1 性別 男性
2 日 365
4 num 12345

このページでは男性のエコー $a['day'] を表示したい 365 を表示するだけです

PHP クエリ mysql の書き方ステートメントをいつでもエコーできるようにするには?


ディスカッションに返信 (解決策)

    前略    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[column][row] です
次に、
$a=array_combine($var['KEY'], $var['VAL']);

mysql で実装するには、以下を行う必要があります。ストアド プロシージャを作成します
「クロス集計」で検索すると、実装アルゴリズムの複数のバージョンが見つかります

php で実装されている場合は、クエリ結果を読み取るときに構築できます
while($row = mysql_fetch_assoc($rs)) {
$a[$row ['key']] = $row['val'];
}

2 階の強力な機能により、このような複雑な問題は 1 行のコードで解決できます。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。