[PHP]如何使用foreach在SQL查询中添加AND或OR语句?

hy

嗨,大家好,我试图在PHP中执行多个条件搜索,所以我想使用foreach根据用户选择的数量自动添加AND语句。下面是我的代码:

$sub = trim(ucfirst($_POST['sub']));
$any = trim(ucfirst($_POST['key']));
$count = 0;
$query = "SELECT P.PTY_ID, P.PTY_UNITNUM, P.PTY_STREET, P.PTY_POSTCODE, P.PTY_SUBURB,P.PTY_CITY, T.P_TYPE_NAME, 
                  L.SALE_PRICE, L.AVAILABILITY, R.PTY_ID,F.FEAT_ID, R.FEAT_ID,F.FEAT_NAME   
          FROM PROPERTY_TYPE T, PROPERTY P, LISTINGS L, PROPERTY_FEATURE R, FEATURE F 
          WHERE P.P_TYPE_ID = T.P_TYPE_ID(+) 
          AND P.PTY_ID = L.PTY_ID(+)
          AND R.FEAT_ID= F.FEAT_ID
          AND R.PTY_ID= P.PTY_ID
          AND REGEXP_LIKE (P.PTY_SUBURB,'$sub')
          AND REGEXP_LIKE (P.PTY_STREET||P.PTY_POSTCODE,'$any')
          OR(
                ".foreach ($_POST["check"] as $feat_id) {
                    if ($count != 0)
                        echo "AND";
                    echo "FEAT_ID = ' . $feat_id . '";
                    $count++;
                }.")";

$stmt = oci_parse($conn, $query);
oci_execute($stmt);

因此,在我的情况下,我想按郊区,某些邮政编码(例如邮政编码和街道名称)以及要素搜索属性。为了响应用户在多个功能上的选择,我尝试使用foreach循环来打印“ AND FEAT_ID =(发布的ID)”,但是在“ OR”部分之后直到查询结束时出现语法错误,表示需要一些表达。目前,我在PHP学习中还很陌生。有人可以为我指出正确的格式吗?干杯(:

李·史蒂文斯

我不确定100%您的问题是什么,但我会稍微清理一下。同样,这是我的编码风格,因此其他人可能仍然认为可以改进。

$sub = trim(ucfirst($_POST['sub']));
$any = trim(ucfirst($_POST['key']));
$count = 0;
$or = "";

if (isset($_POST["check"]))
{
    $featArray = [];
    foreach ($_POST["check"] as $feat_id)
    {
        array_push($featArray, "FEAT_ID = " .$feat_id);
    }

    $or = implode(' AND ', $featArray);
}

$query = "SELECT P.PTY_ID, P.PTY_UNITNUM, P.PTY_STREET, P.PTY_POSTCODE, P.PTY_SUBURB,P.PTY_CITY, T.P_TYPE_NAME, 
                  L.SALE_PRICE, L.AVAILABILITY, R.PTY_ID,F.FEAT_ID, R.FEAT_ID,F.FEAT_NAME   
          FROM PROPERTY_TYPE T, PROPERTY P, LISTINGS L, PROPERTY_FEATURE R, FEATURE F 
          WHERE P.P_TYPE_ID = T.P_TYPE_ID(+) 
          AND P.PTY_ID = L.PTY_ID(+)
          AND R.FEAT_ID= F.FEAT_ID
          AND R.PTY_ID= P.PTY_ID
          AND REGEXP_LIKE (P.PTY_SUBURB, '$sub')
          AND REGEXP_LIKE (P.PTY_STREET||P.PTY_POSTCODE, '$any')";

if ($or != null)
    $query .= " OR (" . $or . ")";

$stmt = oci_parse($conn, $query);
oci_execute($stmt);

我还要检查您的$ _POST ['sub']和$ _POST ['key']或设置。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在foreach语句(PHP)中添加值

来自分类Dev

如何在SQL查询中添加不同的条件语句

来自分类Dev

使用多个SQL语句在PHP中获得单个结果查询

来自分类Dev

在SQL查询中添加case语句

来自分类Dev

在基于IF语句的SQL查询中添加WHERE语句

来自分类Dev

如何使用Foreach在PHP中显示MYSQL全文查询的输出

来自分类Dev

如何在SQL查询中使用if语句?

来自分类常见问题

如何使用选择查询在SQL Server中并排添加列

来自分类Dev

如何使用选择查询在SQL Server中并排添加列

来自分类Dev

值未添加到PHP foreach语句的数组中

来自分类Dev

SQL查询中的THEN语句

来自分类Dev

在select语句SQL查询中动态添加列值

来自分类Dev

在使用准备好的语句进行查询的过程中,如何使用PHP填充数组

来自分类Dev

我如何使用foreach将if语句重复放入php数组中?

来自分类Dev

如何在sql和php中的“ SELECT DISTINCT CASE WHEN”语句中使用“ ORDER BY”语句?

来自分类Dev

如何使用sqlsrv在php中打印出当前的sql查询?

来自分类Dev

如何使用sqlsrv在php中打印当前的sql查询?

来自分类Dev

如何使用PHP将SQL查询结果存储在变量中?

来自分类Dev

使用foreach语句的数组结果显示在php中的json中

来自分类Dev

如何使SQL语句(查询)在SQL Server 2012中预编译

来自分类Dev

如何向SQL查询中添加变量?

来自分类Dev

如何在 SQL 选择查询中添加“或”?

来自分类Dev

如何仅使用NodeJS中的一条语句运行两个SQL查询

来自分类Dev

(SQL)在查询中,如何使用仅有条件地需要JOIN的CASE语句?

来自分类Dev

的PHP SQL查询语句的总数

来自分类Dev

PHP-foreach中的If语句

来自分类Dev

查询使用SQL变量时Mysqli PHP准备的语句

来自分类Dev

在PHP中使用switch语句与SQL查询结果

来自分类Dev

如何将该SQL语句传输到LINQ查询中?

Related 相关文章

  1. 1

    如何在foreach语句(PHP)中添加值

  2. 2

    如何在SQL查询中添加不同的条件语句

  3. 3

    使用多个SQL语句在PHP中获得单个结果查询

  4. 4

    在SQL查询中添加case语句

  5. 5

    在基于IF语句的SQL查询中添加WHERE语句

  6. 6

    如何使用Foreach在PHP中显示MYSQL全文查询的输出

  7. 7

    如何在SQL查询中使用if语句?

  8. 8

    如何使用选择查询在SQL Server中并排添加列

  9. 9

    如何使用选择查询在SQL Server中并排添加列

  10. 10

    值未添加到PHP foreach语句的数组中

  11. 11

    SQL查询中的THEN语句

  12. 12

    在select语句SQL查询中动态添加列值

  13. 13

    在使用准备好的语句进行查询的过程中,如何使用PHP填充数组

  14. 14

    我如何使用foreach将if语句重复放入php数组中?

  15. 15

    如何在sql和php中的“ SELECT DISTINCT CASE WHEN”语句中使用“ ORDER BY”语句?

  16. 16

    如何使用sqlsrv在php中打印出当前的sql查询?

  17. 17

    如何使用sqlsrv在php中打印当前的sql查询?

  18. 18

    如何使用PHP将SQL查询结果存储在变量中?

  19. 19

    使用foreach语句的数组结果显示在php中的json中

  20. 20

    如何使SQL语句(查询)在SQL Server 2012中预编译

  21. 21

    如何向SQL查询中添加变量?

  22. 22

    如何在 SQL 选择查询中添加“或”?

  23. 23

    如何仅使用NodeJS中的一条语句运行两个SQL查询

  24. 24

    (SQL)在查询中,如何使用仅有条件地需要JOIN的CASE语句?

  25. 25

    的PHP SQL查询语句的总数

  26. 26

    PHP-foreach中的If语句

  27. 27

    查询使用SQL变量时Mysqli PHP准备的语句

  28. 28

    在PHP中使用switch语句与SQL查询结果

  29. 29

    如何将该SQL语句传输到LINQ查询中?

热门标签

归档