初歩の初歩から勉強をやり直してます。
んで、今はphpからmysqlにデータを挿入して予定帳みたいなの作ろうとしてます。
ほいで今日はINSERT文を書きました。
疑問をスッキリさしたので、書きます。
require_once("connect.php");
$sql = "";
$sql = "SELECT * FROM task";
$res = mysql_query($sql,$con);
$numFields = mysql_num_fields($res);
$nameFields = array();
//ここでフィールドの配列を作成
for($i=0; $i<$numFields; $i++)
	{
		$nameFields[] =  mysql_field_name($res, $i);
	}
//データの漏れが無い用にさっきのフィールド配列をループ
foreach($nameFields as $val)
	{
		switch($val)
			{
				case gaiyou :
				$sql = "";
				$sql = 'INSERT INTO task('.$val.',';
				$sql_i = 'VALUE("'.$_POST[$val].'",';
				break;
				case ar_time :
				$sql .= ''.$val.',';
				$sql_i .= '"'.$_POST['time'].'",';
				break;
				case comment :
				$sql .= ''.$val.') ';
				$sql_i .= '"'.$_POST[$val].'");';
				$in_sql = mysql_query($sql.$sql_i);
				break;
			}
	}
で、caseごとに
$sql = INSERT INTO task(); $sql = VALUE(); $sql .= INSERT INTO task(); $sql .= VALUE();
って具合に書いてたら、1個1個別でレコードが作られてあらってなったので、
分割して連結して最後にぶっこむ方式に変更。
でもこれって、コード的に綺麗じゃないんだろうな。
フィールドの配列も多分もっと上手に作れるんだろうなぁ。
制御できないコード書いて涙を流したくないのでこうなってます。
いつまでもこうじゃいけないとは思うのですけども!

コメントを残す