回 帖 发 新 帖 刷新版面

主题:[讨论]求救!如何利用单选按纽radiobutton进行条件查询!

主页代码如下:

-------------------------------------------
<INPUT name="search" size="40" id="search" type="text" > 
      &nbsp;
      <input type="button" value="查询" onClick="getPage(1)">
</p>
      <table width="70%" border="0" cellspacing="0">
        <tr>
          <td width="26%"><div align="right">根据公司资料查询:</div></td>
          <td width="6%"><label>
          <div align="left">
 <input name="radiobutton" type="radio" value="1" checked>
          </div>
          </label></td>
          <td width="14%"><div align="left">公司名称</div></td>
          <td width="6%"><label>
            <div align="left">
              <input name="radiobutton" type="radio" value="2">
            </div>
          </label></td>
          <td width="14%"><div align="left">公司电话</div></td>
          <td width="6%"><label>
            <div align="left">
              <input type="radio" name="radiobutton" value="3">
            </div>
          </label></td>
          <td width="11%"><div align="left">公司地址</div></td>
          <td width="6%"><label>
            <div align="left">
              <input type="radio" name="radiobutton" value="4">
-----------------------------------------------------------------------
在search.asp里面怎么写才能让它能根据返回的radiobutton的值进行查询?
原来的查询语句是:
text=Trim(request("search"))
 sql="select * from p_data where gstel like '%"&text&"%' order by id desc"
 rs.open sql,conn,1,1

回复列表 (共3个回复)

沙发

写一个 select case ... end select 语句即可!

<%
dim rad,text
rad=request.form("radiobutton") '获取单选按钮的值
text=Trim(request("search"))

select case rad
case 1: sql="select * from p_data where 公司资料 like '%"&text&"%' order by id desc"
case 2: sql="select * from p_data where 公司名称 like '%"&text&"%' order by id desc"
case 3: sql="select * from p_data where 公司电话 like '%"&text&"%' order by id desc"
case 4: sql="select * from p_data where 公司地址 like '%"&text&"%' order by id desc"
end select
%>

板凳

<% 
dim rad,text
 rad=request.form("radiobutton") '获取单选按钮的值
 text=Trim(request("search"))

 select case rad
  case 1: sql="select * from p_data where p_gsname_1 like '%"&text&"%' order by id desc"
  case 2: sql="select * from p_data where p_gstel_1 like '%"&text&"%' order by id desc"
  case 2: sql="select * from p_data where p_gsdizhi_1 like '%"&text&"%' order by id desc"
  case 2: sql="select * from p_data where p_lxr_1 like '%"&text&"%' order by id desc"
 end select
<%

我按照你那么写的,可是按下查询按纽就没有反映。。。
还是不行。

select case rad里面的select语句不需要加上 radiobutton 的值吗?

3 楼

我以前写过的一个东西,用的这种方法,你看看有用没有

#region  查询语句头
    string ForSelect = " SELECT DISTINCT 销售合同.销售合同号, 销售合同.销售合同类别, 销售合同.客户名称,销售合同.联系人名称, 联系人.电话, 联系人.传真, 联系人.地址, 销售合同.项目名称,  销售合同.合同签定日期, 员工.姓名 as 签单人姓名, 销售合同.签单人代号, 销售合同.合同金额, 销售合同.付款方式, 销售合同.首笔回款金额, 销售合同.首笔应付时间, 销售结算.首付时间 as 首期实付时间, 销售合同.第二笔回款金额, 销售合同.第二笔应付时间 ,销售结算.二期时间 as 二期实付时间, 销售合同.第三笔回款金额, 销售合同.第三笔应付时间,销售结算.三期时间 as 三期实付时间 FROM ((((销售合同 INNER JOIN 员工 ON 销售合同.签单人代号 = 员工.员工编号) INNER JOIN 联系人 ON 销售合同.联系人名称 = 联系人.姓名) INNER JOIN  销售清单 ON 销售合同.销售合同号 = 销售清单.销售合同号) INNER JOIN 销售结算 ON 销售合同.销售合同号 = 销售结算.销售合同号) , 设备型号 WHERE ";
    #endregion
strs=false;
////模糊查询 
    protected void BTN_DO2_Click(object sender, EventArgs e)
    {
        
        bool strs = false;
        string sqlstr = ForSelect;
        if (TB_CName.Text != "") //不缺省
        {
            sqlstr += "(销售合同.客户名称='" + TB_CName.Text + "')";
            strs = true;
        }
        if (DDL_CTYPE.Text != "全部")
        {
            if (strs)
            {
                sqlstr += " and ";
            }
            sqlstr += "(联系人.客户类型='"+DDL_CTYPE.Text+"')";
            strs = true;
        }
        if (DDL_GTYPE.Text != "全部")
        {
            if (strs)
            {
                sqlstr += " and ";
            }
            sqlstr += "(设备型号.分类='" + DDL_GTYPE.Text + "')";
            strs = true;
        }
        if (DDL_ok.Text == "已结清")
        {
            if (strs)
            {
                sqlstr += " and ";
            }
            sqlstr += "(销售结算.已付金额 = 销售结算.总金额)";
            strs = true;
        }
        else if (DDL_ok.Text == "未结清")
        {
            if (strs)
            {
                sqlstr += " and ";
            }
            sqlstr += "(销售结算.已付金额<>销售结算.总金额)";
            strs = true;
        }
        if ((DDL_FYear.Text != "无" && DDL_FM.Text != "无" && DDL_FDAY.Text != "无") && (DDL_TYEAR.Text != "无" && DDL_TM.Text != "无" && DDL_TDAY.Text != "无"))
        {
            if (strs)
            {
                sqlstr += " and ";
            }
            string Fdate = "#" + DDL_FM.Text + "/" + DDL_FDAY.Text + "/" + DDL_FYear.Text + "#";
            string Tdate = "#" + DDL_TM.Text + "/" + DDL_TDAY.Text + "/" + DDL_TYEAR.Text + "#";
            sqlstr += "(销售合同.合同签定日期 between "+Fdate+"and "+Tdate+")";
            strs = true;
        }
        else if (DDL_FYear.Text != "无" && DDL_FM.Text != "无" && DDL_FDAY.Text != "无")
        {
            if (strs)
            {
                sqlstr += " and ";
            }
            string Fdate = "#"+DDL_FM.Text+"/"+DDL_FDAY.Text+"/"+DDL_FYear.Text+"#";
            sqlstr += "(销售合同.合同签定日期 > "+Fdate+")";
            strs = true;
        }
        else if (DDL_TYEAR.Text != "无" && DDL_TM.Text != "无" && DDL_TDAY.Text != "无")
        {
            if (strs)
            {
                sqlstr += " and ";
            }
            string Tdate = "#" + DDL_TM.Text + "/" + DDL_TDAY.Text + "/" + DDL_TYEAR.Text + "#";
            sqlstr += "(销售合同.合同签定日期 < " + Tdate + ")";
            strs = true;
        }

我来回复

您尚未登录,请登录后再回复。点此登录或注册