Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > HTML, Javascript y otros
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-01-2007
efelix efelix is offline
Miembro
 
Registrado: jul 2006
Posts: 84
Poder: 18
efelix Va por buen camino
Enumerar las páginas con Javascript

Hola a todos, muchas felicidades en el nuevo año. Mi problema es el siguiente: me inicio en el mundo del trabajo con Javascript, veo que es bastante utilizado en el diseño web para darle interactividad y dinamismo a las páginas. Veo que en este mismo foro se utiliza. Me gustaría que alguien me explicara como es que se logra el efecto de indicarle al que visita el foro la ubicación de donde está en ese momento. Por ejemplo para explicarme mejor. En el momento de redactar este tema aparece en la parte superior un icono de una carpeta abierta indicandóme que estoy en Foros Club Delphi > Otros Entornos y lenguajes > HTML, Javascript y otros y debajo Crear Nuevo Tema. Ahora también recuerdo que en una ocasión publiqué un tema en la parte dedicada a la conexión con base de datos que fue bastante discutido y que el mismo ocupó mas de una página. Me pregunto si la longitud de la página la defino yo mismo como diseñador o esto se puede hacer con Javascript y que cuando el contenido sea mayor que el diseño predefinido se cree otra página e informe de la cantidad de páginas que tiene el mismo.Espero me hayan entendido. Le puse este titulo al hilo porque no encontré otro mas adecuado, además como pueden observar son dos preguntas en un mismo hilo. Si alguien conoce donde encontrar algún buen manual sobre Javascript, me gustaría me lo hicieran saber. Muchas gracias.
Responder Con Cita
  #2  
Antiguo 04-01-2007
[kayetano] kayetano is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Elche
Posts: 644
Poder: 21
kayetano Va por buen camino
Hola

El tema de indicar en que apartado del foro estas se puede hacer de varias formas, eso si yo siempre lo he hecho con PHP y no con javascript:
1. La más simple que conozco es poniendo una marca a cada página.
2. (como se hace en este foro) a partir del tema en el que estás, ose el valor de "P" que puedes ver en la URL, este valor asocia el tema a un subapartado (HTML, Javascript y otros) y este subapartado se asocia a un apartado (Otros entornos y lenguajes), estas asociacioenes están guardadas en una base de datos.

El tema de la paginación también lo hago siempre con PHP y no con Javascript.
Es algo más complejo que el tema anterior ya que hay que tener muchas cosas en cuenta. Paginator es un script que sirve para paginar consultas en MySQL.
__________________
Salu2
KAYETANO

Cómo hacer preguntas de manera inteligente
Responder Con Cita
  #3  
Antiguo 04-01-2007
Avatar de D-MO
D-MO D-MO is offline
Miembro
 
Registrado: ago 2005
Ubicación: root@debian:/#
Posts: 1.042
Poder: 20
D-MO Va por buen camino
Que tal Efelix.

#1
Supongamnos que tienes una venta de ropa, en esta tienes todo dividido por categorías de la siguiente manera:
  • Hombres
    • Camisas
      • Marca X
      • Marca Y
      • Marca Z
    • Playeras
      • ...
    • Pantalones
      • ...
    • Ropa Interior
      • ...
  • Mujeres
    • ...
  • Niños
    • ...
Esta estructura, que se podría comparar con una estructura de directorios (carpetas), debería estar guardada en una base de datos, la cual podría contener los siguientes campos:
Cita:
Tabla: Categorías
  • id
  • idsuperior
  • nombre
id: Almacenará el identificador de la categoría en cuestión.
idsuperior: Almacenará el id de la categoría padre, en caso de no poseer podre se colocará "0".
nombre: El nombre de la Categoría, ej: "Camisas".

Los datos deberán estar guardados de la siguiente manera:


Cita:
id: 1
idsuperior: 0
nombre: Hombres

-------------------------------------

id: 2
idsuperior: 1
nombre: Camisas

-------------------------------------

id: 3
idsuperior: 1
nombre: Pantalones

-------------------------------------

id: 4
idsuperior: 3
nombre: Marca X

-------------------------------------

...
De esa forma con cada una de las categorías.

Luego para identificar la estructura de la posición actual, bastará con un pequeño script en php que se encargue de tomar la posición en la que te encuentras y luego buscar quien es el padre, padre del padre, etc... hasta llegar a el que no posee padre.

ej:
Si tenemos la url:
Código:
http://dominio.com/categoria.php?id=4
Bastaría con un script como este:

Código PHP:
<?php
$id 
$_GET['id'];

$mCon = @ mysql_connect('host','user','pass');
if (
$mCon){
   
mysql_select_db('database');

   
$rQuery = @mysql_query("SELECT * FROM Categorias WHERE id = $id");
   if (
mysql_num_rows($rQuery)==1) {
      
$categoria[0]=mysql_fetch_object($rQuery);
      
$c 0;
      
$salirfalse;
      while(!
$salir){
        
$rQuery = @mysql_query('SELECT * FROM Categorias WHERE id = '.$categoria[$c]->idsuperior);
        
$categoria[++$c]=mysql_fetch_object($rQuery);        
    if(
$categoria[$c]->idsuperior==0){
          
$salir=true;
        }
      }

      for(
$i=count($categoria);$i>=0;$i--){
         echo .
'/'.$categoria[$i]->nombre;
      }

   } else {
      die (
"El id especificado no existe.");
   }
} else {
   die(
'Imposible conectar al Servidor de Base de Datos');
}
?>
El cual nos daría el siguiente resultado:
Código:
/Hombres/Pantalones/Marca X
Con unos pequeños cambios podrás hacer algo similar a la barra de navegación del club.

Nota:
Me he dado cuenta que mientras escribia, Kayetano se me adelantó, y ya no es necesario responder la segunda pregunta.

Saludos
Responder Con Cita
  #4  
Antiguo 04-01-2007
[kayetano] kayetano is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Elche
Posts: 644
Poder: 21
kayetano Va por buen camino
Angry

Hola D-MO

Me da la sensación que el amigo efelix no tiene nivel suficiente de PHP para entender todo lo que has puesto aquí, por lo que creo más adecuado darle unas nociones antes de soltarle la parrafada.

Ahora voy a por ti !!
Cogete un manual de SQL y te miras el tema de concatenación de tablas, que tiene delito lo que acabas de poner.

la consulta quedaría algo asin, para buscar el nombre de la categoría y de la subcategoría a partir del ID de la subcategoria
Código SQL [-]
SELECT n1.nombre AS nombreCategoria, n2.nombre AS nombreSubcategoria
FROM Categorias n1, Categorias n2
WHERE n1.id = n2.idsuperior AND n2.id = xx
EDITO 1: la consulta es para dos niveles de categoría, pero se pueden poner tantos niveles como se deseen.
EDITO 2: yo la marca la pondría como un atributo independiente de la categoría, ya que una marca puede pertenecer a varias categorías.
__________________
Salu2
KAYETANO

Cómo hacer preguntas de manera inteligente

Última edición por kayetano fecha: 04-01-2007 a las 18:57:27.
Responder Con Cita
  #5  
Antiguo 04-01-2007
[kayetano] kayetano is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Elche
Posts: 644
Poder: 21
kayetano Va por buen camino
Hola de nuevo D-MO

Me estoy reprimiendo de meterte un paquete de los que me gustaba dar cuando era profesor de programación.

Ya no solo has puesto una consulta SQL un poco rara (por no poner algo mas duro) sino que me pongo a mirar el código y veo esto:
Código PHP:
<?
...
   while(!
$salir){
      
$rQuery = @mysql_query(....);
      
$categoria[++$c]=mysql_fetch_object($rQuery);        
      if(
$categoria[$c]->idsuperior==0){
          
$salir=true;
      } 
   }
...
?>
se usa poco pero existe una esturctura del tipo do ... while, con lo que quedaría:
Código PHP:
<?
...
   do{ 
      
$rQuery = @mysql_query(....);
      
$categoria[++$c]=mysql_fetch_object($rQuery);        
   } while(
$categoria[$c]->idsuperior!=0)
...
?>
Tengo que reconocer que a mi me gustaba hacer el bestia con estructuras del tipo
Código PHP:
<?
   
while(true){
      ....
      if(
loquesea) break;
      ....
   }
?>
Perdona D-MO si me he pasado pero hoy tengo un mal día, de todas formas creo que es importante que todos tengamos fundamentos de programación, y que hagamos nuestro trabajo lo mejor, lo más claro y lo mas optimizado posible.
__________________
Salu2
KAYETANO

Cómo hacer preguntas de manera inteligente
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
De JavaScript a PHP halizia PHP 10 10-10-2006 18:23:38
Enumerar los registros un listado o informe en Rave Bairon Kumon Impresión 0 01-06-2006 23:08:32
javascript kejos HTML, Javascript y otros 2 12-04-2006 12:53:35
Como enumerar filas de un DBGrid sin agregar otro campo Velia Varios 2 06-12-2005 08:58:57
Enumerar con Letras torito Varios 4 20-07-2005 14:57:23


La franja horaria es GMT +2. Ahora son las 23:07:26.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi