No necesitas obligatoriamente usar una variable de sesión, es lo que se usa comúnmente para no estar leyendo de la base de datos cada vez que se refresca la url, pero no es que no se pueda.
Por otra parte, más que tener un
Código PHP:
Ver originalIF ($ORDEN_COMPRA ==1 ){
<a href="CREAR_PROVEEDOR">CREAR</a>
}
else{
<a href="CREAR_PROVEEDOR" class="hidden">CREAR</a>
}
sería mejor un
Código PHP:
Ver originalIF ($ORDEN_COMPRA ==1 ){
<a href="CREAR_PROVEEDOR">CREAR</a>
}
Es decir, si no tiene el permiso, ni siquiera se crea la opción, no tiene sentido ocultar algo y cargar html que no se va a ver al cliente, después de todo, si alguien inspecciona el html podría habilitar la oción, aunque la valides luego en el servidor, no le veo caso tenerla.
Ahora bien, sobre la pregunta original, podrías crear un arreglo asociativo, para más comodidad:
Código PHP:
Ver original$id = $_SESSION['iduser'];
$privilegios = $mysqli->query("SELECT accion,privilegio FROM privilegio WHERE usuario='$id' ") or
trigger_error($mysqli->error); while($row = $privilegios->fetch_array(MYSQLI_ASSOC)){
$pasox[$row['accion']] =$row['privilegio'];
// foreach($pasox as $acci=>$privi)
// {
// echo "Accion " . $acci . " Con Privilegio " . $privi;
// echo "<br>";
// }
// var_dump($pasox);
}
Así, en el menú podrías hacer algo como:
Código PHP:
Ver originalIF ($pasox['ORDEN_COMPRA'] ==1 ){
<a href="CREAR_PROVEEDOR">CREAR</a>
}