Foros del Web » Programando para Internet » PHP »

como vincular las categorias de un menu

Estas en el tema de como vincular las categorias de un menu en el foro de PHP en Foros del Web. hola, sabrian ustedes lo siguiente? como vincular las categorias de un menu arte psicologia medicina para mostrar los productos que pertenezcan a esta categoría en ...
  #1 (permalink)  
Antiguo 15/01/2010, 09:11
 
Fecha de Ingreso: octubre-2009
Mensajes: 357
Antigüedad: 14 años, 5 meses
Puntos: 1
como vincular las categorias de un menu

hola, sabrian ustedes lo siguiente?
como vincular las categorias de un menu

arte
psicologia
medicina

para mostrar los productos que pertenezcan a esta categoría en la hoja de resultados que las recive asi

//

$recibir = $_POST['recibir'];
if (!isset($_POST['recibir']));
{
echo "Error: No se ha podido ENCONTRAR REFERENCIAS,POR FAVOR SELECCIONA UNA CATEGORÍA.";
exit;
}
mysql_select_db("based", $db);

$sql = "select * from inventario where in_familia_cod = '$recibir' order by in_titulo asc";

//

si en la tabla las categorias son representadas con un numero, no con nombre.?

gracias
  #2 (permalink)  
Antiguo 15/01/2010, 09:18
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
Respuesta: como vincular las categorias de un menu

Algo así serviría...

Código html:
Ver original
  1. <a href="recibir.php?idCategoria=1">Arte</a>
  2. <a href="recibir.php?idCategoria=2">Medicina</a>

recibir.php:
Código PHP:
Ver original
  1. switch($_GET['idCategoria']) {
  2.     case 1: $nombreCategoria = 'Arte';break;
  3.     case 2: $nombreCategoria = 'Medicina';break;
  4.     default: $nombreCategoria = 'Psicologia';break;
  5. }
  6.  
  7. echo $nombreCategoria;

Creo...

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #3 (permalink)  
Antiguo 15/01/2010, 09:38
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 8 meses
Puntos: 105
Respuesta: como vincular las categorias de un menu

etisdemian, bueno tu codigo esta mal en varios aspectos, desde que recibes con POST y tu envias por GET... y de que acabas la sentencia if con el ;

Carxl, mas bien creo que es al revez...... haha

entiendo que tu envias como parametro el nombre pero en el campo es el id.....

1. en los links envias el parametro y no el nombre
Código HTML:
Ver original
  1. <a href="recibir.php?id=1">Arte</a>
  2. <a href="recibir.php?id=2">Psicologia</a>
  3. <a href="recibir.php?id=3">Medicina</a>
recibir.php
Código php:
Ver original
  1. if (!isset($_GET['id'])){
  2.     echo "Error: No se ha podido ENCONTRAR REFERENCIAS,POR FAVOR SELECCIONA UNA CATEGORÍA.";
  3.     exit;
  4. }else{
  5.     mysql_select_db("based", $db);
  6.     $rs = mysql_query("select * from inventario where in_familia_cod = '".$_GET['id']."' order by in_titulo asc");
  7.     //.......
  8. }


2. mas tedioso no... pero seria en el caso que tengas que enviar como parametro el nombre y no el id........ donde segun tu order by... el campo nombre viene a ser titulo
Código HTML:
Ver original
  1. <a href="recibir.php?titulo=Arte">Arte</a>
  2. <a href="recibir.php?titulo=Psicologia">Psicologia</a>
  3. <a href="recibir.php?titulo=Medicina">Medicina</a>
recibir.php
Código php:
Ver original
  1. if (!isset($_GET['titulo'])){
  2.     echo "Error: No se ha podido ENCONTRAR REFERENCIAS,POR FAVOR SELECCIONA UNA CATEGORÍA.";
  3.     exit;
  4. }else{
  5.     mysql_select_db("based", $db);
  6.     $rs = mysql_query("select * from inventario where in_titulo = '".$_GET['titulo']."' order by in_titulo asc");
  7.     //.......
  8. }

suerte.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #4 (permalink)  
Antiguo 15/01/2010, 10:12
 
Fecha de Ingreso: octubre-2009
Mensajes: 357
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: como vincular las categorias de un menu

bien,, asi esta el menu:


<div align="center">
<a href="zareas.php?titulo=45">test</a>
<a href="zareas.php?titulo=104">quimica</a>
<a href="zareas.php?titulo=3">medicina</a>

</div>



y asi el zareas.php

tomomos en cuenta que en la bd las categorias que estan en "in_familia2" son numeros 2, 4,6,7 y no las palabras.

,por ejemplo: click a medicina y trae todos los productos que tienen categoria 3

Cita:
<div id="todito">
<?php
include ("inmenu.php");
?>
<div id="contenedor">
<div id="fila1">
<div id="col1"></div>
<div id="col4">
<ul id="col4">
<?php
$db = mysql_connect("localhost", "root", "xxxxxx");

if (!$db)
{
echo "Error: No se ha podido conectar a la base de datos. Por favor, prueba de nuevo más tarde.";
exit;
}


if (!isset($_GET['titulo'])){
echo "Error: No se ha podido encontrar referencias, por favor selecciona una categoría.";
exit;
}else{
mysql_select_db("based", $db);
$row = mysql_query("select * from inventario where in_titulo = '".$_GET['titulo']."' order by in_titulo asc");


$row = mysql_query($sql);
$num_resultados = mysql_num_rows($row);

echo $row;
echo "<p>Número de libros encontrados: ".$num_resultados."</p>";

for ($i=0; $i <$num_resultados; $i++)
{
$row = mysql_fetch_array($row);

?>
<br />

<?php
echo "<p><strong>".($i+1).". Título: ";
echo "<strong><a href='indetalle.php?in_id=".$row['in_id']."'>".$row['in_titulo']."</a><br>";
echo "</strong><br>Autor: ";
echo stripslashes($row["in_autor"]);
echo "<br>ISBN: ";
echo stripslashes($row["in_ISBN"]);
echo "<br>Precio: ";
echo stripslashes($row["in_venta_iva"]);
echo "<br>Editorial: ";
echo stripslashes($row["in_editor2"]);
echo "<br>Año Edición: ";
echo stripslashes($row["in_edicion"]);
echo "</p>";


if(!$carro || !isset($carro[md5($row['in_id'])]['identificador']) || $carro[md5($row['in_id'])]['identificador']!=md5($row['in_id'])){

?>
<a href="agregacar.php?<?php echo SID ?>&id=<?php echo $row['in_id']; ?>"> <br />
<img src="_imagenes/shop2.jpg" width="64" height="15" border="0" title="Agregar al Carrito">
</a>

<?php
}else{
?>

<a href="borracar.php?<?php echo SID ?>&id=<?php echo $row['in_id']; ?>">
<img src="_imagenes/delete.gif" width="22" height="22" border="0" title="Quitar del Carrito">
</a>

<?php } ?>

<a href="vercarrito.php?<?php echo SID ?>" title="Ver el contenido del carrito">
<img src="_imagenes/2.jpg" width="30" height="20" border="0"></a>
<?php } ?>
<?php } ?>
</ul>
</div>
</div>
</div>
  #5 (permalink)  
Antiguo 15/01/2010, 10:25
 
Fecha de Ingreso: enero-2010
Mensajes: 152
Antigüedad: 14 años, 3 meses
Puntos: 5
Respuesta: como vincular las categorias de un menu

Yo le agregaria esta línea justo despues de la conexión a la BD.

Código PHP:
Ver original
  1. if (!$db)
  2. {
  3. echo "Error: No se ha podido conectar a la base de datos. Por favor, prueba de nuevo más tarde.";
  4. }
  5. else
  6. {
  7. foreach(array_keys($_GET) as $indice)
  8. {
  9. $_GET[$indice]=mysql_real_escape_string($_GET[$indice],$db);
  10. }
  11. }

Eso te evitará ataques SQL-inyection
  #6 (permalink)  
Antiguo 15/01/2010, 10:36
 
Fecha de Ingreso: octubre-2009
Mensajes: 357
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: como vincular las categorias de un menu

gracias, paynalton.
  #7 (permalink)  
Antiguo 15/01/2010, 11:40
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 8 meses
Puntos: 105
Respuesta: como vincular las categorias de un menu

bueno no veo por que usar ese array_keys...... y lo de mysql_real_escape_string...... ps no es necesario cuando tiene activado el magic_quotes en on.... que es importante ya que sino tendria que a cada variable validarla con la funcion y ps resulta tedioso.

etisdemian, tu ultimo post fue algo mas complicado...... pero que no te sirvio mi ejemplo o el de Carxl....... cual es tu problema ahora ??
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #8 (permalink)  
Antiguo 15/01/2010, 12:18
 
Fecha de Ingreso: octubre-2009
Mensajes: 357
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: como vincular las categorias de un menu

bien masteojitos

tengo menu.php

<div align="center">
<a href='zareas.php?recivir="3"'>medicina</a>
<a href='zareas.php?recivir="45"'>test</a>
<a href='zareas.php?recivir="104"'>quimica</a>
<a href='zareas.php?recivir="3"'>medicina</a>
</div>


y tengo zareas.php
Cita:
Cita:
<div id="contenedor">
<div id="fila1">
<div id="col1"></div>
<div id="col4">
<ul id="col4">
<?php
$db = mysql_connect("localhost", "root", "xxxxxx");

if (!$db)
{
echo "Error: No se ha podido conectar a la base de datos. Por favor, prueba de nuevo más tarde.";
exit;
}
$recivir = $_GET['recivir'];

switch($_GET['recivir']) {
case 3: $recivir = 'medicina';break;
case 45: $recivir = 'test';break;
case 104: $recivir = 'quimica';break;
default: $recivir = 'medicina';break;
}


mysql_select_db("based", $db);

$sql = "SELECT * FROM inventario WHERE in_familia_cod='$recivir' ORDER BY in_titulo ASC";


$resultado = mysql_query($sql);
$num_resultados = mysql_num_rows($resultado);

echo "<p>Número de libros encontrados: ".$num_resultados."</p>";

for ($i=0; $i <$num_resultados; $i++)
{
$row = mysql_fetch_array($resultado);

?>
<br />

<?php
echo "<p><strong>".($i+1).". Título: ";
echo "<strong><a href='indetalle.php?in_id=".$row['in_id']."'>".$row['in_titulo']."</a><br>";
echo "</strong><br>Autor: ";
echo stripslashes($row["in_autor"]);
echo "<br>ISBN: ";
echo stripslashes($row["in_ISBN"]);
echo "<br>Precio: ";
echo stripslashes($row["in_venta_iva"]);
echo "<br>Editorial: ";
echo stripslashes($row["in_editor2"]);
echo "<br>Año Edición: ";
echo stripslashes($row["in_edicion"]);
echo "</p>";


if(!$carro || !isset($carro[md5($row['in_id'])]['identificador']) || $carro[md5($row['in_id'])]['identificador']!=md5($row['in_id'])){

?>
<a href="agregacar.php?<?php echo SID ?>&id=<?php echo $row['in_id']; ?>"> <br />
<img src="_imagenes/shop2.jpg" width="64" height="15" border="0" title="Agregar al Carrito">
</a>

<?php
}else{
?>

<a href="borracar.php?<?php echo SID ?>&id=<?php echo $row['in_id']; ?>">
<img src="_imagenes/delete.gif" width="22" height="22" border="0" title="Quitar del Carrito">
</a>

<?php } ?>

<a href="vercarrito.php?<?php echo SID ?>" title="Ver el contenido del carrito">
<img src="_imagenes/2.jpg" width="30" height="20" border="0"></a>
<?php } ?>

</ul>
</div>
</div>
</div>


tengo en la tabla un campo que dice "in_familia_cod"

en el aparecen los codigos de familias; 1,2,3,4,5..etc que corresponden a las areas, pero estas areas;medicina,arte,quimica...etc no estan en la base.

como logro que al hacer click en medicina en el menu traiga todos los libros que que estan en "in_titulo"
que tengan el mismo cod de familia.

sabras? master
  #9 (permalink)  
Antiguo 15/01/2010, 12:21
 
Fecha de Ingreso: octubre-2009
Mensajes: 357
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: como vincular las categorias de un menu

lo anterior me arroja que:
todos los libros que trae son codigos "0";
como traigos los codigo 45, o los 132, o los 3.....
  #10 (permalink)  
Antiguo 15/01/2010, 12:37
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 8 meses
Puntos: 105
Respuesta: como vincular las categorias de un menu

quita esto:
Código PHP:
Ver original
  1. switch($_GET['recivir']) {
  2. case 3: $recivir = 'medicina';break;
  3. case 45: $recivir = 'test';break;
  4. case 104: $recivir = 'quimica';break;
  5. default: $recivir = 'medicina';break;
  6. }
y dejalo tal como esta y dime como te va:
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #11 (permalink)  
Antiguo 15/01/2010, 12:41
 
Fecha de Ingreso: octubre-2009
Mensajes: 357
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: como vincular las categorias de un menu

lo mismo, solo que ahora no aparece el nombre de la categoría al cargar los libros xD
  #12 (permalink)  
Antiguo 15/01/2010, 13:13
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 8 meses
Puntos: 105
Respuesta: como vincular las categorias de un menu

q raro sabes........
por que tu mandas como parametro el codigo del area verdad......... entonces ese switch lo veo demas ya que no necesitas el nombre sino el codigo para hacer el select y obtener todas las familias......

revisa bien...... ya que lo veo sencillo la verdad...... tu puedes varon.

Suerte.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog

Etiquetas: categorias, vincular
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:24.