inputのtype="checbox"とかmultipleなselectといったフォームから.name値をdel[]としておくと,del[]={記事番号}と処理される.
del[] = 34;
del[] = 214;
del[] = 554;
// del = { 34, 214, 554 };
レッツPHP!: pHpな掲示板:
NO. 1469についてのレス1469 質問です / スキ 2005/08/21(Sun) 12:12
PHP-I-BOARDで、管理画面より記事の削除をする場合、一つづつしか削除できないのですが、チェックしたものをまとめて削除することはできないのでしょうか?
1: heko 2005/08/21(Sun) 15:27
過去に同様の質問があった.ちょっと探してみてください.
何か改造しない限り,削除は1件ずつというのは確かだ.
2: スキ 2005/08/21(Sun) 21:51
質問を探してみましたが見つかりませんでした・・・
やっぱり改造しないとだめなのでしょうか。改造はちょっと自分では無理なのでどなたかしていただけると嬉しいです・・・
3: heko 2005/08/21(Sun) 22:25
del()をいじればよさげ.
4: heko 2005/08/21(Sun) 22:37
# 連想配列って,多重化できるの?
# つまり複数を送ったとき,$_POST[0]['del']にでもなっているのか.
5: APACHE 2005/08/21(Sun) 23:09
> やっぱり改造しないとだめなのでしょうか。
元々無い機能を追加するには改造するしかない。
> 改造はちょっと自分では無理なので
改造丸投げはマナー的にいただけない。
自分で出来ないなら
・あきらめる
・PHPの勉強をする
・金払って業者にやってもらう
・PHP解釈できる知人に頼む
とかしましょう。
6: heko 2005/08/21(Sun) 23:15
del()に print_r($_POST);die(); を噛ませると「Array ( [mode] => del [delkey] => 1234 [del] => 3 )」と出力.
POSTされるデータがこいつしかないため,削除が1件なのかな
7: heko 2005/08/21(Sun) 23:26
微妙にやる気になっていた俺ガイル.けど,難しいので飽きた.
寝よう.
# APACHEたそはぁはぁ
8: heko 2005/08/21(Sun) 23:40
http://ns1.php.gr.jp/pipermail/php-users/2003-September/018265.html
http://www.stackasterisk.jp/tech/php/php02_06.jsp
みっけた.
1.checkbox用の各inputのname値を配列にする.admindel[]程度かな.-> 各skin_other.htmlの<!--{each oya}-->
および<!--{each oya/res}-->ンとこがそうだ.delをadmindelへと変更.
2.ibbs.phpのadmindel()関数でも造る? -> if(delKey == ADMINPASS)とか書いて,オロジナルdel()を参考に捏造する.
# 「捏」は「でつ」とも読むようだ.
9: スキ 2005/08/22(Mon) 01:06
返信ありがとうございます。まだPHPは初心者なので難しいです。でも「name値を配列にする」というのは何となくわかるような気がします。
でも改造の仕方がわかりません。せっかくアドバイスいただいたのに
delのどの部分をどういう風に変えればいいのか良くわかりません・・・
10: いきのむし 2005/08/22(Mon) 01:54
できました。出来上がりを載せても為にならないと思うので……
(1)テンプレートのdelをdel[]にする。
(2)del()で引数を取るようにし、呼び出し側で$_POST['del']が配列ならば引数付で呼ぶようにする(foreachループ)。
(3)呼び出された側のdel()は引数があればその引数を、なければ$_POST['del']を削除するようにする。
とりあえず、通常削除、複数同時削除ともに出来ました。
11: APACHE 2005/08/22(Mon) 04:01
> # APACHEたそはぁはぁ
「○○たそはぁはぁ」を2ch以外で初めて見た今日新たな歴史が...
PHPって他人様が書いたスクリプトがどういう処理をしているのか
マニュアル片手に解釈して、
簡単なスクリプトを自分で書き始めると結構簡単に理解できるようにはなるよ。
とりあえず改造していく気なら動作確認環境を構築しないとダメだね。
PHP4 + Apache(構文/出力共に確認)
PHP4 + PHPエディタ(構文確認)
PHP4 (コマンドラインから構文/出力共に確認)