作者appleboy46 (小惡魔)
看板PHP
標題Re: [請益] checkbox 勾選後進行刪除的方法?!
時間Wed Oct 1 17:26:46 2008
※ 引述《idcomputer (順)》之銘言:
: 感謝您的回應^^
: ※ 引述《s5846125 (陸奧鬼一)》之銘言:
: : 有幾個地方要先確定一下:
: : 1. 在 HTML 裡,checkbox 的 name 是這樣寫的嗎?
: : <input type="checkbox" name="c1[0]" value="a")
: : <input type="checkbox" name="c1[1]" value="b")
: 我是寫成動態的
: <input type="checkbox" name="c1[]" value="<?php echo $row['id']; ?>">
: : ...
: : 2. table.id 是數字還是字串?
: : 因為沒被勾選的 checkbox,val 會是 '',
: : 不確定這樣會不會造成 sql 語法錯誤。
: id的部分是數字的~~
: : 3. 建議可以把 mysql_query 寫在 for 外面,sql 用以下的寫法:
: : 如果 id 是數字:delete from table where id in (1,3,4,5,6);
: : 如果 id 是字串:delete from table where id in ("1","3","4","5","6");
: 這部分如果是一串陣列的話該怎麼寫呢?!
if ( empty($_POST['invite_id_list']) )
{
ErrMsg("你未選取任何紀錄");
}
$invite_id_list = ( isset($_POST['invite_id_list']) ) ? $_POST['invite_id_list'] : '';
$invite_id_sql = '';
for($i = 0; $i < count($invite_id_list); $i++)
{
$invite_id_sql .= ( ( $invite_id_sql != "") ? ', ' : '' ) . intval($invite_id_list[$i]);
}
$sql = "DELETE FROM " . INVITE_TABLE . "
WHERE `invite_id` IN ($invite_id_sql)";
if ( !($result = $db->sql_query($sql)) ){
die("Could not query config information " . $sql);
}
--
Appleboy Blog:
http://blog.Wu-Boy.com
Appleboy Life:
http://life.wu-boy.com
迷你寫真部落格:
http://mini101.twgg.org
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.123.107.42
※ 編輯: appleboy46 來自: 140.123.107.42 (10/01 17:36)
推 kylekai :直接用 implode or join 會不會比較快?... 10/01 17:38
推 PHP5 :原PO真有心,還有 high light呢 10/01 17:44
→ appleboy46 :一樓方法也不錯~ 10/01 17:51
推 kylekai :對..就甘心!!!! 10/01 18:53