トップページphp
1001コメント329KB

△▲ WebProg 初心者の質問 Part16 ▼▽

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2007/08/22(水) 05:53:43ID:???
2ちゃんねるは初めて。 WebProg 板は初めて。
質問したいけど、どうしたら良いか分からない。

そんなときは、ここに書き込んでください。
板の住人や、その他が、けなしながら、厳しく教えてくれるかも。

質問する前に、まずはここを読んでね。
【注意事項】
・質問する前にGoogleで検索してみましょう
http://www.google.co.jp/
・環境(ソフトウェアのバージョンなど)は、必ず書いてください。できるだけ詳しく。
 後から情報を書き足す、いわゆる情報の小出しは極力避けてください。
・何がしたくて、何ができて何ができないのかを書きましょう
・マルチポスト(複数のスレッドで質問する行為)は絶対に禁止です。
・過去ログは必ず読みましょう。あなたと同じ質問をしてる人がいるかも知れません。

2ch 総合ガイド
http://www.2ch.net/guide/

お願い。
適切な、板、スレ、を発見した場合、誘導してあげましょう。
スレの性質上 age 進行でお願いします。

関連情報は
>>2-3辺り

欲しいCGIが見つからないならこっちへGo!!
【CGI】こんなCGI探してますver.22
http://pc11.2ch.net/test/read.cgi/hp/1166794984/
前スレ
△▲ WebProg 初心者の質問 Part15 ▼▽
http://pc11.2ch.net/test/read.cgi/php/1169725490/
0701nobodyさん2008/01/25(金) 11:03:14ID:???
カラムをいくつも増やしていいのか?
だったらテーブルの構造を

id,name,age,address,Attendance

とかにしてAttendanceに出席したら1,出席してないなら0

テーブル増やしちゃいけない場合なら

nameに例えば(小林,1)とかにしてinsertすればいいと思う。

取り出した時にsplitとかで取り出せばOK
0702nobodyさん2008/01/25(金) 11:53:43ID:???
>>698
「ある人数分をまとめてinsert into する」という事は通常はやらない。
「1人分のデータをinsert into」を○回行う。を、やる。
htmlでinputタグが20件並んでいて、ボタンを押すということだよな?
だったら、inputの値を取得し、その値が""であれば、SQLは実行しない。
でいいだろ。

工夫してループを書くことが出来ないのであれば、1件分を書いて、
20回コピペしなさい。
0703nobodyさん2008/01/25(金) 12:02:56ID:???
でも、エラーチェックの事も考え、通常はシステム的に複数の
データを同時に一括で登録するというシステムを作ることは少ない。
登録している一覧が表示されており、それに1件追加という
形式の方が多い。
0704nobodyさん2008/01/25(金) 13:36:45ID:???
サンプルとなるコードを書いてみた。目的としているソースはこんな感じでいいのかな?
テーブル名がかかれてなかったので、[テーブル名]としている。
登録したデータ件数は $dat_cnt に入るようになっている。

htmlファイルが、以下のような感じで20件書かれている場合
<input name="name1"><input name="age1"><input name="address1">
<input name="name2"><input name="age2"><input name="address2">
<input name="name3"><input name="age3"><input name="address3">


<?php
$dat_cnt = 0; // データ件数
$i = 1;
while($i < 21){
$name_str = "name" . $i;
$age_str = "age" . $i;
$addr_str = "address" . $i;

// エラーチェック
if($_POST[$name_str] == "" or $_POST[$age_str] == "" or $_POST[$addr_str] =="" ){
// 入力不備なので何もしない。
}else{
// SQL文の準備
$dat[$i] = $_POST[$name_str] . "," . $_POST[$age_str] . "," . $_POST_[$addr_str];
$sql_str = "INSERT INTO [テーブル名] VALUES( " . $dat[$i] . " );"
// ここでSQL実行(省略)
$dat_cnt = $dat_cnt + 1;
}
$i = $i + 1;
}
?>
■ このスレッドは過去ログ倉庫に格納されています