douzao9845 2013-04-06 01:52 采纳率: 0%
浏览 93

如果用户从表中填写所有3个显示选择值,并且填充2个指定字段显示所有值,则表单中有3个字段

if($_POST['sinitial']=="no")
{
$result = mysqli_query($con,"SELECT * FROM babyname WHERE (iname= '".$_POST['dinitial']."' AND gender= '".$_POST['gender']."' AND ncat= '".$_POST['ncat']."') OR (iname= '".$_POST['dinitial']."' AND gender= '".$_POST['gender']."')");
?>

I am trying to output names from the table babynames if the user inputs are desired intial >(dinitial) and gender and name category (ncat). But if the user doesnt want only the names >coming into a specific category else he wants to view all the names starting from the >dinitial than how should my query go ?

  • 写回答

3条回答 默认 最新

  • dongque3797 2013-04-06 01:55
    关注
    else
    {
    
    $result = mysqli_query($con,"SELECT * FROM babyname WHERE (iname like '".$_POST['dinitial']."%' AND gender= '".$_POST['gender']."' AND ncat= '".$_POST['ncat']."') OR (iname like  '".$_POST['dinitial']."%' AND gender= '".$_POST['gender']."')");
    
    }
    
    评论
  • dongxia5394 2013-04-06 02:06
    关注

    Lets try this way of code..

    if($_POST['sinitial']=="no")
    {
      $condition = "iname= '".$_POST['dinitial']."' AND gender= '".$_POST['gender']."'";
    
      if(!empty($_POST['ncat'])) 
         $condition .= "AND ncat= '".$_POST['ncat']."'";
    
    $result = mysqli_query($con,"SELECT * FROM babyname WHERE $condition");
    
    }
    
    评论
  • drwxg62286 2013-04-06 02:32
    关注
    if($_POST['sinitial']=="no")
    {
     $condition = "iname= '".$_POST['dinitial']."' AND gender= '".$_POST['gender']."'";
    if(isset($_POST['ncat']) && !empty($_POST['ncat'])) 
     $condition .= "AND ncat= '".$_POST['ncat']."'";
    $result = mysqli_query($con,"SELECT * FROM babyname WHERE $condition");
    
    }
    
    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部