[PHP-users 26128] Re: number_format()を活用しつつ、ゼロとNULLを区別して表示させたい
Takaaki Hiramatsu
thiramatsu @ iflat.co.jp
2005年 7月 12日 (火) 16:34:41 JST
あいふらっとの平松です。
単純に、
if ( is_numeric($col['WEIGHT']) ) {
$weightf = number_format($col['WEIGHT'],4);
} else { // maybe NULL
$weightf = '計測無し';
}
だと駄目ですか?
、dbx_query()だとこれでうまくいきそうなので、
mysql_fetch_array() でも同じだと思いますが。
From: naya <SNA02388 @ nifty.com>
Date: Mon, 11 Jul 2005 15:54:03 +0900
Subject: [PHP-users 26108] number_format()を活用しつつ、ゼロとNULLを区別して表示させたい
> こんにちは。nayaと申します(WinXP-sp2、IIS5.1、PHP5.0.3、MySQL4.0.14)。
>
> PHP+MySQLによる入門本を参考に、検索システムに挑戦しています。
> データ出力の際、表示のさせ方についてわからないことが二つあります。
>
> ■ 背景情報
> MySQLにWEIGHT(重さ)というフィールドに、データをINSERTする際、
> ゼロ(→計測した結果ゼロだった)場合と、
> NULL(→そもそも計測していないので空白)という場合とで、それぞれ
> INSERT INTO MYTABLE VALUES(0,.....)
> INSERT INTO MYTABLE VALUES(NULL,.....)
> のように使い分けています。
>
>
> ■ 質問1
> PHPによって検索結果をHTMLで出力する際、
> 三桁区切り+小数点桁数を揃えたいため、
>
> $body .= "<td>" . $col["WEIGHT"] . "</td>";
>
> とせずに、number_format()関数の力を借りて、
>
> $weightf = number_format($col['WEIGHT'],4);
> $body .= "<td>" . $weightf . "</td>";
>
> としてみたら、NULLのところが「0.0000」と出力されてしまいます。
> 本件、0.0000とNULLは違う意味に捕らえているので、
> $body .= "<td>" . ( $weightf != "0" ? $weightf : "") . "</td>";
> としてみたら、今度は「0.0000」と登録してあるはずデータまで
> 空白として出力されてしまいます。
>
> 整理すると、0.0000と登録されていたら、0.0000と表示し、
> NULLで登録されていたら空白を表示し、
> さらに三桁区切り+小数点桁数揃えを行いたいのですが、
> 解決方法はありませんでしょうか?
(以下略)
________________________
あいふらっと株式会社
代表取締役 平松 孝章(ひらまつたかあき)
MAIL: thiramatsu @ iflat.co.jp
URL: http://www.iflat.co.jp
________________________
PHP-users メーリングリストの案内