[前][次][番号順一覧][スレッド一覧]

mysql:4723

From: "f.t" <"f.t" <fujiyama@xxxxxxxxxx>>
Date: Tue, 27 Nov 2001 11:49:27 +0900
Subject: [mysql 04723] Re: PHP を使ったデータベースで配列による選択(セレクト)

fujiyamaです。

Tom Mishima <tmishima@xxxxxxxxxx> wrote(Tue, 27 Nov 2001 09:26:43 +0900):
 
> <?
> num = mysql_num_rows ($result);
> sql="select * from table where"
> for ($i=0; $i<$num; $i++) {
>   if ($i!=0)
>     sql = sql + " or";
>   sql = sql + " id="$check[$i];
> }
> ?>
> 
> 最近PHPをやっていないのと、

sql .="or id='$check[$i]'";
でしょうね。後for文に入る前にsql .="1=1"とかが必要。
多分、多紀さんのようにinで書いた方がスマートだとは思います。

#ひょっとして最近やっているのはJavaScript系?

*******************元
>> たとえば、配列のデータを渡されたphpのページで下記のようにする
>> と、
>> 
>> <?
>> num = mysql_num_rows ($result);
>> for ($i=0; $i<$num; $i++) {
>> print "$check[$i]<br>";
>> ?>

> > check[$i] は、下記と同じ意味だと理解しているのですが、
> > select * from table where id= ('check1' or 'check2' or 'check3'
> > .......)

とはなりませんね。
$checkという配列のキーが$iの要素は一つなので。

それより、この$checkという配列がどのように作られているのかが謎なんですが??
あと、mysqlに発行しているSQLも謎。$resultにはどんな結果が入っているのや
ら?

> 何をしたいかというと、データを表形式に一覧表示して、チェックボック
> スからチェックをつけたものを一度に削除したり、データの更新したりし
> たいと考えています。
> そこで、複数チェックがついたものは、配列でデータを引き渡しすること
> にしました。

1:表の元になるデータがMySQLに入っている。
↓
2:それをPHPを使って一覧表示する(示されたPHPの部分)。
↓
3:一覧表示画面のフォームでチェックをする。
↓
4:更新や削除ボタンで送信する。

ということだと勝手に理解しましたが、だと3,4の部分が出てないですね。

<form action=update.php>
<input type=checkbox name=check_num[] value=$check[0]>$check[0]
<input type=checkbox name=check_num[] value=$check[1]>$check[1]
...
<input type=submit value="update">
<input type=submit value="delete">
</form>
なら分かりやすいですが。
で、
$set ="yyy=$check_num[$k]";
for(チェックボックス分)
if($check_num[$k]){
	$set .=", yyy=$check_num[$k]";
}

…ちょっと効率悪いか(~~;


-- よろしくお願いします
f.t <fujiyama@xxxxxxxxxx>


[前][次][番号順一覧][スレッド一覧]

      4718 2001-11-27 01:03 ["Hiroshi Ozeki" <oze] PHP を使ったデータベースで配列による選択(セレクト)
      4719 2001-11-27 02:00 ┣[とみたまさひろ <tomm]                                       
      4720 2001-11-27 02:26 ┃┗["Hiroshi Ozeki" <oze]                                     
      4721 2001-11-27 09:26 ┃ ┗[Tom Mishima <tmishim]                                   
->    4723 2001-11-27 11:49 ┃  ┗["f.t" <fujiyama@xxxx]                                 
      4722 2001-11-27 10:44 ┗[Taki.MR <taki@xxxxxx]