PHP - Problema al llamar funcion dentro de un while

 
Vista:
Imágen de perfil de Felix
Val: 47
Ha disminuido su posición en 26 puestos en PHP (en relación al último mes)
Gráfica de PHP

Problema al llamar funcion dentro de un while

Publicado por Felix (32 intervenciones) el 15/12/2020 04:22:05
Saludo!

Tengo un problema al llamar una función dentro de un while. Lo que pasa es que necesito imprimir un texto que recupero de una función.

La función:
1
2
3
4
5
6
7
8
9
10
11
12
13
function profesion($profe) {
	switch (!empty($profe)) {
		case ($profe==1):
			echo 'Desarrollo Web';
			break;
		case ($profe==2):
			echo 'Programador';
			break;
		case ($profe==3):
			echo 'Diseñador Gráfico';
			break;
	}
}

el while:

1
2
3
4
5
6
$sql = mysqli_query($link,"SELECT * FROM tabla WHERE id = 1 ORDER BY id ASC");
while($reg=mysqli_fetch_array($sql)) {
     echo '<div class="miclase">Nombre: '.$reg['nombre'].'<br>
               Apellido: '.$reg['apellido'].'<br>
               Profesion: '.profesion($reg2['profesion']).'</div>';
}

Entonces al imprimir el resultado lo hace fuera de los límites del <div> y no donde necesito que se imprima.
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 Felix
Val: 47
Ha disminuido su posición en 26 puestos en PHP (en relación al último mes)
Gráfica de PHP

Problema al llamar funcion dentro de un while

Publicado por Felix (32 intervenciones) el 15/12/2020 12:45:49
Bueno les comento que he solucionado el problema. Era evidente que el problema lo estaba generando el doble "echo", primero en la función y luego en el while.

Lo que hice fue sacar la función del echo e imprimir la función, luego abrí otro echo para imprimir el resto del código.

1
2
3
4
5
6
7
8
9
10
11
$sql = mysqli_query($link,"SELECT * FROM tabla WHERE id = 1 ORDER BY id ASC");
 
while($reg=mysqli_fetch_array($sql)) {
     echo '<div class="miclase">Nombre: '.$reg['nombre'].'<br>
               Apellido: '.$reg['apellido'].'<br>
               Profesion: ';
 
     profesion($reg2['profesion']);
 
     echo '</div>';
}

Así me quedó perfecto.
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