Foros del Web » Programando para Internet » PHP »

Links dinamicos

Estas en el tema de Links dinamicos en el foro de PHP en Foros del Web. Buenas, tengo la siguiente duda. Estoy armando un listado de subcategorias donde cada una tiene un link a un archivo .php que se conecta a ...
  #1 (permalink)  
Antiguo 25/08/2006, 14:57
 
Fecha de Ingreso: agosto-2006
Ubicación: Argentina, Bahia Blanca
Mensajes: 172
Antigüedad: 17 años, 8 meses
Puntos: 0
Pregunta Links dinamicos

Buenas, tengo la siguiente duda. Estoy armando un listado de subcategorias donde cada una tiene un link a un archivo .php que se conecta a la base y lista los datos de la misma segun la subcategoria seleccionada. El tema es que tengo que crear archivo por archivo dependiendo la cantidad de subcategorias que tenga. Hay alguna opcion que identifique en que subcategoria hice click y me liste esa informacion.

Pensaba hacerlo asi pero como hago para que me identifique que estoy parado sobre "tal" subcategoria ya que cuando paso el mouse por arriba en la barra del navegador me sale subcategoria=(nada) y no el nombre de la subcategoria.


Código PHP:
subcategoriaampliar.php?subcategoria=<? echo $rows['subcategoria'];?>

Tambien pense en usar esta funcion pero no se donde insertarla

Código PHP:
$dato $_POST['subrusbro'];
switch(
$dato)
{
    case 
'comprayventa':
              
$tabla='comprayventabb';
    break;
    case 
'alquilerespedidos';
              
$tabla='alquilerespedidosbb';
    break;
     case 
'alquileresofrecidos';
              
$tabla='alquileresofrecidosbb';
    break;


  #2 (permalink)  
Antiguo 25/08/2006, 15:15
 
Fecha de Ingreso: agosto-2006
Mensajes: 121
Antigüedad: 17 años, 8 meses
Puntos: 0
Ya vas bien encaminado con la primera opción. Lo que pasa es que $rows['subcategoria'] no tiene valor o su valor es cadena vacía. Lo que debes hacer es poner valores a la variable que propagas por URL, 'subcategoria', y luego en el script que recibe accedes a ella con $_GET['subcategoria'] lo cual te sirve para montar el switch.

Por ejemplo:

Código HTML:
<a href="subcategoriaampliar.php?subcategoria=comprayventa">Compra y venta</a>
<a href="subcategoriaampliar.php?subcategoria=alquilerespedidos">Alquileres pedidos</a>
<a href="subcategoriaampliar.php?subcategoria=alquileresofrecidos">Alquileres ofrecidos 
</a> 
Y en el script receptor:

Código PHP:
switch($_GET["subcategoria"])
{
    case 
'comprayventa':
              
$tabla='comprayventabb';
    break;
    case 
'alquilerespedidos';
              
$tabla='alquilerespedidosbb';
    break;
     case 
'alquileresofrecidos';
              
$tabla='alquileresofrecidosbb';
    break;


  #3 (permalink)  
Antiguo 25/08/2006, 15:48
Avatar de Belero  
Fecha de Ingreso: agosto-2006
Mensajes: 98
Antigüedad: 17 años, 8 meses
Puntos: 0
Un ejemplo utilizando un array con los datos de las subcategorías, también podría hacerse mediante BD.

array.php
Código PHP:
$subcategorias = array(
  
'comprayventa' => array(
    
'nombre' => 'Compra y Venta',
    
'tabla' => 'comprayventabb'
  
),
  
'alquilerespedidos' => array(
    
'nombre' => 'Alquileres Pedidos',
    
'tabla' => 'alquilerespedidos'
  
),
  
'alquileresofrecidos' => array(
    
'nombre' => 'Alquileres Ofrecidos',
    
'tabla' => 'alquileresofrecidosbb'
  
)
); 
enlaces.php
Código PHP:
require("./array.php");

$subcategorias_lista '';
foreach(
$subcategorias AS $subcategoria_id => $subcategoria)
{
  
$subcategorias_lista .= '
    <a href="./subcategoria.php?subcategoria=' 
$subcategoria_id '">' $subcategoria['nombre'] . '</a>
    <br />
  '
;
}

echo 
$subcategorias_lista
subcategoria.php
Código PHP:
require("./array.php");

if(
  !empty(
$_GET['subcategoria']) AND
  !empty(
$subcategorias[$_GET['subcategoria']])
)
{
  
$subcategoria $subcategorias[$_GET['subcategoria']];
  
$tabla $subcategoria['tabla'];
  
  
print_r($subcategoria);
}
else
{
  die(
"Error al seleccionar subcategoría.")

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 16:21.