Cod: Selectaţi tot
array ( 0 => array ( 0 => array ( 'actor' => 'superuser', 'numetabela' => 'useri', 'act' => 'ADD', 'actiune' => 'adaugare', 'idusrtip' => 1, 'idactiune' => 1, 'idtabela' => 1, 'tipusr_id' => 1, 'actiune_id' => 1, 'tabel_id' => 1, 'princ' => 1, ), 1 => array ( 'actor' => 'superuser', 'numetabela' => 'echipe', 'act' => 'MOD', 'actiune' => 'modificare', 'idusrtip' => 1, 'idactiune' => 2, 'idtabela' => 7, 'tipusr_id' => 1, 'actiune_id' => 2, 'tabel_id' => 7, 'princ' => 1, ), ), )
Daca 'numetabela' => 'useri' si 'act' => 'ADD' sa-mi seteze o variabila, exemplu $existaadd=1;
Daca 'numetabela' => 'echipe' si 'act' => 'MOD' sa-mi seteze alta variabila, exemplu $existamod=1;
Aici am simplificat si am pus numai 2 cazuri, dar pot exista mai multe tabele cu act' => 'MOD' sau act' => 'ADD' sau ambele (fiecare pereche fiind o inregistrare separata, deci inregistrarile sint de fapt perechi numetabela- act) , pe mine ma intereseaza corespondenta numetabela => act.
Cum pot realiza asta? Am incercat cu mai multe variante de foreach dar n-am ajuns la rezultatul dorit.
La fiecare apel eu am o variabila cu numele tabelei $tabela, ex: $tabela='useri'. Am incercat:
Cod: Selectaţi tot
<?php
$tabela='useri';
$existatabela=0;
foreach ($_SESSION["accesuseri"] as $q){
foreach ($q as $k=>$v){
$existaadd=0;
$existamod=0;
$existadel=0;
if ($v==$tabela) $existatabela=1;
if ($existatabela==1 && $v=='ADD') $existaadd=1;
if ($existatabela==1 && $v=='MOD') $existamod=1;
}
}
?>