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
El resultado del print_r($xps); es este:
Justo como yo lo quiero, pero estoy pasando a POO y tengo este codigo
y el resultado es este:
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
$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


0