Foros del Web » Programando para Internet » PHP »

usar campos para categorias

Estas en el tema de usar campos para categorias en el foro de PHP en Foros del Web. hola foreros: mis conocimientos en php no alcanzan para este problemilla. tal vez ustedes me ayuden. el problema es el siguiente tabla = "libros" _____id____familia____titulo_____ ...
  #1 (permalink)  
Antiguo 14/01/2010, 14:39
 
Fecha de Ingreso: octubre-2009
Mensajes: 357
Antigüedad: 14 años, 6 meses
Puntos: 1
usar campos para categorias

hola foreros:

mis conocimientos en php no alcanzan para este problemilla.

tal vez ustedes me ayuden.
el problema es el siguiente



tabla = "libros"



_____id____familia____titulo_____

1 3 medicina para jovenes
2 3 medicina para viejos
3 13 psicologia
4 9 arte

como le hago para que al precionar desde un menu la palabra psicologia,medicina,arte....me muestre todos los que corresponden al numero de familia?

gracias


pd:esta ordenado ,espero no se desordene.en pantalla
  #2 (permalink)  
Antiguo 14/01/2010, 14:43
 
Fecha de Ingreso: diciembre-2008
Mensajes: 805
Antigüedad: 15 años, 4 meses
Puntos: 20
Respuesta: usar campos para categorias

disculpame pero no entiendo muy bien, tu lo que quieres es hacer una busqueda relacionado todo a la familia???
  #3 (permalink)  
Antiguo 14/01/2010, 14:46
 
Fecha de Ingreso: octubre-2009
Mensajes: 357
Antigüedad: 14 años, 6 meses
Puntos: 1
Respuesta: usar campos para categorias

es un muestreo segun categorias
ej:
si preciono desde una lista la palabra medicina
aparezcan todos los titulos que tengan el numero 3 en el campo"familias"

se entiende?
  #4 (permalink)  
Antiguo 14/01/2010, 14:52
 
Fecha de Ingreso: diciembre-2008
Mensajes: 805
Antigüedad: 15 años, 4 meses
Puntos: 20
Respuesta: usar campos para categorias

bien si entiendo, haber

seria algo ahi:

Código PHP:
$sql "select * from libros where idfamilia = '3' order by familia asc"
es algo asi lo que tu necesitas???
  #5 (permalink)  
Antiguo 14/01/2010, 14:54
 
Fecha de Ingreso: octubre-2009
Mensajes: 357
Antigüedad: 14 años, 6 meses
Puntos: 1
Respuesta: usar campos para categorias

si maestro

como convierto el 3 en una variable? para no escribir por cada una de las categorias?
  #6 (permalink)  
Antiguo 14/01/2010, 14:58
 
Fecha de Ingreso: diciembre-2008
Mensajes: 805
Antigüedad: 15 años, 4 meses
Puntos: 20
Respuesta: usar campos para categorias

me podrias mostrar un poco de tu codigo. por que hay varias formas de hacerlo.
  #7 (permalink)  
Antiguo 14/01/2010, 15:07
 
Fecha de Ingreso: octubre-2009
Mensajes: 357
Antigüedad: 14 años, 6 meses
Puntos: 1
<div id="col4">
<ul id="col4">
<li>
<?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;
}
mysql_select_db("based");

$sql = "select * from inventario where in_familia_cod = '3' 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>
</li>
</ul> </div>

</div>

con esto arriba

<?php
ob_start("ob_gzhandler");
session_start();
if(isset($_SESSION['carro']))
$carro=$_SESSION['carro'];else $carro=false;
?>

Última edición por GatorV; 15/01/2010 a las 10:37
  #8 (permalink)  
Antiguo 14/01/2010, 15:13
 
Fecha de Ingreso: diciembre-2008
Mensajes: 805
Antigüedad: 15 años, 4 meses
Puntos: 20
Respuesta: usar campos para categorias

bien , pero cual es la pagina donde al hacer un click o presionar enter, te manda a hacer la busqueda???

por que lo que has hecho esta bien, pero tenes que recibir de otra pagina la condicion para poder hacer la consulta

Código PHP:
<div id="col4">
<ul id="col4">
<li>
<?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;
}
$recibir $_POST['recibir'];
mysql_select_db("based");

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

$resultado mysql_query($sql); 
$num_resultados mysql_num_rows($resultado);
  #9 (permalink)  
Antiguo 14/01/2010, 15:24
 
Fecha de Ingreso: octubre-2009
Mensajes: 357
Antigüedad: 14 años, 6 meses
Puntos: 1
he estado cabezeandome y tengo lo siguiente...
estas son las palabra que estan en el menu:

<div align="center">
<a href="zareas.php?">medicina</a> <br />
</div>

<div align="center">
<a href="zareas.php?">psicologia</a> <br />
</div>


que le falta?
algun <form>?




muchisimas gracias

o algo asi?

<a href='inareas.php?in_id=".$row['in_id']."'>".$row['in_titulo']."</a><br>";


<a href='inareas.php?in_id=".$row['recivir']."'>".$row['in_titulo']."</a><br>";

Última edición por GatorV; 14/01/2010 a las 21:53
  #10 (permalink)  
Antiguo 14/01/2010, 15:36
 
Fecha de Ingreso: diciembre-2008
Mensajes: 805
Antigüedad: 15 años, 4 meses
Puntos: 20
Respuesta: usar campos para categorias

bien asi puede ser, pruebalo para ver si te funciona, ahh

del otro lado donde yo te puse $recibir = $_POST['recibir'],

pruebalo con el post o con $_REQUEST['recibir'];

yo lo hago de otra forma

en el head dentro de un script, tomo los valores de cada div y lo envia a la otra pagina de esta forma.

document.location.href = "inarias.php?recibir="+recibir, pero lo que haz hecho esta bien, pruebalo
  #11 (permalink)  
Antiguo 14/01/2010, 15:56
 
Fecha de Ingreso: octubre-2009
Mensajes: 357
Antigüedad: 14 años, 6 meses
Puntos: 1
Respuesta: usar campos para categorias

dice de un error en la pagina de resultado:

Parse error: syntax error, unexpected $end in C:\xampp\xampp\htdocs\pruabaphp\zenkyu\TMP7tneiw9b la.php on line 1016



pd: la "line 1016" no existe
  #12 (permalink)  
Antiguo 14/01/2010, 16:06
 
Fecha de Ingreso: diciembre-2008
Mensajes: 805
Antigüedad: 15 años, 4 meses
Puntos: 20
Respuesta: usar campos para categorias

significa que te esta faltando cerrar algo, un parentesis, una llave ,
  #13 (permalink)  
Antiguo 15/01/2010, 07:36
 
Fecha de Ingreso: octubre-2009
Mensajes: 357
Antigüedad: 14 años, 6 meses
Puntos: 1
Respuesta: usar campos para categorias

donde esta el "#!!x!" error?

Parse error: syntax error, unexpected $end in C:\xampp\xampp\htdocs\pruabaphp\zenkyu\TMP34jpswaj 4c.php on line 1013

miren

<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", "xxxx");

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

mysql_select_db("based", $db);

$sql = "select * from inventario where in_familia_cod = '$recibir' 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>

</ul>
</div>
</div>
</div>
</div>
  #14 (permalink)  
Antiguo 15/01/2010, 08:10
 
Fecha de Ingreso: diciembre-2008
Mensajes: 805
Antigüedad: 15 años, 4 meses
Puntos: 20
Respuesta: usar campos para categorias

te falta cerrar el for al ultimo tenes que agregar una llave mas por que estas cerrando solo el if
  #15 (permalink)  
Antiguo 15/01/2010, 08:55
 
Fecha de Ingreso: octubre-2009
Mensajes: 357
Antigüedad: 14 años, 6 meses
Puntos: 1
Respuesta: usar campos para categorias

//hola sergio como estas, yo aún con esto.

//cree esto en menu

<a href='zareas.php?recivir=".$row['in_familia_cod']."'>medicina</a>

<a href='zareas.php?recivir=".$row['in_familia_cod']."'>psicologia</a>

<a href='zareas.php?recivir=".$row['in_familia_cod']."'>arte</a>

//pero donde especifico el numero del area que deseo mostrar los libros.

//si en el campo "in_familia_cod" el 3 corresponde a medicina, y 14 a psicología.
  #16 (permalink)  
Antiguo 15/01/2010, 09:51
 
Fecha de Ingreso: diciembre-2008
Mensajes: 805
Antigüedad: 15 años, 4 meses
Puntos: 20
Busqueda Respuesta: usar campos para categorias

proba esto:

<a href='zareas.php?recivir="3"'>medicina</a>

y en zareas.php coloca esto:

Código PHP:
$areas =$_REQUEST['recivir'];

echo 
$areas
si esto te da 3 es por que esta bien, luego lo que tenes que hacer es poner en la consulta $areas como condicion
  #17 (permalink)  
Antiguo 15/01/2010, 12:24
 
Fecha de Ingreso: octubre-2009
Mensajes: 357
Antigüedad: 14 años, 6 meses
Puntos: 1
Respuesta: usar campos para categorias

sergio mira post
  #18 (permalink)  
Antiguo 16/01/2010, 06:20
 
Fecha de Ingreso: diciembre-2008
Mensajes: 805
Antigüedad: 15 años, 4 meses
Puntos: 20
Respuesta: usar campos para categorias

si lo vi, el problema es que te arroja 0 en ves de los codigos que vos necesitas para hacer las consultas???
  #19 (permalink)  
Antiguo 16/01/2010, 06:28
 
Fecha de Ingreso: mayo-2008
Mensajes: 315
Antigüedad: 15 años, 11 meses
Puntos: 7
Respuesta: usar campos para categorias

Podrias hacerlo asi:

creas una nueva tabla llamada categorias y alli pones id (auto increment) y nombre.
Código PHP:
// Consultamos una nueva tabla que tiene nuestras categorias y le extraemos las id
$categorias mysql_query("SELECT * FROM categorias where nombre='$_REQUEST[categoria]'");
    while (
$ccms mysql_fetch_array($categorias)) {
$id $ccms[id];
}

$sql "select * from libros where idfamilia = '$id' order by familia asc"
Cuando tu pongas index.php?categoria=ciencia pues lo cambiara a numero y podras ver los libros de dicha categoria pero antes tienes que rellenar la tabla categorias

Etiquetas: campos, categorias
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 23:42.