Foros del Web » Programando para Internet » PHP »

Como plantear un directorio de mi web

Estas en el tema de Como plantear un directorio de mi web en el foro de PHP en Foros del Web. Hola , quiero crear un dorectorio tipo yahoo con el contenido dentro de mi web peor esdtoy intentandoplantearlo y me salen cosas muy raras, ña ...
  #1 (permalink)  
Antiguo 05/02/2003, 04:55
Avatar de lochorui  
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 899
Antigüedad: 15 años, 10 meses
Puntos: 2
Como plantear un directorio de mi web

Hola , quiero crear un dorectorio tipo yahoo con el contenido dentro de mi web peor esdtoy intentandoplantearlo y me salen cosas muy raras, ña verdad es que no se como plantearlo.

Yo tengo una tabla con 3 campos:

ID_subcategoria
subategoria
Categoria a la que pertenece.

He intentado pintar la primara categoria y sus subcategorias de la suiguiente forma:

Código PHP:
<?

$dbh 
mysql_connect("localhost""users""pass");
     
mysql_select_db ("musikaid_categorias"$dbh);

$sql "SELECT * FROM subcategorias  ";
$resultado mysql_query($sql,$dbh);
    echo 
mysql_error();
while (
$row mysql_fetch_row($resultado))
{
$categoria $row['2'];
$subcategoria $row['1'];
if ( 
$categoria == Pop )

?>
        <TD width="368" class="normalnegrita" > 
        
          POP
          <br>
<?php echo $subcategoria;} ?>
         </TD>



   


<?



}
?>

pero claro lo que me hace es una columna para cada subcategroia

lo podeis ver AQUI

Alguien sabe como se podria plantear para que me lo pintase de la siguiente forma?

Categoria
subcategoria1, subcategoria2,....
  #2 (permalink)  
Antiguo 05/02/2003, 09:29
Avatar de lochorui  
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 899
Antigüedad: 15 años, 10 meses
Puntos: 2
nadie?

SALUDOS
  #3 (permalink)  
Antiguo 05/02/2003, 09:53
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Te recomiendo que por un momento te olvides de PHP y de código en general .. te sientes con lapiz y papel y "modeles" tu base de datos y .. en general tu proyecto.

Para ayudarte con "teoria" y como orientar una mejor solución te recuerdo q tenemos el foro "Ingeniería del Software y gestión de proyectos" .. donde te podran dar un apollo de teoria ...

Si el proyecto en si lo tienes claro y tienes problemas con la "base de datos" .. idem .. pregunta en el foro de Base de datos como sería el mejor modelo para ello. Hay cosas o conceptos como "normalización" que deberias conocer y usar en este caso concreto ...

Tu sabes q aquí en el foro PHP se hace "manga ancha" y se resuelven muchasss dudas referentes a Mysql (SQL en general) .. pero ya es hora q se usen los foros q estan destinados para tal fin ..

Un saludo,
  #4 (permalink)  
Antiguo 05/02/2003, 16:10
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Lo que tienes que hacer es AGRUPAR las subcategorias en funcion de su categoria. Basicamente hay dos formas de hacerlo:

1.- Lees solo las subcategorias de UNA SOLA categoria y los muestras. Lo repites para cada categoria

2.- Lees todas las subcategorias AGRUPADAS por categoria y vas mostrandolas una a una. Cuando detectas que has cambiado de categoria muestras un codigo HTML para separarlas y continuas.

Espero haber sido de ayuda.

PD: El codigo para hacer cualquiera de las dos opciones se puede sacar con ayuda de www.mysql.com y www.php.net
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 05/02/2003, 16:20
Avatar de lochorui  
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 899
Antigüedad: 15 años, 10 meses
Puntos: 2
Mirar , lo estoy haciendo de la siquiente forma pero me parece un poko burrada pensando q hay solo llevo 2 categorias y son 8 con lo que serían 8 conexiones , no es muccho?No hay forma de simplificar esto?

Código PHP:
<?
$dbh 
mysql_connect("localhost""musikaid_user""pass");
     
mysql_select_db ("musikaid_categorias"$dbh);
$sql "SELECT   * FROM  subcategorias WHERE categoria='Pop'";
    
$resultado mysql_query($sql,$dbh);
    echo 
mysql_error();

echo 
"<TR>";
    echo 
"<TD> POP";
    echo 
"<br>";
    while(
$rowmysql_fetch_row($resultado)){ 

        echo 
"<a href='probando.php?subestilo=".$row['1']."''> ".$row['1']."</a> ";
$row['1']++ ;
}
echo 
"</TD>";
    
$dbh mysql_connect("localhost""musikaid_user""pass");
     
mysql_select_db ("musikaid_categorias"$dbh);
$sql "SELECT   * FROM  subcategorias WHERE categoria='Varios'";
    
$resultado mysql_query($sql,$dbh);
    echo 
mysql_error();

echo 
"<TR>";
    echo 
"<TD> VARIOS";
    echo 
"<br>";
    while(
$rowmysql_fetch_row($resultado)){ 

        echo 
"<a href='probando.php?subestilo=".$row['1']."''> ".$row['1']."</a> ";
$row['1']++ ;
}
echo 
"</TD>";


?>
o no hay alguna forma de que me muestre tmb la categoria pintandomela de la bd en vez d escreibiendola a amno yo?


un sdaludo
  #6 (permalink)  
Antiguo 06/02/2003, 15:16
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Puedes hacer varias consultas con una sola conexion, asi que puedes quitar todos los mysql_connect() y mysql_select_db() menos los primeros.

Y lo que puedes hacer es una consulta que te devuelva todas las categorias. Luego cuando recorres lo que te ha devuelto, haces una nueva consulta para leer todas las subcategorias de esa categoria. Asi cuando metas en la BD una nueva categoria no tendrias que modificar el codigo. En pseudocodigo:

1.- Leer todas las categorias de la BD.
2.- Con cada una de las categorias:
2.1.- Mostrar la categoria.
2.2.- Leer todas las subcategorias de esta categoria.
2.3.- Con cada subcategoria:
2.3.1.- Mostrar subcategoria.

Espero haber sido de ayuda.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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 01:39.