PHP - Como hacer un include dentro de funcion php

 
Vista:
sin imagen de perfil
Val: 79
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Como hacer un include dentro de funcion php

Publicado por Jonathan (40 intervenciones) el 01/11/2020 04:56:18
Estimados tengo la siguiente problematica. Tengo una base de datos donce almaceno los servicios a ofrecer, en ella tengo el titulo, la ruta de la imagen a mostrar y asi con cada columna. Como cada servicio es distinto al otro la forma en que quiero mostrar cada uno va a ser diferente por lo que el encabezado para cada servicio sera igual, obviamente sera diferente la imagen y el titulo a mostrar, pero quiero que el cuerpo por asi decirlo sea diferente, para eso quiero hacer un include al archivo el cual almaceno su nombre en la base de datos para asi cambiar dependiendo del servicio seleccionado. Pero hasta ahora no logro hacer el include, muestro mi codigo.

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
<?php include '../logica/conexion.php';
class MostrarServicio {
    public function servicio(){
		$con = new Conexion();
		$HTML = '';
		if(!(empty($_POST['clave']))){
			$clave = $_POST['clave'];
			$datos = $con->obtenerdatos("SELECT * FROM servicios WHERE clave = '$clave'");
			if(count($datos) > 0){
				for($x=0;$x<count($datos);$x++){
					$fila = $datos[$x];
					$HTML .= '	<div class="container-fluid mb-4 background-top background" style="background-image: linear-gradient(rgba(0,0,0,.7),rgba(19,41,61,.7)),url(../'.$fila['ruta'].$fila['src'].')">
									<div class="titulo_pagina text-center text-white">
										<h1 class="display-3">'.$fila['titulo'].'</h1>
										<ul class="nav justify-content-center">
											<li class="nav-item"><a href="../../" class="nav-link text-white p-0">HOME</a></li>
											<li class="nav-item"><a href="../" class="nav-link text-white p-0"><i class="icon-chevron-right"></i>SERVICIOS</a></li>
											<li class="nav-link text-muted p-0"><i class="icon-chevron-right"></i>'.$fila['titulo'].'</li>
										</ul>
									</div>
								</div>';
					$HTML .= echo include ('../include/solucion_dpf_egr.php');
				}
			}
		}
 
		return $HTML;
	}
}
$servicios = new MostrarServicio();
if(isset($_POST["action"])){
	$html1 = $servicios->servicio();
	$data = array(
		"html1"	=> $html1
	);
	echo json_encode($data);
}
?>

Esta parte es modo prueba, luego pretendo que el nombre se extraiga de la base de datos, en el archivo solucion_dpf_egr.php' solo hay un parrafo escrito con Hola Mundo, pero no logro mostrar ese contenido, si saco esa linea de la funcion funciona correctamente.

1
$HTML .= echo include ('../include/solucion_dpf_egr.php');
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
1
Responder
Imágen de perfil de Alejandro
Val: 1.634
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Como hacer un include dentro de funcion php

Publicado por Alejandro (840 intervenciones) el 13/11/2020 00:21:20
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
Es un error
1
$HTML .= echo

esto también es error
1
echo include()

Quizá buscas una combinación como file_get_contents() y eval()

Esto obtiene el contenido del archivo y lo pone en $HTML el problema es que no se interpreta, es decir si tienes variables será el texto de la variable y no su contenido.
1
$HTML .= file_get_contents('../include/solucion_dpf_egr.php');

Desconozco si sea correcto así
1
$HTML .= eval(file_get_contents('../include/solucion_dpf_egr.php'));
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