【问题标题】:Search Query Problems搜索查询问题
【发布时间】:2014-04-23 02:35:21
【问题描述】:

小伙伴们帮忙?

当我输入列表和 slist 时,查询有效。 但是,如果我只输入列表,它不会显示查找具有类别 = 列表的数据的查询,如果我只输入 slist,它不会显示查找具有子类别 = slist 的数据的查询。

例如,如果我在 list 上输入 Toys,在 slist 上输入 boy,则查询会执行并显示类别 = 玩具和子类别 = 男孩的产品 但是如果我只在列表中输入玩具并且我没有在 slist 上输入任何内容,它不会显示只显示玩具的产品的查询如果我只输入 slist 也会发生同样的事情

只有当我同时输入它们时它才有效.. 我需要制作一个可以搜索两者的搜索栏,仅列表和仅 slist。 对不起我的英语不好。

<?php
$category = $user_data['categoryquery'];

        $per_page = 15;

        // figure out the total pages in the database
        if (isset($_POST['submit']))
        {
            if($_POST['list'] != '' && $_POST['slist'] != '')
            $list = $_POST['list'];
            $slist = $_POST['slist'];
            $result = mysql_query("SELECT * FROM products WHERE category = '$list' AND subcategory = '$slist' ORDER BY date_added");

            }else{
            if($_POST['list'] == '' && $_POST['slist'] != '')
            {
                $slist = $_POST['slist'];
                $result = mysql_query("SELECT * FROM products WHERE subcategory = '$slist' ORDER BY date_added");
            }else{
            if($_POST['list'] != '' && $_POST['slist'] == '')
            {
                $list = $_POST['list'];
                $result = mysql_query("SELECT * FROM products WHERE category = '$list' ORDER BY date_added");
            }else{
        $result = mysql_query("SELECT * FROM products");
            }
            }
            }

【问题讨论】:

  • 我会缩进所有代码,并将 { } 添加到我的所有 if/else 语句中,以更好地遵循代码的逻辑。
  • 您确定您的所有 { 都与 } 配对了吗?不应该有一个{关注if($_POST['list'] != '' &amp;&amp; $_POST['slist'] != '')吗?
  • 我尝试在其中添加 { 和 },但脚本末尾附近的 $result 不起作用,并且出现了很多错误,我会尝试编辑缩进,抱歉

标签: php mysql


【解决方案1】:

你错过了{ if($_POST['list'] != '' &amp;&amp; $_POST['slist'] != '') ****HERE****

纠正这个并修复你的缩进,这会很有帮助

【讨论】:

  • 当我添加 { 和 } 时出现了几个错误,并且在我重新加载浏览器时发布的脚本末尾附近没有显示 $result
【解决方案2】:

现在无法运行 php 来测试这个,但是当您只输入一个 POST 变量时,另一个可能会以空值而不是空字符串的形式出现。

如果是这种情况,请参阅简单修复 here

【讨论】:

    猜你喜欢
    • 2021-02-06
    • 2013-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-23
    • 2012-12-24
    • 2018-04-19
    • 1970-01-01
    相关资源
    最近更新 更多