Foros del Web » Programando para Internet » PHP »

PROBLEMA con include y switch

Estas en el tema de PROBLEMA con include y switch en el foro de PHP en Foros del Web. Buenos dias a todos, estoy aciendo un proyecto del modulo de informatica y llevo 2 dias buscando sin exito, mi problema es el siguiente: Tengo ...
  #1 (permalink)  
Antiguo 04/06/2008, 07:36
Avatar de floppy-dj  
Fecha de Ingreso: diciembre-2006
Ubicación: Huelva
Mensajes: 25
Antigüedad: 17 años, 4 meses
Puntos: 0
PROBLEMA con include y switch

Buenos dias a todos, estoy aciendo un proyecto del modulo de informatica y llevo 2 dias buscando sin exito, mi problema es el siguiente:

Tengo in index.php con una tabla y en cada celda un include, la es tabla mas o menos asi:


INDEX.PHP
Cita:
<table>
<tr>
<td> <?php include("cabecera.php"); ?></td>
</tr>
<tr>
<td> <?php include("contenido.php"); ?> </td>
</tr>
</table>


CABECERA.PHP (aqui tengo un menu un poco complejo en javascrip, por eso voy a poner simples enlaces)
Cita:
<a href="inicio.php?cont=1">Inicio</a>
<a href="monitores.php?cont=2">Monitores</a>
<a href="discos.php?cont=3">Discos</a>

Y en CONTENIDO.PHP tengo esto:
Cita:
<?php

switch ($cont){

case 1:
include("inicio.php");
break;

case 2:
include("monitores.php");
break;

case 3:
include("discos.php");
break;

default: include ("inicio.php");
}
?>
Entonces mi problema es que en la segunda fila de la tabla (en index.php) tengo un include a contenido.php y pienso que quizar como esta celda ya tiene un include, no puede ovedecer a otros include que tiene contenidos.php, pero es que no lo se por que no nos lo enseñanon, nose estoy cada vez mas liado.

Aver si alguien entiende mi problema y save respondermelo. na el caso es que no me funciona cuando pincho en un enlace.

Gracias
  #2 (permalink)  
Antiguo 04/06/2008, 08:41
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 8 meses
Puntos: 638
Respuesta: PROBLEMA con include y switch

hola, debe ser por que tienes ambos archivos en directorios diferentes, lo que debes hacer es darle en contenido.php, la ruta que deben asumir desde index.php.
por ej. tienes contenido.php dentro de un directorio llamado includes, entonces hacer asi:
Código PHP:
<?php

switch ($cont){

case 
1:
include(
"includes/inicio.php");
break;

case 
2:
include(
"includes/monitores.php");
break;

case 
3:
include(
"includes/discos.php");
break;

default: include (
"includes/inicio.php");
}
?>
prueba a ver, me parece que es eso

saludos y suerte
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
  #3 (permalink)  
Antiguo 04/06/2008, 09:14
Avatar de floppy-dj  
Fecha de Ingreso: diciembre-2006
Ubicación: Huelva
Mensajes: 25
Antigüedad: 17 años, 4 meses
Puntos: 0
Respuesta: PROBLEMA con include y switch

vale, consegui que me funcionara pero lo que quiere es que cuando le de a monitores por ejemplo, me llame a la paguina monitore.php pero que la visualize solo en la segunta fila, donde esta contenido, para que asi pueda seguir vilsualizando el menu que esta en cabezera, ¿entiendes?

gracias por la aportación.
  #4 (permalink)  
Antiguo 04/06/2008, 16:11
Avatar de floppy-dj  
Fecha de Ingreso: diciembre-2006
Ubicación: Huelva
Mensajes: 25
Antigüedad: 17 años, 4 meses
Puntos: 0
Respuesta: PROBLEMA con include y switch

Ya estoy qmargaisimo, ¿alguien ve algo extraño aqui?

Cita:
<?php
switch ($cont){

case 1:
include("./includes/inicio.php");
break;

case 2:
include("./includes/monitores.php");
break;

case 3:
include("./includes/teclados.php");
break;

case 4:
include("./includes/ratones.php");
break;

case 5:
include("./includes/cajas.php");
break;

case 6:
include("./includes/discos.php");
break;

case 7:
include("./includes/memorias.php");
break;

case 8:
include("./includes/graficas.php");
break;

case 9:
include("./includes/procesadores.php");
break;

case 10:
include("./includes/placas.php");
break;

default: include ("inicio.php");
}
?>
  #5 (permalink)  
Antiguo 04/06/2008, 16:16
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: PROBLEMA con include y switch

no se a que te refieras.. pero si no te sale como debe...

- puede ser que $cont no sea un entero, sino una cadena... prueba convirtiendolo... $cont = (int)$cont;
- tambien, puede ser el ultimo break... puede faltar en el default, puede ser...

suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 04/06/2008, 16:34
Avatar de floppy-dj  
Fecha de Ingreso: diciembre-2006
Ubicación: Huelva
Mensajes: 25
Antigüedad: 17 años, 4 meses
Puntos: 0
Respuesta: PROBLEMA con include y switch

nada, muxas gracias pero no va, mañana voy al instituto aver si me lo arreglan, ya os contare.
  #7 (permalink)  
Antiguo 05/06/2008, 06:39
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 8 meses
Puntos: 638
mira este link a ver si te puede ayudar:
http://www.forosdelweb.com/265278-post25.html
  #8 (permalink)  
Antiguo 05/06/2008, 07:27
Avatar de floppy-dj  
Fecha de Ingreso: diciembre-2006
Ubicación: Huelva
Mensajes: 25
Antigüedad: 17 años, 4 meses
Puntos: 0
Respuesta: PROBLEMA con include y switch

Al final lo que he hecho a sido esto:


CABECERA.PHP
Código PHP:
<a href="index.php?car=MONITORES">Monitores</a>
<
a href="index.php?car=DISCOS">Discos</a>
<
a hr........ 
CONTENIDO.PHP
Código PHP:
<?php
$categoria
=$_GET['cat'];
echo 
$categoria;
//conectamos con la base de datos...
$cn=mysql_connect("localhost","root","");
$db=mysql_select_db("tienda",$cn);
$cons="select * from productos where categoria='$categoria'";
echo 
$cons."<br>";
$query=mysql_query($cons,$cn);


?>
<table align="center" border="1">
<tr>
<th>Imagen</th>
<th>Nombre</th>
<th>Categoria</th>
<th>Descripcion</th>
<th>Precio</th>
</tr>
<?php

while ($row=mysql_fetch_array($query))
{

echo 
"<tr><td><a href=".$row['imageng']."><center><img src=".$row['imagen']."></center></a></td>";
echo 
"<td>".$row['nombre']."</td>";
echo 
"<td><CENTER>".$row['categoria']."</CENTER></td>";
echo 
"<td>".$row['descripcion']."</td>";
echo 
"<td><CENTER>".$row['precio']."</CENTER></td></tr>";
}
mysql_free_result($result)
?>
Asi de esta forma solo tengo tres archivos, index.php, cabecera.php y contenido.php.

Y asi contenido.php va cojiendo los datos de la base de datos con tan solo una consulta, aun salen un par de errores pero se corregiran.

NOTA: NO ME AYUDO NADIE, aunque buestras aportaciones me han ayudado y me han servido para sacar esto.

Gracias.
  #9 (permalink)  
Antiguo 05/06/2008, 07:47
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: PROBLEMA con include y switch

genial....!! como tu pocos....

algunos (no tantos) solo copian y pegan....

que bueno que hayas sabido rascar tu propia espalda... nos vemos!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
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 11:58.