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: 22 años, 9 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: 23 años, 1 mes
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: 24 años, 8 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: 22 años, 9 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: 22 años, 9 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: 24 años, 8 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: 22 años, 9 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: 24 años, 8 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: 21 años, 5 meses
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 21:30.