Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何根据另一个多维数组数据结果搜索多维数组数据_Php - Fatal编程技术网

Php 如何根据另一个多维数组数据结果搜索多维数组数据

Php 如何根据另一个多维数组数据结果搜索多维数组数据,php,Php,我有两个多维数组,从数据库中的两个不同表中获取数据。其中一个有3个团队,另一个有团队下达的订单 $sql = "select id, supervizori, grupi, tipo_crt, operatori, data, status, nome, cognome, cel, codice_fiscale from kontrata"; $result = mysqli_query($dbCon, $sql); if(!$sql) { die("Error1

我有两个多维数组,从数据库中的两个不同表中获取数据。其中一个有3个团队,另一个有团队下达的订单

$sql = "select id, supervizori, grupi, tipo_crt, operatori, data, status, nome, cognome, cel, codice_fiscale from kontrata";
    $result = mysqli_query($dbCon, $sql);
    if(!$sql) {
        die("Error1");
    } //this query takes the orders from the kontrata table.

$sql_2 = "select * from grupi";
$result_2 = mysqli_query($dbCon, $sql_2);
    if(!$sql_2) {
        die("Error2");
    } // this query take the teams from the grupi table.

while ($row = mysqli_fetch_assoc($result)) {            
        $kontratat[$row['id']]['supervizori'] = $row['supervizori'];
        $kontratat[$row['id']]['grupi'] = $row['grupi'];
        $kontratat[$row['id']]['tipo_crt'] = $row['tipo_crt'];
        $kontratat[$row['id']]['operatori'] = $row['operatori'];
        $kontratat[$row['id']]['data'] = $row['data'];
        $kontratat[$row['id']]['status'] = $row['status'];
        $kontratat[$row['id']]['nome'] = $row['nome'];
        $kontratat[$row['id']]['cognome'] = $row['cognome'];
        $kontratat[$row['id']]['cel'] = $row['cel'];
        $kontratat[$row['id']]['codice_fiscale'] = row['codice_fiscale'];
} // In this loop i take the data according to the order table.

while ($row = mysqli_fetch_assoc($result_2)) {      
    $kontratat_2[$kontratat['id']]['grup_name'] = $row['grup_name'];
} // In this loop i take the teams.
在循环之后,我使用foreach将数据显示到一个表中,但是当我调用foreach来生成结果时,我得到了所有的订单(这是正常的),但我有100个订单 这三支球队都有。我想使用secont循环过滤每个团队的订单。简单地说,我希望使用第一次查询中的“ID”查看每个团队的所有订单,而不是将同一团队显示50次。谢谢:)


这应该可以完成以下工作:

$completeData = array();

foreach($orders as $order)
{
    if(!array_key_exists($order['grupi'], $completeData))
    {
        $completeData[$order['grupi']] = array();
    }
    $completeData[$order['grupi']][] = $order;
}   
根据你的需要调整它

$completeData = array();

foreach($orders as $order)
{
    if(!array_key_exists($order['grupi'], $completeData))
    {
        $completeData[$order['grupi']] = array();
    }
    $completeData[$order['grupi']][] = $order;
}