佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

搜索
楼主: cath

php mysql 问题--->72#php message box

[复制链接]
发表于 2-4-2008 05:45 PM | 显示全部楼层
原帖由 cath 于 2-4-2008 04:10 PM 发表
这个方法我用过了也不能
而且是一个record都delete不到,我不知哪里出错了

先把 check 的result echo 出来看....
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 2-4-2008 09:52 PM | 显示全部楼层
[quote]原帖由 yhchan 于 2-4-2008 11:09 AM 发表
你的checkbox是什么?List of "word" ?

不好意思,写漏了。。是id
回复

使用道具 举报

 楼主| 发表于 2-4-2008 09:54 PM | 显示全部楼层
原帖由 vampcheah 于 2-4-2008 05:45 PM 发表

先把 check 的result echo 出来看....






check result是id..就算我check两个也只有一个id
回复

使用道具 举报

发表于 2-4-2008 11:38 PM | 显示全部楼层
原帖由 cath 于 2-4-2008 09:54 PM 发表






check result是id..就算我check两个也只有一个id
凡事先确认 input 。
回复

使用道具 举报

发表于 3-4-2008 10:41 AM | 显示全部楼层
正如vamp所说,echo你的$_POST['checkbox']来看看,也echo你的query来看看。

有可能是你generate checkbox的HTML时出了问题。。。。
回复

使用道具 举报

 楼主| 发表于 3-4-2008 11:07 AM | 显示全部楼层
是啊!我echo了,$_POST['checkbox']就是word id
问题就出在不能同时delete多个row
回复

使用道具 举报

Follow Us
发表于 3-4-2008 11:20 AM | 显示全部楼层
只有一个ID,那就是说你的checkbox的 HTML错了。

请注意这两个checkbox:
<input type="checkbox" name="cb" value="1">
<input type="checkbox" name="cb2" value="2">
Submit 后,echo $_POST['cb'],会得到1,echo $_POST['cb2'],会得2。

再看这两个:
<input type="checkbox" name="cb[]" value="1">
<input type="checkbox" name="cb[]" value="2">
请注意name。这次用得是cb[],而不是cb。而且,两个 checkbox用的是同样的name。
submit后,$_POST['cb']会得到一个ARRAY,而不是一个value。因为cb超过一个。

所以,要得到check 的 value,就必须Loop in array:
if (count($_POST['cb']) > 0) {
        foreach ($_POST['cb'] as $key) {
                $key = addslashes($key);
                mysql_query("DELETE FROM `table` WHERE `id` = '$key'");
        }
}

试试看。。。。
回复

使用道具 举报

 楼主| 发表于 3-4-2008 11:36 AM | 显示全部楼层
好的,我再试试看。。其实我也很模糊checkbox[]和checkbox之间。。
谢谢你~~
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 3-4-2008 10:00 PM | 显示全部楼层
可以了!謝謝大家~~

if (isset($_POST['Delete'])){
$del_id = $_POST['checkbox'][$i];
   if (!empty($_POST['checkbox'])) {
      foreach($_POST['checkbox'] as $v) {
         $del_id = mysql_real_escape_string($v);
         $sql = "delete * FROM word where id = '$del_id'";
         mysql_query($sql);
      }
   }
}

但我不明白為何在這裡要用mysql_real_escape_string才能...

[ 本帖最后由 cath 于 3-4-2008 11:05 PM 编辑 ]
回复

使用道具 举报

发表于 4-4-2008 10:42 AM | 显示全部楼层
噢,那是说你checkbox的value有\n, \r, \, ', "等的special character,必须去掉才能正常的Query。

但为什么会有呢?。。。。
但也恭喜你做到了哟!
回复

使用道具 举报

 楼主| 发表于 4-4-2008 11:03 AM | 显示全部楼层
我也不晓得。。或者我test了再告诉你们。。
回复

使用道具 举报

 楼主| 发表于 7-4-2008 11:11 PM | 显示全部楼层
请问如何做php message box?比如说要confirm to delete的。。
回复

使用道具 举报

发表于 7-4-2008 11:53 PM | 显示全部楼层
最简单的方法是用 javascript。

<input type="submit" value="Delete" onClick="return confirm('Delete ?');">

当user按OK,才会submit。
回复

使用道具 举报

发表于 8-4-2008 12:49 AM | 显示全部楼层
可不可以不要再连试都不试就跑上来问 ?(起码告诉我们你做了些什么testing)
难道你有问题,我们直接回答就是好吗?
回复

使用道具 举报

 楼主| 发表于 8-4-2008 10:54 AM | 显示全部楼层
[quote]原帖由 yhchan 于 7-4-2008 11:53 PM 发表
最简单的方法是用 javascript。



其实如果不用javascript可以吗?只是用php,php我找不到相关的资料
回复

使用道具 举报

发表于 8-4-2008 12:42 PM | 显示全部楼层
其实用javascrip是最简单的方法。

如果用纯PHP,我也不懂可不可以做到。因为POP UP一个新的page来Confirm,某个程度上,一定要用到一点javascipt的。

你可以参考一下这几个forum。
http://www.daniweb.com/forums/thread105766.html
http://www.webmasterworld.com/forum88/4828.htm
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 8-4-2008 02:08 PM | 显示全部楼层
好的,谢谢你的建议
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT


本周最热论坛帖子本周最热论坛帖子

ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2026 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 20-4-2026 12:37 AM , Processed in 0.075842 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表