初歩の初歩から勉強をやり直してます。
んで、今は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個別でレコードが作られてあらってなったので、
分割して連結して最後にぶっこむ方式に変更。
でもこれって、コード的に綺麗じゃないんだろうな。
フィールドの配列も多分もっと上手に作れるんだろうなぁ。
制御できないコード書いて涙を流したくないのでこうなってます。
いつまでもこうじゃいけないとは思うのですけども!

コメントを残す