[pgsql-jp: 27579] Re: int 型のフィールドに NULL をインサートしたい場合

Masumitsu Hatta hatta @ ja3.so-net.ne.jp
2002年 10月 9日 (水) 13:56:37 JST


八田@名古屋です


単純な方法では、フォームの項目名をdata[]などとしておき、

// --- サンプルここから ---

function pg_insert($aTable, $aData)
{
	for($i=0; $i< count($aData); $i++){
		if(trim($aData[$i]) == ""){
			$aData[$i] == null;
		} else {
			$aData[$i] = "'{$aData[$i]}'";
		}
	}

	$sql = sprintf("insert into \"$aTable\" values (%s)", $aData);
	pg_exec($sql);

}

pg_insert("テーブル名", $_POST['data']);

// --- サンプルここまで ---

などとしてみてはいかがでしょう?
ここまでくると、PHPの話になってしまいますが・・・

On Wed, 9 Oct 2002 13:40:47 +0900 (JST)
shushu2 <shushu2 @ yahoo.co.jp> wrote:

> 記述が足りませんでした。
> フォームを構成するテキストボックスは多数ありまして、
> 一度にインサート文を発行するんです。
> insert into values(データ1,データ2,データ3・・・・・
>> といった具合に。でその中でint型のフィールドが複数あるの
>> それを全てチェックしてインサート文を発行するのは
> 面倒だと思い、あるテキストボックスが空のまま実行されたら
> 0ではなく''がはいるようにしたかったんです。
> 
> values構成項目をプログラム(PHP)の変数で代入しているの
>> その変数内の値(テキストボックスの内容)が''であれば
> それがそのまま入って欲しいという内容でした。
> 
> 言葉が足りずすみません。。。
> 
>  
> > SQLが分かれば自明だとは思いますが、テキストボックスが
> 空の
> > 場合は
> >  insert into テーブル名 values(null)
> > でNULL値が入力できます
> > 

-- 
八田@名古屋




pgsql-jp メーリングリストの案内