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