簡體   English   中英

如何檢查是否用foreach循環設置了所有$ _POST變量

[英]How to check if all $_POST variables are set with foreach loop

我想檢查是否設置了給定的$ _post變量,然后執行查詢(這是另一個主題)。但是我有5個小時的麻煩,我無法真正通過它。

<?php
function post_category_isset()
{
    global $connect;

    $input = sanitize('category');
    $query = mysqli_query($connect, "SELECT term_id FROM term_taxonomy WHERE taxonomy = '$input'");

    while ($row = mysqli_fetch_assoc($query)) {

        $category_id [] = $row['term_id'];
        $result = '\'' . implode('\',\'', $category_id) . '\'';

        foreach ($row as $result) {

            $query1 = mysqli_query($connect, "SELECT name FROM terms WHERE term_id = $result");
            $fetch = mysqli_fetch_assoc($query1);
            $value = $fetch['name'];
            if (isset($_POST[$value])) {
                echo "if(isset($_POST[$value]) OR";

                return true;
            }
        }
    }
}


?>

我已經嘗試了一切,是的,代碼看起來確實很愚蠢,但是我已經耗盡了...

所以我做了功能檢查類別變量設置,這是另一種功能,因為我想要的一切是自動。我會貼上我的其他FUNC在引擎收錄,因為它是線程的出在這里

所以總之我想做一個函數來檢查以前函數中的所有$ _POST變量是否都已設置,如果是,則觸發查詢。

謝謝!

您不必在這里使用兩個單獨的查詢,您只需一個查詢即可完成所有操作。

SELECT name 
FROM terms 
WHERE term_id IN (
    SELECT term_id 
    FROM term_taxonomy 
    WHERE taxonomy = '$input'
)

因此,您的post_category_isset()函數將如下所示:

function post_category_isset(){
    global $connect;

    $input = sanitize('category');
    $query = mysqli_query($connect, "SELECT name FROM terms WHERE term_id IN (SELECT term_id FROM term_taxonomy WHERE taxonomy = '$input')");
    while ($row = mysqli_fetch_assoc($query)) {
        $value = $row['name'];
        if (isset($_POST[$value])) {
            // your code
        }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM