PHP - Recibir datos en un solo array con POO !!!

 
Vista:
Imágen de perfil de Kathyu
Val: 1.802
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Recibir datos en un solo array con POO !!!

Publicado por Kathyu (905 intervenciones) el 11/12/2018 18:20:27
Buen día, tengo la siguiente consulta en programación estructurada
1
2
3
4
5
6
7
$privs = $mysqli->query("SELECT accion FROM privilegio WHERE usuario='$id' AND privilegio = 1 ") or trigger_error($mysqli->error);
while($row = $privs->fetch_array(MYSQLI_ASSOC)){
    $xps[] = $row['accion'];
}
echo '<pre>';
    print_r($xps);
echo '</pre>';

El resultado del print_r($xps); es este:
1
2
3
4
5
6
7
8
9
10
Array
(
    [0] => 2
    [1] => 3
    [2] => 4
    [3] => 5
    [4] => 6
    [5] => 7
    [6] => 8
)

Justo como yo lo quiero, pero estoy pasando a POO y tengo este codigo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// Obtener todos los privilegios Usuarios para el menu
public function getPrivUserMenu($id){
$sql = "SELECT accion FROM privilegio WHERE usuario = $id AND privilegio = 1 ";
$result = $this->dbm->queryFunction($sql);
$users = $this->dbm->whileFunction($result);
    if ($this->dbm->numRowsFunction($result) > 0) {
        return $users;
    }
}
 
// Llamo la función desde el menú
$xps = $querys->getPrivUserMenu($id);
echo '<pre>';
    print_r($xps);
echo '</pre>';

y el resultado es este:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Array
(
    [0] => Array
        (
            [accion] => 2
        )
 
    [1] => Array
        (
            [accion] => 3
        )
 
    [2] => Array
        (
            [accion] => 4
        )
 
    [3] => Array
        (
            [accion] => 5
        )
 
    [4] => Array
        (
            [accion] => 6
        )
 
    [5] => Array
        (
            [accion] => 7
        )
 
    [6] => Array
        (
            [accion] => 8
        )
 
)

Como puedo hacer para que con POO solo me cree un array no un bidimencional como el resultado anterior?

El código de las funciones de la DB son los siguientes:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// Metodo para los arrays de las querys
public function fetchAssocFunction($statement){
    if ($statement) {
        return $statement->fetch_assoc();
    }
}
 
// Metodo para ver el numero de rows devueltas
public function numRowsFunction($statement){
    return $statement->num_rows;
}
 
// Metodo para los While de las querys
public function whileFunction($loop){
    $results = array();
    while ($result = $this->fetchAssocFunction($loop)){
        $results[] = $result;
    }
    return $results;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder