唠叨大兄请进来,复选框和set类型的问题

pmaster 2005-03-07 11:54:25
`seeking` set('男朋友','女朋友','工作伙伴','聊天室','玩伴','婚姻','普通朋友','笔友','知心伴侣','心灵之交','终身伴侣') default NULL,

上面是MYSQL数据库的字段!

<table width="76%" border="0">
<tr>
<td width="59%"><input name="seeking" type="checkbox" id="seeking" value="checkbox">
男朋友</td>
<td width="41%"><input name="seeking" type="checkbox" id="seeking" value="checkbox">
女朋友</td>
</tr>
<tr>
<td><input name="seeking" type="checkbox" id="seeking" value="checkbox">
工作伙伴</td>
<td><input name="seeking" type="checkbox" id="seeking" value="checkbox">
聊天室</td>
</tr>
<tr>
<td><input name="seeking" type="checkbox" id="seeking" value="checkbox">
婚姻</td>
<td><input name="seeking" type="checkbox" id="seeking" value="checkbox">
普通朋友</td>
</tr>
<tr>
<td><input name="seeking" type="checkbox" id="seeking" value="checkbox">
玩伴</td>
<td><input name="seeking" type="checkbox" id="seeking" value="checkbox">
终身伴侣</td>
</tr>
<tr>
<td><input name="seeking" type="checkbox" id="seeking" value="checkbox">
笔友</td>
<td><input name="seeking" type="checkbox" id="seeking" value="checkbox">
知心伴侣</td>
</tr>
<tr>
<td><input name="seeking" type="checkbox" id="seeking" value="checkbox">
心灵之交 </td>
<td> </td>
</tr>
</table>
这是表单的内容,我想要在表单里选择这些复选框,然后查询出表里有这些复选框内容的记录
...全文
151 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ice_berg16 2005-03-08
  • 打赏
  • 举报
回复
$sql=$sql." and (profile.seeking LIKE '%". join("%' or profile.seeking LIKE '%", $_POST['seeking']) ."%')";
pmaster 2005-03-08
  • 打赏
  • 举报
回复
$sql=$sql." and (profile.seeking='". join("' or profile.seeking='", $_POST['seeking']) ."')";
像这样子根本查不出seeking里面的值
pmaster 2005-03-08
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/topic/3833/3833881.xml?temp=.2948114

ice_berg16 (90)去上面的帖子加个标记!这是你该得的酬分!!
fyxw 2005-03-07
  • 打赏
  • 举报
回复
晕,你所有的复选框给的值都是一样的……先不说是不是用数组传过去的,就算传过去程序怎么判断你选的是哪个?
ice_berg16 2005-03-07
  • 打赏
  • 举报
回复
1.你的checkbox的value一定要写上要查询的内容,全是checkbox怎么查?改成男朋友,女朋友这种形式.

2.如果MYSQL版本够高(4.1以上)可以用
select * from tblname where FIND_IN_SET(seeking,'".join("','",$_POST['seeking'])."')";
不够高的话可用下面的
select * from tabname where seeking='". join("' OR seeking="', $_POST['seeking']) ."')";
magicsnake 2005-03-07
  • 打赏
  • 举报
回复
应该每个复选框的value要不同才对把,name='seeking[]'
可以通过数组来取值,根据值来判断选中的是那个条件
ice_berg16 2005-03-07
  • 打赏
  • 举报
回复
当然用了,不用怎么当成数组来处理?
pmaster 2005-03-07
  • 打赏
  • 举报
回复
这样的话,表单的checkbox的名称要不要用seeking[]这种数组形式?
ice_berg16 2005-03-07
  • 打赏
  • 举报
回复
$sql=$sql." and (profile.seeking='". join("' or profile.seeking='", $_POST['seeking']) ."');";
pmaster 2005-03-07
  • 打赏
  • 举报
回复
select * from tabname where seeking='". join("' OR seeking="', $_POST['seeking']) ."')";

这个好像是错的!

这是我改的:
$sql=$sql." and profile.seeking='". join("' or profile.seeking="', $_POST['seeking']) ."')";
出错!!
pmaster 2005-03-07
  • 打赏
  • 举报
回复
<table width="76%" border="0">
<tr>
<td width="59%"><input name="seeking" type="checkbox" id="seeking" value="男朋友">
男朋友</td>
<td width="41%"><input name="seeking" type="checkbox" id="seeking" value="女朋友">
女朋友</td>
</tr>
<tr>
<td><input name="seeking" type="checkbox" id="seeking" value="工作伙伴">
工作伙伴</td>
<td><input name="seeking" type="checkbox" id="seeking" value="聊天室">
聊天室</td>
</tr>
<tr>
<td><input name="seeking" type="checkbox" id="seeking" value="婚姻">
婚姻</td>
<td><input name="seeking" type="checkbox" id="seeking" value="普通朋友">
普通朋友</td>
</tr>
<tr>
<td><input name="seeking" type="checkbox" id="seeking" value="玩伴">
玩伴</td>
<td><input name="seeking" type="checkbox" id="seeking" value="终身伴侣">
终身伴侣</td>
</tr>
<tr>
<td><input name="seeking" type="checkbox" id="seeking" value="笔友">
笔友</td>
<td><input name="seeking" type="checkbox" id="seeking" value="知心伴侣">
知心伴侣</td>
</tr>
<tr>
<td><input name="seeking" type="checkbox" id="seeking" value="心灵之交">
心灵之交</td>
<td> </td>
</tr>
</table>

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧