
03/02/2014, 21:33
|
| | Fecha de Ingreso: septiembre-2013
Mensajes: 17
Antigüedad: 11 años, 5 meses Puntos: 2 | |
Respuesta: Mostrar Categorias en PHP Muchas a gracias todos por sus respuestas ya encontre la solución al problema en cuestión, me puse a investigar mas acerca de los breadcrumbs (migas o migajas de pan) y encontre un articulo interesante [URL="http://www.sitepoint.com/hierarchical-data-database/"]aqui[/URL] al principio de este tema mark_ant0n me sugería hacer el metodo de los breadcrumbs con consulta recursivas lo cual es correcto de acuerdo a todo lo que he investigado y tambien agradezco a Alexis 88 por hacer mencion de los breadcrumbs y pero tambien a enlinea777 por darme idea en cuanto a la sintaxis en MySql.
Me encontré con un tema que fue iniciado hace 10 años aquí mismo en forosdelweb.com por ZoLkIeN con el nombre de [URL="http://www.forosdelweb.com/f18/menu-navegacion-190980/"]Menu de Navegacion[/URL] y 4 años mas tarde krlosva da l solución al problema pero tambien le da solución a mi problema con su respuesta con este codigo:
La funcion:
function urhere($codigo,$simbolo='>'){
$sql="select * from categorias where codigo='$codigo'";
$sql=mysql_query($sql);
$categoria=mysql_fetch_array($sql);
if($categoria['padre']==0){
echo $categoria['nombre'];
return;
}
else{
urhere($categoria['padre'],$simbolo);
echo $simbolo.$categoria['nombre'];
}
}
espero no estar infrigiendo ninguna regla del foro con esto. Lo que yo queria gracias a krlosva ya esta resuelto y aqui esta mi codigo PHP con la solucion de krlosva implemnetada en el
browse.php
-----------------------------------------------------------------------------------------
<?php
$mysqli = new mysqli("localhost","usuario","clave","tienda_compu to");
if($mysqli->connect_errno)
{
echo "Fallo la conexion (" . $mysqli->connect_errno . ")" . $mysqli->connect_error;
}
// si no hay valor de id
if(empty($_GET['id']) || $_GET['id'] == 0)
{
$ide = 0;
$sql = "SELECT * FROM categorias WHERE parent_id IS NULL";
}else{
// si hay valor de id
$ide = $_GET['id'];
$sql = "SELECT * FROM categorias WHERE parent_id = $ide";
cargarMenu($ide,' » ',$mysqli);
}
echo "<br><br>";
$consulta = $mysqli->query($sql);
if($result = $consulta)
{
while($row = $result->fetch_assoc())
{
$cat_id = $row['id'];
echo "<a href='browse.php?id=$cat_id'>" . $row['nombre'] . "</a><br>";
}
$result->free();
}
$mysqli->close();
function cargarMenu($cat_clave,$simbolo,$mysqli)
{
$sql = "SELECT * FROM categorias WHERE id = $cat_clave";
$consulta = $mysqli->query($sql);
$categoria = $consulta->fetch_assoc();
if($categoria['parent_id'] == 0)
{
$idcat = $categoria['id'];
echo "<a href='browse.php?id=$idcat'>" . $categoria['nombre'] . "</a>";
}else{
cargarMenu($categoria['parent_id'],$simbolo,$mysqli);
$idcat = $categoria['id'];
echo $simbolo . "<a href='browse.php?id=$idcat'>" . $categoria['nombre'] . "</a>";
}
}
?>
-----------------------
Basicamente es eso ya me he dado una idea con eso y espero que esto también sirva a otros como yo que tengan esta misma duda.
Agradecimientos: Forosdelweb.com
enlinea777
mark_ant0n
Alexis88
krlosva
Saludos y que esten bien :D |