Esempio n. 1
0
/**
 * in_array_multi function.
 *
 * @param mixed $needle array value
 * @param array $haystack
 * @return array - found results
 */
function in_array_multi($needle, $haystack)
{
    foreach ((array) $haystack as $key => $stack) {
        if (is_array($stack) && in_array_multi($needle, $stack)) {
            return true;
        }
        if ($stack === $needle) {
            return true;
        }
    }
    return false;
}
Esempio n. 2
0
function in_array_multi($needle, $haystack)
{
    if (!is_array($haystack)) {
        return $needle == $haystack;
    }
    foreach ($haystack as $value) {
        if (in_array_multi($needle, $value)) {
            return true;
        }
    }
    return false;
}
<?php

include '../resources/connect.php';
$allItems = [];
$selectedItems = [];
$item_id = $_GET["itemID"];
$sql_similar_orders = "SELECT order_id FROM order_items WHERE item_id = " . $item_id;
$similarOrders = $conn->query($sql_similar_orders);
while ($orderRow = $similarOrders->fetch_assoc()) {
    $sql_get_suggestions = "SELECT item_id FROM order_items WHERE order_id = " . $orderRow["order_id"];
    $items = $conn->query($sql_get_suggestions);
    while ($itemRow = $items->fetch_assoc()) {
        if (in_array_multi($allItems, $itemRow["item_id"])) {
            $index = array_search_multi($allItems, $itemRow["item_id"]);
            $allItems[$index][1] = $allItems[$index][1] + 1;
        } else {
            if ($itemRow["item_id"] != $item_id) {
                $tuple = [$itemRow["item_id"], 1];
                array_push($allItems, $tuple);
            }
        }
    }
}
usort($allItems, function ($a, $b) {
    return $a[1] - $b[1];
});
$sql_item_info = "SELECT category, name, item_id FROM products WHERE item_id =  ";
for ($i = 0; $i < sizeof($allItems) && $i < 3; $i++) {
    if ($i != 0) {
        $sql_item_info .= "OR item_id = ";
    }