Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] PHP OO Insertar un PHP dentro de otro PHP

Estas en el tema de Insertar un PHP dentro de otro PHP en el foro de PHP en Foros del Web. Vereis estoy haciendo mi propio CMS y a la hora del menu de la web como estara en varios sitios y no quiero ir editandolo ...
  #1 (permalink)  
Antiguo 24/09/2013, 04:39
 
Fecha de Ingreso: junio-2013
Ubicación: La Eliana
Mensajes: 38
Antigüedad: 10 años, 9 meses
Puntos: 0
Insertar un PHP dentro de otro PHP

Vereis estoy haciendo mi propio CMS y a la hora del menu de la web como estara en varios sitios y no quiero ir editandolo uno por uno en el index.php e pensado en hacer un include al menu-top.php y luego un echo $menu-top
Pero en ese mismo menu estan las categorias de los post pero no consigo que se me muestren como deberia ser, el codigo que tengo para el menu es este:
Código PHP:
<?php
include ('db-cnx.php');
$SQL_pregunta_cat mysql_query("SELECT * FROM Not_categorias ORDER BY Cat_nombre"$db_link) or die(mysql_error());
$menu_top "
<ul class='mi-menu'>
          <li><a href='http://www.eucaly.tk/'> Inicio </a></li>
          <li><a href='http://www.eucaly.tk/blog/'> Blog </a></li>
          <li><a href='http://www.eucaly.tk/contacto/'> Contacto </a></li>
          <li><a href='#'> Categorias </a>
                <ul>
                    <li><a href='#'> Enlace 2 </a></li>
                    <li><a href='#'> Enlace 3 </a></li>
                </ul>          
          </li>
        </ul>
        "
        
;
        
?>
Donde pone Enlace 2, 3, etc deberia ir esto:
Código PHP:
while($Cat_celda mysql_fetch_array($SQL_pregunta_cat)){
echo 
"<li> <a href='?categoria=$Cat_celda[Cat_ID]'> $Cat_celda[Cat_nombre] </a> </li>"
pero no se memuestra como deberia ser, me da error, alguien sabe como se podria hacer? Gracias de antemano
  #2 (permalink)  
Antiguo 24/09/2013, 06:07
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años
Puntos: 336
Respuesta: Insertar un PHP dentro de otro PHP

olvídate del echo $menu_top, no es necesario, solo pon el include.

El archivo menu-top.php deberia quedar así:

Código PHP:
<?php 
include ('db-cnx.php'); 
$SQL_pregunta_cat mysql_query("SELECT * FROM Not_categorias ORDER BY Cat_nombre"$db_link) or die(mysql_error()); 

// Usa echo en el mismo include, no vale la pena meterlo en una variables si luego la vas a imprimir de todos modos
echo 
<ul class='mi-menu'> 
          <li><a href='http://www.eucaly.tk/'> Inicio </a></li> 
          <li><a href='http://www.eucaly.tk/blog/'> Blog </a></li> 
          <li><a href='http://www.eucaly.tk/contacto/'> Contacto </a></li> 
          <li><a href='#'> Categorias </a> 
                <ul>"
;

// Aqui debe ir el ciclo
while($Cat_celda mysql_fetch_array($SQL_pregunta_cat)){ 
echo 
"<li> <a href='?categoria=$Cat_celda[Cat_ID]'> $Cat_celda[Cat_nombre] </a> </li>";  

// Cerramos las listas
echo "                </ul>           
          </li> 
        </ul> 
        "

?>
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #3 (permalink)  
Antiguo 24/09/2013, 07:19
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años
Puntos: 96
Respuesta: Insertar un PHP dentro de otro PHP

Fijate que esta mal esto

Código PHP:
Ver original
  1. $Cat_celda[Cat_ID]

Deberia ser asi

Código PHP:
Ver original
  1. $Cat_celda['Cat_ID"]

A menos que uses un array numerico que seria asi

Código PHP:
Ver original
  1. $Cat_celda[0]
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #4 (permalink)  
Antiguo 24/09/2013, 07:27
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años
Puntos: 336
Respuesta: Insertar un PHP dentro de otro PHP

SkAr88, estás en un error, si intentas poner comillas en la linea se romperá el atributo HTML de href así:

<a href='?categoria=$Cat_celda['Cat_ID']'> $Cat_celda['Cat_nombre'] </a>

Si quieres poner las comillas podrías usar \' o \".

Sin embargo, en este caso particular no es necesario poner las comillas, por lo tanto, puede quedar así: $Cat_celda[Cat_ID]
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #5 (permalink)  
Antiguo 24/09/2013, 07:48
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años
Puntos: 96
Respuesta: Insertar un PHP dentro de otro PHP

Eso no lo sabia, bueno para mi es mas comodo concatenar la variablr al echo y asi evitar ptoblemas de comillas, adenas que el user no dice que error le da, gracias por la aclaracion.
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #6 (permalink)  
Antiguo 24/09/2013, 14:27
 
Fecha de Ingreso: junio-2013
Ubicación: La Eliana
Mensajes: 38
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Insertar un PHP dentro de otro PHP

Cita:
Iniciado por stramin Ver Mensaje
olvídate del echo $menu_top, no es necesario, solo pon el include.

El archivo menu-top.php deberia quedar así:

Código PHP:
<?php 
include ('db-cnx.php'); 
$SQL_pregunta_cat mysql_query("SELECT * FROM Not_categorias ORDER BY Cat_nombre"$db_link) or die(mysql_error()); 

// Usa echo en el mismo include, no vale la pena meterlo en una variables si luego la vas a imprimir de todos modos
echo 
<ul class='mi-menu'> 
          <li><a href='http://www.eucaly.tk/'> Inicio </a></li> 
          <li><a href='http://www.eucaly.tk/blog/'> Blog </a></li> 
          <li><a href='http://www.eucaly.tk/contacto/'> Contacto </a></li> 
          <li><a href='#'> Categorias </a> 
                <ul>"
;

// Aqui debe ir el ciclo
while($Cat_celda mysql_fetch_array($SQL_pregunta_cat)){ 
echo 
"<li> <a href='?categoria=$Cat_celda[Cat_ID]'> $Cat_celda[Cat_nombre] </a> </li>";  

// Cerramos las listas
echo "                </ul>           
          </li> 
        </ul> 
        "

?>
Excelente, pero te falto cerrar el while, mil gracias, ahora mismo te voto

Etiquetas: mysql, select, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:57.