Foros del Web » Programando para Internet » PHP »

Menu de Navegacion

Estas en el tema de Menu de Navegacion en el foro de PHP en Foros del Web. Hola!, estoy preparando una pagina en php y quiero hacer un menu de navegacion como el de este foro por ejemplo, que me diga en ...
  #1 (permalink)  
Antiguo 24/03/2004, 09:45
 
Fecha de Ingreso: diciembre-2003
Mensajes: 13
Antigüedad: 20 años, 3 meses
Puntos: 0
Menu de Navegacion

Hola!,

estoy preparando una pagina en php y quiero hacer un menu de navegacion como el de este foro por ejemplo, que me diga en que parte de la web estoy

Cita:
Foros del Web :: Tecnologías e Interacción :: PHP
Querria algo como eso pero no tengo ni idea de como hacerlo ya que no entiendo mucho de php, aver si me podeis ayudar

Un saludo
  #2 (permalink)  
Antiguo 24/03/2004, 10:29
 
Fecha de Ingreso: agosto-2003
Ubicación: España
Mensajes: 202
Antigüedad: 20 años, 8 meses
Puntos: 0
Tendrias que hacer toda una estructura, y variables GET por ejemplo

index.php?module=2&submodule=3
Código PHP:
<?php 
//Conexion mysql
$moduleid $_GET['module'];
$submoduleid $_GET['submodule'];
$tabla "modules";
$tabla2 "submodules";
$ssql mysql_query("SELECT * FROM $tabla WHERE id='$moduleid'");
$ssql2 mysql_query("SELECT * FROM $tabla2 WHERE id='$submoduleid'");
$datos mysql_fetch_array($ssql);
$datos2 mysql_fetch_array($ssql2);
echo 
"datos['modulename'] :: $datos2['submodulename]";

?>
Se que esta un poco enredoso, y que muy probablemente no sea como este, enviame un mensaje privado a ivanguillen, y te daré más información, tambien sobre mi contacto,
adiós.
  #3 (permalink)  
Antiguo 24/03/2004, 10:55
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Hay várias técnicas para eso ..

Desde una estructura gerárquica en una BD .. o archivos XML .. o dando esa estructura a tu sitio como directorios y tan sólo leer el URL para saber donde estamos ...

Puedes ver un montón de alternativas en:
http://www.hotscripts.com/PHP/Script...ion/index.html

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 24/03/2004, 12:53
 
Fecha de Ingreso: diciembre-2003
Mensajes: 13
Antigüedad: 20 años, 3 meses
Puntos: 0
he encontrado un script llamado Urhere, hace practicamente lo que yo quiero, pero lo hace segun la carpeta o archivo que se este visitando, ahora lo que quiero hacer es que segun el nombre de carpeta o archivo el texto salga distinto, por ejemplo, tengo la carpeta principal, y dentro la carpeta pafiledb y los demas archivos, al acceder al archivo principal de las descargas (pafiledb.php) me aparece esto:

Cita:
Principal > Pafiledb > Pafiledb
Principal seria el index.php
pafiledb seria la carpeta ./pafiledb/
pafiledb seria el archivo ./pafiledb/pafiledb.php

lo que querria hacer por ejemplo es si la carpeta se llama pafiledb en la navegacion aparezca el texto Descargas y si el archivo se llama pafiledb.php apareca Categorias pero sin llevar a ningun link (esto siempre en lo ultimo que aparezca en el menu de navegacion. Lo mismo para otros archivos. El codigo del archivo php es este:

Código PHP:
<?
class URHere {
    var 
$sitename "Principal";
    var 
$seperator ">"// ">" is ">", "<" is "<", ":", ,"::", "|", "*""
    
var $text "";
    var 
$link "";

    function 
Text($sent_path "")
    {
        if (
strlen($sent_path) > 0)
            
$path explode("/"$sent_path);
        else
            
$path explode("/"$_SERVER[PHP_SELF]);

        
$c 1;
        while (list(
$key$val) = each($path)) {
            if (
$c 1) {
                
$this->text .= " " $this->seperator " ";
                
$val str_replace("_"" "$val); //Strip underscore
                
$val str_replace("-"" "$val); //Strip hyphen
                
$this->text .= ucwords(ereg_replace("\..*$"""$val)); //Strip extensions
            
} else {
                
$this->text $this->sitename;
            } 
            
$c++;
        } 
        return 
$this->text;
    } 

    function 
Link($sent_path "")
    {
        if (
strlen($sent_path) > 0)
            
$path explode("/"$sent_path);
        else
            
$path explode("/"$_SERVER[PHP_SELF]);

        
$c 1;
        while (list(
$key$val) = each($path)) {
            if (
$c 1) {
                
$this->link .= " " $this->seperator " ";
                if (
$c count($path))
                    
$link .= "$val/";
                else
                    
$link .= "$val";
                
$val str_replace("_"" "$val); //Strip underscore
                
$val str_replace("-"" "$val); //Strip hyphen
                
$this->link .= '<a href="/' $link '">' ucwords(ereg_replace("\..*$"""$val)) . '</a>'//Strip extensions
            
} else {
                
$this->link '<a href="/">' $this->sitename '</a>';
            } 
            
$c++;
        } 
        return 
$this->link;
    } 

//End Class 

?>
el codigo del include es este:
Código PHP:
<?
include("urhere.php"); 
$URHere = new URHere;
$text $URHere->text();
$link $URHere->link();
/* PHP < 4.2 should use this
$text = $URHere->text($PHP_SELF);
$link = $URHere->link($PHP_SELF);
*/
echo $text "<br />";
echo 
$link;
?>
no creo que el del include tenga que ver, pero lo pongo por si acaso, la pregunta es ¿que tengo que modificar para que haga lo que yo digo?

un saludo y gracias
  #5 (permalink)  
Antiguo 25/03/2004, 05:25
 
Fecha de Ingreso: diciembre-2003
Mensajes: 13
Antigüedad: 20 años, 3 meses
Puntos: 0
nadie sabe como??
  #6 (permalink)  
Antiguo 25/03/2004, 06:04
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
La classe (código) que usas se basa en los nombres de los directorios y archivos para presentar la ruta completa ..

Para lo que pretendes deberías buscar otro sistema basado en Archivos de texto plano o Base de datos donde crear la estructura de tu sitio completa y gerarquia que corresponda ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 25/03/2004, 08:20
 
Fecha de Ingreso: diciembre-2003
Mensajes: 13
Antigüedad: 20 años, 3 meses
Puntos: 0
Cita:
Mensaje Original por Cluster
La classe (código) que usas se basa en los nombres de los directorios y archivos para presentar la ruta completa ..

Para lo que pretendes deberías buscar otro sistema basado en Archivos de texto plano o Base de datos donde crear la estructura de tu sitio completa y gerarquia que corresponda ...

Un saludo,

me podrias recomendar alguno en concreto'? estoy buscando en varias paginas de scripts y no encuentro ninguno
  #8 (permalink)  
Antiguo 25/03/2004, 08:24
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pues no conozco ninguno .. pero debes buscar uno que trabaje de la forma que menciono donde puedas crear "nodos" e indicar el código a presentar de ese nodo (sea nada .. o HTML con un link ..).

Sigue buscando en el apartado que te dejé el link de hotscripts..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #9 (permalink)  
Antiguo 30/06/2008, 04:53
 
Fecha de Ingreso: abril-2005
Mensajes: 151
Antigüedad: 19 años
Puntos: 1
Respuesta: Menu de Navegacion

Hace 4 años de este mensaje pero buscando lo mismo he venido a parar a el, al final he tenido que hacer yo la funcion, te la paso por si te sirve, o a cualquier otra persona..
Suponiendo que tienes las categorias en una base de datos asi...


CREATE TABLE `categorias` (
`codigo` int(11) unsigned NOT NULL auto_increment,
`nombre` varchar(255) default NULL,
`padre` int(11) unsigned NOT NULL default '0',
PRIMARY KEY (`codigo`)
) TYPE=MyISAM;
insert into `categorias` values

(1,'categoria1',0),

(2,'categoria1.1',1),

(3,'categoria1.1.1',2),

(4,'categoria1.1.2',2),

(5,'categoria2',0),

(6,'categoria2.1',5);

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'];
}
}

$codigo seria el identificador de la categoria.
$simbolo es el simbolo por el que quieres que se separen, cat > subcat o cat *-Subcat ,, o el que pongas.
Ejemplo de uso.
urhere(4,'>>');
Resultado
categoria1>>categoria1.1>>categoria1.1.2

Si quieres que al pinchar vaya a esa categoria ya te montas tú el link, seria modificando el echo

Última edición por krlosva; 30/06/2008 a las 05:12
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 09:53.