PHP - SELECT dentro de una funcion

 
Vista:

SELECT dentro de una funcion

Publicado por Gustavo Leon (2 intervenciones) el 28/11/2018 00:01:14
Hola a todos, estoy algo confundido con lo siguiente:

Necesito generar un menú desde una DB ya creada, utilizo el siguiente código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$query = 'SELECT cuenta FROM cuentas';
$result = mysqli_query($conexion, $query);
 
while($row = mysqli_fetch_array($result))
{
   echo "<li>";
   echo "<a href='opiniones.php'>";
   echo $row["cuenta"];
   echo "<i class='fa fa-angle-right'></i></a>";
   echo "</li>";
}
mysqli_free_result($result);
mysqli_close($conexion);
?>

Si lo inserto en el archivo donde aparece el menú funciona correctamente, lo que quiero hacer es una función con ese código para poder llamarlo desde cualquier lugar sin tanto código:

1
<?php menuCuentas(); ?>

Intente hacerlo de esta manera:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
function menuCuentas() {
  $query = 'SELECT cuenta FROM cuentas';
  $result = mysqli_query($conexion, $query);
 
        while($row = mysqli_fetch_array($result))
        {
           echo "<li>";
           echo "<a href='opiniones.php'>";
           echo $row["cuenta"];
           echo "<i class='fa fa-angle-right'></i></a>";
           echo "</li>";
        }
        mysqli_free_result($result);
        mysqli_close($conexion);
 }
?>

Pero al llamarlo no se muestra el menú. Alguien podría darme una mano?

Mil gracias.
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
Imágen de perfil de xve
Val: 3.081
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

SELECT dentro de una funcion

Publicado por xve (6932 intervenciones) el 28/11/2018 08:03:49
Hola Gustavo, el problema que tienes, es que dentro de la función, no existe la $conexion... es decir, las variables definidas fuera de la función, no existen dentro de la función.

tienes dos soluciones... una pasar la variable $conexion como parametro a la función... algo así:
1
function menuCuentas($conexion) {
y cuando llames a la función, tienes que pasarla la variable:
1
menuCuentas($conexion);

o obtener el valor de la variable con global
1
2
3
function menuCuentas() {
    global $conexion;
    ...


Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

SELECT dentro de una funcion

Publicado por Gustavo Leon (2 intervenciones) el 30/11/2018 13:06:39
Hola, funcione perfecto declarando la variable como global! Mil gracias.,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar