Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.

Mensajes - graphixx

Páginas: 1 ... 62 63 [64]
1261
Como cosa rara en la web hay nulo material de consulta, esta dificil de encontrar en español.
Aqui ire poniendo mi experiencia buscando ese ejemplo.

Lo que he encontrado hasta el momento:
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

Yo quiero validarlo en tiempo de ejecucion, osea del lado del cliente y que muestre un mensaje emergente al lado del campo si las claves no coinciden.

Esto que esta aca es lo que necesito:
You are not allowed to view links. Register or Login
Si no que mas mal explicado no podria estar.

1262
Resulta que cuando exporto una base de datos con UTF8 por defecto quedan mal las tildes y Ñ, encambio con iso-8859-1 si
Pero me parece no recuerdo bien que cuando las importo con UTF8 por defecto si coje las tildes, muy raro no ?

Esta es la configuracion del hosting:
You are not allowed to view links. Register or Login

Esta es la configuracion por defecto de la tabla:
You are not allowed to view links. Register or Login

Asi es como se ve por defecto la tabla, fijense que soporta tildes y Ñ:
You are not allowed to view links. Register or Login

Ahora si le doy exportar rapido:
You are not allowed to view links. Register or Login

Veran como ese tipo de exportacion rapida, no soporta ni tildes ni Ñ:
You are not allowed to view links. Register or Login

En cambio si le doy exportacion personalizada:
You are not allowed to view links. Register or Login

Vemos como esta con iso-8859-1 si que soporta las tildes y las Ñ:
You are not allowed to view links. Register or Login

Tengo la duda, hay algo que falta configurar en las opciones del Servidor?

Si creo las tablas asi, estan bien creadas para tildes y Ñ?
Código: (sql) You are not allowed to view links. Register or Login
CREATE TABLE usuarios (
  id INT(11) DEFAULT NULL,
  cedula VARCHAR(30) DEFAULT NULL,
  codigo VARCHAR(15) DEFAULT NULL,
  email VARCHAR(200) DEFAULT NULL,
)
ENGINE = INNODB
CHARACTER SET latin1
COLLATE latin1_swedish_ci;
El Character set: esta bien en latin1
El Collate: esta bien en latin1_swedish_ci

1263
Front-end / [CODIGO FUENTE] Formulario Responsive con HTML5 y CSS3
« en: Agosto 28, 2014, 07:00:04 pm »


You are not allowed to view links. Register or Login

Descarga código fuente:
You are not allowed to view links. Register or Login

1264
Hace poco vi en funcionamiento la jquery validation Engine, y me gusto lo que vi, lastima que en español los manuales son muy pobres:
You are not allowed to view links. Register or Login

En ingles:
You are not allowed to view links. Register or Login

Los ejemplos aqui:
You are not allowed to view links. Register or Login

Ire poniendo aca los mejores manuales que encuentre, colaboren ;)

No hay un manual completo en español, caramba...voy a ver si este finde que le coja el tiro a la libreria redacto un tute.

1265
Java / Videotutorial de JAVA 7
« en: Agosto 28, 2014, 02:02:47 am »
You are not allowed to view links. Register or Login

Descarga:
You are not allowed to view links. Register or Login

Contenido del curso:
Introducción a Java
Qué es Java 01:21
Acerca del curso 01:03
Creación de un primer programa
Descarga del JDK 02:15
Creación de una nueva variable de usuario 07:59
Primer programa en Java 04:07
Compilación y ejecución del primer programa 03:37
NetBeans
Descarga de NetBeans 02:04
Configuración de un nuevo proyecto 03:54
Creación y ejecución de un nuevo programa 04:06
Descarga de NetBeans en castellano 01:41
Ejecución de NetBeans en castellano 00:35
Estructura y variables
Estructura de una clase
Comentarios en el código 03:12
Estructura de una clase 03:19
Separación de instrucciones 00:45
Print y Println 03:33
Variables
Creación de un proyecto nuevo 03:07
Creación de una primera variable entera 03:51
Variables double 01:41
Variables de cadena 01:33
Variables booleanas 01:30
Simplificación 00:59
Errores comunes al declarar variables 02:27
Caracteres de escape 03:31
Variables de entrada Scanner
Importación de la librería Scanner 02:31
Pedir datos al usuario 03:19
Creación de un programa con Scanner 01:30
Aprende a tu ritmo
© copyright 2011 video2brain. 1 / 4
Todos los derechos reservados
video2brain y el logo de video2brain son marcas registradas de video2brain.
Operadores
Suma y encadenación 02:51
Resta y multiplicación 00:49
División y resto 02:48
Incremento 02:32
Matrices
Definición de matrices e índices 03:56
Declaración simplificada 01:54
Matrices multidimensionales 03:48
Estructuras de control
IF
Presentación de la estructura 03:53
IF anidados 05:12
Operadores lógicos 05:03
Switch
Operador Switch 03:30
For, While y Do While
Bucle For 04:57
Control For mejorado 03:33
Control While 02:30
Do While 02:18
Try Catch
Captura de errores 02:07
Funciones y objetos
Clases
Preparación de la interfaz de usuario 01:48
Creación de un proyecto con dos clases 02:45
Llamado de la clase secundaria 01:37
Múltiples métodos 01:50
Métodos con parámetros 04:01
Constructores
Método constructor 02:25
ToString 04:00
Set 04:03
Get 03:43
Sobrecarga de constructores 02:55
Público, privado y estático
Público y privado 02:33
Estático 06:02
Métodos estáticos 04:38
Herencia y poliformismo
Herencia 03:43
Polimorfismo 03:40
Clases
© copyright 2011 video2brain. 2 / 4
Todos los derechos reservados
video2brain y el logo de video2brain son marcas registradas de video2brain.
Math
Absolutos y redondeos 02:24
Mínimos, máximos, potencias y raíces 03:08
Random
Números aleatorios 01:49
Programa de múltiples tiradas 01:04
Ajuste del rango 01:08
Archivos
Comprobación de la existencia del archivo 03:33
Comprobación de escritura 01:52
Creación de archivos 03:26
Escritura de contenido en los archivos 03:22
JDBC
Conexión con mySQL
Importación 01:02
Descarga del conector 02:40
Conexión con el servidor 06:12
Extracción de datos de la base de datos 06:32
Swing
Introducción a Swing
Importación de la librería 02:34
Creación de un texto 01:05
Creación de una ventana 02:55
Impedir el cambio de tamaño 01:19
Nuevos textos 03:07
JBUTTON
Añadiendo un botón 03:20
JTEXTFIELD
Campo de texto 03:21
Programación del botón 01:34
Comprobación del programa 01:15
JTEXTAREA
Área de texto 03:22
Scroll en el área de texto 02:10
JCOMBOBOX
Elementos del combo 02:35
Programación del combo 01:29
Ventana principal 02:07
JMENUBAR
Importaciones y variables 02:59
© copyright 2011 video2brain. 3 / 4
Todos los derechos reservados
video2brain y el logo de video2brain son marcas registradas de video2brain.
Importaciones y variables 02:59
Elementos del menú 02:51
Comportamiento del menú 01:57
Ventana principal 01:01
Ejecución del código 01:03
JCHECKBOX
Introducción 03:42
Comportamientos y ventana 02:55
JRADIOBUTTON
Código de los botones de radio 03:39
Mostrando opciones en pantalla 02:44
Ejercicio del curso
Creación del proyecto
Creación del proyecto e importaciones 02:47
Variables de Swing 03:31
Resto de variables 00:59
Método constructor
Textos de presentación 04:00
Menú superior 02:59
Acciones y ventanas 02:21
Comportamientos
Menú Salir 02:07
Formulario nuevo 06:55
Alineación del formulario 01:38
Código del botón 06:30
Revisión del resultado 01:54
Ocultar anteriores en Buscar 02:20
Formulario de búsqueda 03:07
Trabajo con archivos 08:11
Comprobación del programa 01:43
Extracción de un archivo ejecutable
Exportación y ejecución del proyecto 03:37
Despedida
Despedida

1266
Zona Webmaster / [Tutorial] Como crear un google maps con marcadores
« en: Agosto 27, 2014, 05:14:18 pm »

Para obtener la posicion de longitud y latitud del sitio:
You are not allowed to view links. Register or Login

Crear el google maps:
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

Ejemplo:
Código: (javascript) You are not allowed to view links. Register or Login
<html>
<head>
<script type="text/javascript"
    src="http://maps.google.com/maps/api/js?sensor=false">
</script>
<script type="text/javascript">
  function initialize() {
    var position = new google.maps.LatLng(6.206162,-75.570661);
    var myOptions = {
      zoom: 16,
      center: position,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    var map = new google.maps.Map(
        document.getElementById("map_canvas"),
        myOptions);
 
    var marker = new google.maps.Marker({
        position: position,
        map: map,
        title:"This is the place."
    });
 
    var contentString = '<strong>Endocrino</strong> Centro de especialistas.';
    var infowindow = new google.maps.InfoWindow({
        content: contentString
    });
 
    google.maps.event.addListener(marker, 'click', function() {
      infowindow.open(map,marker);
    });
 
  }
 
</script>
</head>
<body onload="initialize()">
  <div id="map_canvas" style="width:425px; height:350px"></div>
</body>
</html>
<span>CALLE 7 N  39-197 PISO 11 CONSULTORIO 11-12</span>

1267
Base de Datos / Videotutorial de MYSQL
« en: Agosto 27, 2014, 11:09:03 am »
You are not allowed to view links. Register or Login

Descarga:
You are not allowed to view links. Register or Login

1268
Base de Datos / Coleccion 90 libros de sql en español
« en: Agosto 27, 2014, 10:23:59 am »


Les comparto esta coleccion de libros SQL que descargue con una cuenta profesional de SCRIBD.

DESCARGA:
You are not allowed to view links. Register or Login

LIBROS QUE CONTIENE EL ARCHIVO:
Manual_Oficial_MYSQL_refman-5.0-es.a4
Beginners Guide to SQL Server 2008
SQL for Dummies
Pro SQL Server 2012 Relational Database Design And Implementation V413HAV
Murach SQL Server 2012 For Developers V413HAV
Beginning SQL Server 2012 For Developers 3rd Edition V413HAV
ManualPracticoSQL
disenoBD
Diseño conceptual de bases de datos - battini, navathe ceri
4092937-Bases-de-datos
71946780-manual-pl-sql-espanol
80575032-Libro-de-SQL-y-Tl-SQL-Excelente
92637048-Manual-SQL-Server-2008-Intro-Duc-to-Rio
95592787-Manual-de-SQL
98696267-Manual-de-Referencia-SQL
112360679-Manual-Fundamentos-de-SQL-ByReparaciondepc-cl
113808476-Manual-de-Instalacion-SQL-Server-2008-Ejemplo
124716604-Libro-La-Cara-Oculta-de-Borland-C-Builder-con-SQL-Espanol
130276052-Fundamentos-de-SQL-3a-Ed-Oppel-Andy-Author-TextMark
Etc...

1269
Error on rename of'.\alertamedica\#sql-446c_3e' to '.\alertamedica\usuarios' (errno: 150)
You are not allowed to view links. Register or Login

Codigo SQL de la BD:
Tabla principal:
Código: (sql) You are not allowed to view links. Register or Login
CREATE TABLE alertamedica.usuarios (
  id INT(11) DEFAULT NULL,
  cedula VARCHAR(30) DEFAULT NULL,
  codigo VARCHAR(30) DEFAULT NULL,
  email VARCHAR(200) DEFAULT NULL,
  CONSTRAINT FK_usuarios_alergias_cedula FOREIGN KEY (cedula)
    REFERENCES alertamedica.alergias(cedula) ON DELETE NO ACTION ON UPDATE NO ACTION,
  CONSTRAINT FK_usuarios_avisar_cedula FOREIGN KEY (cedula)
    REFERENCES alertamedica.avisar(cedula) ON DELETE NO ACTION ON UPDATE NO ACTION,
  CONSTRAINT FK_usuarios_datos_personales_cedula FOREIGN KEY (cedula)
    REFERENCES alertamedica.datos_personales(cedula) ON DELETE NO ACTION ON UPDATE NO ACTION
)
ENGINE = INNODB
CHARACTER SET latin1
COLLATE latin1_swedish_ci;

Tabla secundaria correctamente relacionada:
Código: (sql) You are not allowed to view links. Register or Login
CREATE TABLE alertamedica.alergias (
  id INT(11) DEFAULT NULL,
  cedula VARCHAR(30) DEFAULT NULL,
  descripcion VARCHAR(1000) DEFAULT NULL,
  UNIQUE INDEX UK_alergias_cedula (cedula)
)
ENGINE = INNODB
CHARACTER SET latin1
COLLATE latin1_swedish_ci;

Tabla que quiero relacionar por campo cedula, igual que alergias a usuarios
Código: (sql) You are not allowed to view links. Register or Login
CREATE TABLE alertamedica.condiciones_medicas (
  id INT(11) DEFAULT NULL,
  cedula VARCHAR(30) DEFAULT NULL,
  enfermedades TEXT DEFAULT NULL,
  analisis_azucar_sang CHAR(5) DEFAULT NULL,
  analisis_colesterol_sangre TEXT DEFAULT NULL,
  vacunas TEXT DEFAULT NULL,
  alergias TEXT DEFAULT NULL,
  prob_circ_sanguinea TEXT DEFAULT NULL,
  UNIQUE INDEX UK_condiciones_medicas_cedula (cedula)
)
ENGINE = INNODB
CHARACTER SET latin1
COLLATE latin1_swedish_ci;

Alguna idea de por que sale ese error, me dejo relacionar 3 tablas secundarias y empezo a sacar ese error 150.



Si borro todo y empiezo desde 0 pero a punta de consola, haciendo:
Código: (sql) You are not allowed to view links. Register or Login
CREATE TABLE usuarios (
  id INT(11) DEFAULT NULL,
  cedula VARCHAR(30) DEFAULT NULL,
  codigo VARCHAR(30) DEFAULT NULL,
  email VARCHAR(200) DEFAULT NULL,
  CONSTRAINT FK_usuarios_alergias_cedula FOREIGN KEY (cedula)
    REFERENCES alertamedica_pruebas.alergias(cedula) ON DELETE NO ACTION ON UPDATE NO ACTION,
  CONSTRAINT FK_usuarios_avisar_cedula FOREIGN KEY (cedula)
    REFERENCES alertamedica_pruebas.avisar(cedula) ON DELETE NO ACTION ON UPDATE NO ACTION,
  CONSTRAINT FK_usuarios_datos_personales_cedula FOREIGN KEY (cedula)
    REFERENCES alertamedica_pruebas.datos_personales(cedula) ON DELETE NO ACTION ON UPDATE NO ACTION,
  CONSTRAINT FK_usuarios_condiciones_medicas_cedula FOREIGN KEY (cedula)
    REFERENCES alertamedica_pruebas.condiciones_medicas(cedula) ON DELETE NO ACTION ON UPDATE NO ACTION
)
ENGINE = INNODB
CHARACTER SET latin1
COLLATE latin1_swedish_ci;
El sistema me recibe la relacion, pero por la interfaz grafica del dbforge no  :-(

Y cuando cargo las bases de datos al DBForge vaya que toma la relacion:
You are not allowed to view links. Register or Login
No entiendo por que esta saliendo ese error en el IDE, figuro hacerlo a la vieja escuela, y modelar toda mi DB por consola, increible.

PD: Si alguien conoce algun otro IDE para modelar bases de datos que no sea workbench o dbforge, se le agradece.

1270
Android / Re:Programacion Android en Español
« en: Agosto 26, 2014, 11:15:20 am »
Yo ya done los 2 euros que pide el blogger para conseguir la version en PDF, apenas la tenga la subo por aca.

1271
Hasta el momento el mejor que he encontrado es este:
You are not allowed to view links. Register or Login
Pero no me sirvio por que el DIV no se ajusta al contenido, y toca ajustarlo a mano desde el CSS, yo necesito un acordeon que se ajuste automaticamente al contenido que se va mostrar, seguire buscando y posteare aca la mejor opcion.

Encontre uno que se adapta automaticamente al tamaño del contenido:
You are not allowed to view links. Register or Login
Lo malo es el diseño que esta demasiado simple.

Y el que finalmente sirvio fue este:
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
Como en la web oficial esta incompleto, yo lo arme bien y lo monte a:
You are not allowed to view links. Register or Login

Ese lo encontre en esta lista:
You are not allowed to view links. Register or Login

1272
Hacking / Re:Libro Seguridad Informática
« en: Agosto 25, 2014, 03:15:49 pm »
You are not allowed to view links. Register or Login
Muy buen aporte hermano.

Aquí dejo el link por si alguien prefiere descargarlo.

You are not allowed to view links. Register or Login

You are not allowed to view links. Register or Login

Contraseña:



Compa el libro que pusiste en descarga tiene una portada diferente al que posteo el primer compañero:
You are not allowed to view links. Register or Login

1273
Compañeros, conocen un script para hacer esto:
You are not allowed to view links. Register or Login

Todo lo que encuentro con google son menus y yo necesito es secciones de la pagina web.
You are not allowed to view links. Register or Login

Ya encontre mejores ejemplos, al parecer el efecto se llama acordeon:
You are not allowed to view links. Register or Login

Hasta el momento el mejor que he encontrado es este:
You are not allowed to view links. Register or Login

1274


PHP INTRODUCCION

Video curso de Master en PHP 3 Niveles - Introduccion Semana 1 (40 videos)
You are not allowed to view links. Register or Login

Video curso de Master en PHP 3 Niveles - Introduccion Semana 2 (38 videos)
You are not allowed to view links. Register or Login

Video curso de Master en PHP 3 Niveles - Introduccion Semana 3 (31 videos)
You are not allowed to view links. Register or Login

Video curso de Master en PHP 3 Niveles - Introduccion Semana 4 (46 videos)
You are not allowed to view links. Register or Login

PHP INTERMEDIO

Video curso de Master en PHP 3 Niveles - Intermedio Semana 1 (32 VIDEOS)
You are not allowed to view links. Register or Login

Video curso de Master en PHP 3 Niveles - Intermedio Semana 2 (26 VIDEOS)
You are not allowed to view links. Register or Login

Video curso de Master en PHP 3 Niveles - Intermedio Semana 3 (31 VIDEOS)
You are not allowed to view links. Register or Login

Video curso de Master en PHP 3 Niveles - Intermedio Semana 4 (31 VIDEOS)
You are not allowed to view links. Register or Login

PHP AVANZADO

Video curso de Master en PHP 3 Niveles - Avanzado Semana 1 (22 VIDEOS)
You are not allowed to view links. Register or Login

Video curso de Master en PHP 3 Niveles - Avanzado Semana 2 (38 VIDEOS)
You are not allowed to view links. Register or Login

Video curso de Master en PHP 3 Niveles - Avanzado Semana 3 (32 VIDEOS)
You are not allowed to view links. Register or Login

Video curso de Master en PHP 3 Niveles - Avanzado Semana 4 (50 VIDEOS)
You are not allowed to view links. Register or Login

MYSQL
Video curso de Master en PHP - 4 semanas de MYSQL (89 Videos).
You are not allowed to view links. Register or Login

REGALOS:
Video curso de Master en PHP - PDF con PHP (24 videos)
You are not allowed to view links. Register or Login

Video curso de Master en PHP - PHP a la carta Volumen 1 (74 Videos)
You are not allowed to view links. Register or Login

Video curso de Master en PHP - PHP a la carta Volumen 2 (60 Videos)
You are not allowed to view links. Register or Login


Si alguien encuentra mirrows de las descargas pongalos aca, nadie se va a enojar, por si depronto los borran de mega.
En total son 3 niveles: Introduccion - Intermedio - Avanzado Y cada nivel tiene 4 semanas.
Para un total de 417 videos de PHP.

1275

Buenas compañeros os traigo un sistema de agencias inmobiliarias en PHP que yo mismo desarolle, espero que lo puedan aplicar en su Pais/Ciudad y le saquen mucho dinero, yo ya libre 1500 dolares vendiendolo en mi ciudad a 3 agencias de inmuebles/arrendamientos.

La idea es seguir actualizando el sistema y sacar versiones 2.0, 3.0 y asi sucesivamente, manteniendo siempre el sistema en modalidad open source.

Descarga MegA: _inmobiliaria.rar (4.4MB)
You are not allowed to view links. Register or Login

Descarga 4Shared: _inmobiliaria.rar (4.4MB)
You are not allowed to view links. Register or Login

Contenido del paquete:

El sistema demo esta montado aca: You are not allowed to view links. Register or Login
Dentro del paquete comprimido esta el manual de como usar el sistema demo.

Leer el mensaje de abajo.

1276
He buscado mucho por el foro y no encuentro un buen ejemplo de un script que deje subir varias imagenes al tiempo,
y que relaciones las rutas de las imagenes en una BD MYSQL, algo mas o menos asi:

Una version buena de multi uploader de imagenes:
You are not allowed to view links. Register or Login

Una version mejorada con HTML5:
You are not allowed to view links. Register or Login

1277
Back-end / [Sencillo ejemplo] Paginar resultados con PHP y MySQL
« en: Enero 07, 2013, 05:41:19 pm »
Paginar para quienes apenas comienzan en el mundo de la programacion no es nada facil, por eso me motive a compartir este ejemplo que encontre el cual a mi parecer es el mas sencillo y eficaz de entre todos los de la web.



Muestra de técnica de paginación, para mostrar en distintas páginas los resultados de una consulta a la base de datos. El ejemplo está desarrollado en PHP y MySQL.

En muchas ocasiones, cuando se presentan en una página web registros de una base de datos, se deberían mostrar demasiados registros como para colocarlos todos en una única página. En estas ocasiones se suele paginar los resultados, quizás cientos, en distintas páginas con conjuntos de registros mucho menos numerosos. Por ejemplo, podríamos presentar los resultados en páginas de 10 elementos o 20, dependiendo de nuestras intenciones y el tipo de datos que se estén presentando. Este efecto lo habremos podido observar repetidas veces en los buscadores.

Podríamos desarrollar distintos scripts para paginar resultados en PHP. En este artículo vamos a explicar una posibilidad basada en la utilización de una base de datos MySQL y sentencias SQL a las que indicaremos el conjunto de registros que queremos mostrar en cada página. Los enunciados SELECT del lenguaje SQL, en la base de datos MySQL y otras muchas, tienen una cláusula llamada LIMIT, con la que podemos indicar los registros a mostrar, por ejemplo, 10 registros empezando por el registro 180.

select * from pais limit 180,10

Como vemos LIMIT tiene dos argumentos, el primero es el registro por el que empezar los resultados y el segundo el número de resultados a recoger en el conjunto de registros resultante.

Así pues, en este ejercicio de paginación la cláusula LIMIT será la clave para mostrar los registros en grupos del tamaño deseado.

Código de paginación

Hay varias partes del código que servirán específicamente para implementar la paginación. Lo primero es saber qué página se desea mostrar. En principio se mostraría la primera página de resultados, pero si un visitante selecciona con los enlaces de abajo otra página distinta de la primera, habría que mostrarla también. El índice de la página a mostrar, si es que no es la primera vez que se accede, se recibe por parámetro en la URL.

Código: (php) You are not allowed to view links. Register or Login
//Limito la busqueda
$TAMANO_PAGINA = 10;

//examino la página a mostrar y el inicio del registro a mostrar
$pagina = $_GET["pagina"];
if (!$pagina) {
    $inicio = 0;
    $pagina=1;
}
else {
    $inicio = ($pagina - 1) * $TAMANO_PAGINA;
}

Estoy definiendo el tamaño de la página. Luego procuro recibir la página por parámetro en la URL. Si no se recibió nada, se entiende que la página a mostrar es la primera, luego la variable $inicio, que guarda el primer registro a mostrar (para indicarlo en la sentencia SQL en el apartado LIMIT), será cero. Si habíamos recibido algo como página, calculo el inicio con una simple multiplicación de la página a mostrar por el tamaño_ de página definido antes.

Es habitual en estas páginas de resultados informar un poco sobre la cantidad de registros encontrados y los datos de la página que estamos viendo. Estos datos se pueden obtener con unas sencillas operaciones.

Código: (php) You are not allowed to view links. Register or Login
//miro a ver el número total de campos que hay en la tabla con esa búsqueda
$ssql = "select * from pais " . $criterio;
$rs = mysql_query($ssql,$conn);
$num_total_registros = mysql_num_rows($rs);
//calculo el total de páginas
$total_paginas = ceil($num_total_registros / $TAMANO_PAGINA);

//pongo el número de registros total, el tamaño de página y la página que se muestra
echo "Número de registros encontrados: " . $num_total_registros . "<br>";
echo "Se muestran páginas de " . $TAMANO_PAGINA . " registros cada una<br>";
echo "Mostrando la página " . $pagina . " de " . $total_paginas . "<p>";

Nota: Este código podría mostrar una información como esta:

Número de registros encontrados: 256
Se muestran páginas de 10 registros cada una
Mostrando la página 19 de 26

Lo primero es hacer una búsqueda en la base de datos por el criterio que se esté utilizando para saber cuantos registros se obtienen en total sin la paginación (luego veremos de donde sale la variable $criterio).

A continuación puedo calcular el número total de páginas de resultados que genera la búsqueda. La función ceil() redondea números en coma flotante o reales hacia arriba, así pues, devuelve el entero por arriba más próximo.

Las siguientes líneas, donde se utiliza echo, tienen como objeto mostrar los datos en la página.

Ahora veremos el código que realiza la búsqueda en la base de datos, extrayendo y mostrando solamente aquellos registros que corresponden con la página a mostrar.

Código: (php) You are not allowed to view links. Register or Login
//construyo la sentencia SQL
$ssql = "select * from pais " . $criterio . " limit " . $inicio . "," . $TAMANO_PAGINA;
$rs = mysql_query($ssql);
while ($fila = mysql_fetch_object($rs)){
    echo $fila->nombre_pais . "<br>";
}
//cerramos el conjunto de resultado y la conexión con la base de datos
mysql_free_result($rs);
mysql_close($conn);

Se construye la sentencia SQL para extraer los datos con el criterio, que veremos luego de donde sale, pero que en principio lo podemos tomar como una cadena vacía. También se utiliza LIMIT, como ya se indicó: poniendo los valores definidos antes como inicio y tamaño de página.

El resto es un recorrido típico por un conjunto de registros, en este caso los países de nuestra base de datos, donde se van mostrando todos los elementos desde el principio hasta el final. Finalizando este recorrido no vamos a realizar ninguna acción más con la base de datos, así que podemos cerrar el resultado de la búsqueda y la conexión con la base de datos.

Ahora podemos ver el código que muestra en la parte de abajo los numeritos de todas las páginas que genera la búsqueda, para que el visitante pueda seleccionar una página y moverse entre los resultados.

[code=php]
//muestro los distintos índices de las páginas, si es que hay varias páginas
if ($total_paginas > 1){
    for ($i=1;$i<=$total_paginas;$i++){
       if ($pagina == $i)
          //si muestro el índice de la página actual, no coloco enlace
          echo $pagina . " ";
       else
          //si el índice no corresponde con la página mostrada actualmente, coloco el enlace para ir a esa página
          echo "<a href='index.php?pagina=" . $i . "&criterio=" . $txt_criterio . "'>" . $i . "</a> ";
    }
}

La primera línea comprueba si realmente hay varias páginas de resultados, pues, si no es así no tendría que mostrar nada. Si efectivamente hay varias páginas para mostrar se recorren todas y para cada una se muestra el índice.

El índice a mostrar puede que sea el de la página que se está visualizando en ese momento y en ese caso simplemente podríamos el numerito, pero no el enlace para ir a ese documento, pues es en el que estamos. En caso de que sea una página de resultados distinta, se muestra un enlace para moverse a dicha página, donde se incluye pasando por parámetro tanto el índice de la página que se desea ver como el criterio de la búsqueda que se estaba realizando.

Hasta aquí el código imprescindible para la paginación. Aunque aun vamos a ver alguna cosa más.

Código de búsqueda

Para hacer un taller un poco más completo y poder ofrecer una página de muestra con funcionalidades de búsqueda, hemos creado la posibilidad de añadir un criterio para encontrar tan sólo elementos relacionados con él. Después de todo, los códigos de paginación suelen utilizarse en situaciones en las que se están realizando búsquedas en la base de datos.

El criterio se podrá definir en una caja de texto y habrá un botón de buscar que llame a la misma página pero pasando el texto con las palabras a buscar en la base de datos.

Código: (php) You are not allowed to view links. Register or Login
<form action="index.php" method="get">
Criterio de búsqueda:
<input type="text" name="criterio" size="22" maxlength="150">
<input type="submit" value="Buscar">
</form>

Nos fijamos que el método por el que pasamos este formulario es GET. Esto es debio a que no queremos liar el código y como estamos pasando ya por GET el criterio en otros sitios, utilizamos el mismo método.

El formulario lo colocaremos debajo, pero habrá también un trozo de código que recogerá la información y la tratará para adaptarla a una sentencia de búsqueda en la base de datos. Este código lo colocaremos en la parte de arriba de la página.

Código: (php) You are not allowed to view links. Register or Login
//inicializo el criterio y recibo cualquier cadena que se desee buscar
$criterio = "";
if ($_GET["criterio"]!=""){
    $txt_criterio = $_GET["criterio"];
    $criterio = " where nombre_pais like '%" . $txt_criterio . "%'";
}

Se inicializa el criterio a una cadena vacía y luego se comprueba si se ha recibido algo por método GET en el campo criterio. Si era así se puede recoger el texto recibido y construir el criterio, que no es más que una cláusula WHERE donde se buscan elementos, en este caso países, cuyo nombre contenga por algún sitio las letras que se han recibido como texto del criterio.

Base de datos

Como se dijo, se está utilizando una base de datos MySQL. En el Manual de Programación en PHP de DesarrolloWeb.com se muestra la manera de trabajar con bases de datos.

En nuestro ejemplo nos faltan por indicar las sentencias para conectar con MySQL y seleccionar la base de datos a utilizar. Serían unas parecidas a estas.

Código: (php) You are not allowed to view links. Register or Login
//conecto con la base de datos
$conn = mysql_connect("servidor","usuario","password");
mysql_select_db("nombre_bbdd",$conn);

Conclusión

Para acabar, ponemos a vuestra disposición la descarga del código de este ejercicio, donde se puede ver todo el ejemplo completo y comentado. Esperamos que podáis aplicarlo a vuestros desarrollos.

Fuente:
You are not allowed to view links. Register or Login

1278
El proyecto va asi:
You are not allowed to view links. Register or Login

Puedes descargar todos los archivos del proyecto aca:
You are not allowed to view links. Register or Login   

EL paquete incluye:




La base de datos con los rangos ip de todo el mundo la saque de:
You are not allowed to view links. Register or Login




Descargar la base de datos de ip mundiales de:
You are not allowed to view links. Register or Login

Aqui tambien estan compiladas como usar todas las bd gratis que hay en un solo recurso:
You are not allowed to view links. Register or Login

las banderas animadas estan en:
You are not allowed to view links. Register or Login

Por implementar:
La idea es implementar una tabla de estadisticas como esta:
You are not allowed to view links. Register or Login

Para implementarle tambien un globo 3d tipo revolver maps, gracias a que la base de datos entrega las coordenadas cartesianas, asi:
You are not allowed to view links. Register or Login

El codigo hasta el momento va:
Código: (php) You are not allowed to view links. Register or Login
<?php
include "conexiondb.php";

$ip $_SERVER['REMOTE_ADDR']; $separar explode('.',$ip);
print(
"IP: $ip<br>");
echo 
"1er rango: ".$separar[0]."<br>";
echo 
"2do rango: ".$separar[1]."<br>";
echo 
"3do rango: ".$separar[2]."<br>";
echo 
"4to rango: ".$separar[3]."<br>";

list(
$a$b$c$d) = $separar;

$ip2 =  (($a*256+$b)*256+$c)*256 $d;
echo 
"ip cifrada:".$ip2."<br>";

$connect=Conectarse(); 
$ssql "SELECT * FROM `ip_group_city` where `ip_start` <= '$ip2' order by ip_start desc limit 1";
$consulta mysql_query($ssql,$connect); 
mysql_close($connect);

if( 
mysql_num_rows($consulta) == 1) {
$array mysql_fetch_array($consulta);
$_country_code $array["country_code"];
$_country_name $array["country_name"];
$_region_code $array["region_code"];
$_region_name $array["region_name"];
$_city $array["city"];
$_latitude $array["latitude"];
$_longitude $array["longitude"];

echo "Codigo del Pais:".$_country_code."<br>";
echo "Nombre del Pais:".$_country_name."<br>";
echo "Codigo de region:".$_region_code."<br>";
echo "Nombre de la Region:".$_region_name."<br>";
echo "ciudad:".$_city."<br>";
echo "latitud:".$_latitude."<br>";
echo "longitud:".$_longitude."<br>";
$lstring strtolower($_country_code);
echo "<img src=banderas_iso3166/".$lstring.".GIF border=0><br>";

mysql_free_result($consulta);
//header( "Location: bienvenido.php" );
} else {
mysql_free_result($consulta);
//header( "Location: portada.php" );


$nav=$_SERVER['HTTP_USER_AGENT']; // guardo en la variable el Navegador
echo "navegador: "."$nav"."<br>"// muestro la variable con el Navegador
?>

<?php
//preg_match().
if ((preg_match('/'."Nav".'/'$_SERVER["HTTP_USER_AGENT"])) || (preg_match('/'."Gold".'/'$_SERVER["HTTP_USER_AGENT"])) || (preg_match('/'."X11".'/'$_SERVER["HTTP_USER_AGENT"])) || (preg_match('/'."Mozilla".'/'$_SERVER["HTTP_USER_AGENT"])) || (preg_match('/'."Netscape".'/'$_SERVER["HTTP_USER_AGENT"])) AND (!preg_match('/'."MSIE".'/'$_SERVER["HTTP_USER_AGENT"])) AND (!preg_match('/'."Chrome".'/'$_SERVER["HTTP_USER_AGENT"])) AND (!preg_match('/'."Konqueror".'/'$_SERVER["HTTP_USER_AGENT"])) AND (!preg_match('/'."Firefox".'/'$_SERVER["HTTP_USER_AGENT"]))) $browser "Netscape";
elseif(
preg_match('/'."Firefox".'/'$_SERVER["HTTP_USER_AGENT"])) $browser "FireFox";
elseif(
preg_match('/'."MSIE".'/'$_SERVER["HTTP_USER_AGENT"])) $browser "MSIE";
elseif(
preg_match('/'."Chrome".'/'$_SERVER["HTTP_USER_AGENT"])) $browser "Chrome";
elseif(
preg_match('/'."Lynx".'/'$_SERVER["HTTP_USER_AGENT"])) $browser "Lynx";
elseif(
preg_match('/'."Opera".'/'$_SERVER["HTTP_USER_AGENT"])) $browser "Opera";
elseif(
preg_match('/'."WebTV".'/'$_SERVER["HTTP_USER_AGENT"])) $browser "WebTV";
elseif(
preg_match('/'."Konqueror".'/'$_SERVER["HTTP_USER_AGENT"])) $browser "Konqueror";
elseif((
preg_match('/'."bot".'/'$_SERVER["HTTP_USER_AGENT"])) || (preg_match('/'."Google".'/'$_SERVER["HTTP_USER_AGENT"])) || (preg_match('/'."Slurp".'/'$_SERVER["HTTP_USER_AGENT"])) || (preg_match('/'."Scooter".'/'$_SERVER["HTTP_USER_AGENT"])) || (preg_match('/'."Spider".'/'$_SERVER["HTTP_USER_AGENT"])) || (preg_match('/'."Infoseek".'/'$_SERVER["HTTP_USER_AGENT"]))) $browser "Bot";
else 
$browser "Other";
echo 
"EL navegador es: ".$browser;
?>

<center>
<?php
$url
=$_SERVER['HTTP_REFERER'];
echo 
'<strong>'."viene de(ruta completa): ".'</strong>'.$_SERVER['HTTP_REFERER'].'<br />';

preg_match'@^(?:http://)?([^/]+)@i'$_SERVER['HTTP_REFERER'], $matches );
$host $matches[1]; 

echo 
'<strong>'."viene de(dominio): ".'</strong>'.$host;
?>

</center>
<center>
<?php
function get_search($referer)
{
preg_match("/q=(.*?)&/"$referer$a);
$b urldecode(str_replace("+"," "$a[1]));
return $b;
}
 
 
if(
stristr($_SERVER['HTTP_REFERER'],'google')){
print '<strong>la busqueda de:</strong> '.get_search($_SERVER['HTTP_REFERER']);
print ' <strong>te ha traido hasta este sitio.</strong>';
}
?>

</center>
<?PHP
// example of basic use

// set directory path to where the ip2countryphp.sql.php file is
// this MUST be a relative path and MUST include the end slash /
define("BASEDIR","./");

// set width of flag, height is proportional to width.
$flag_width = "30";

// include the class file
include(BASEDIR."ip2countryphp.sql.php");

/*
Below is a heredoc example of how you might display the users info,
of course you can include only the variables you want to, or you might
want to store the ip address, 2 letter country code(for flag image) and
country name in a database for using on a specific page.
*/
$gifflag = "banderas/".$country_name.".GIF";
print <<<TEST
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Visit Site Counter</title>
</head>
<body style="font:normal 9pt tahoma,arial,verdana">
<table style="margin-top:20px;border:#CCCCCC 1px solid" width="320" cellspacing="2" cellpadding="3" border="0" align="center">
  <tr><td bgcolor="#CCCCCC" colspan="2">&nbsp;<font color="white">Visit Site Counter</font></td></tr>
  <tr><td width="200" height="26">Direccion IP:</td><td>$ip_address</td></tr>
  <tr><td>Nombre del Pais:</td><td>$country_name</td></tr>
  <tr><td>Codigo de 2 letras:</td><td>$two_letter_code</td></tr>
  <tr><td>Codigo de 3 letras:</td><td>$three_letter_code</td></tr>
  <tr><td>Bandera del Pais:</td><td><img src="$flag_img" width="$flag_width" border="0"></td></tr>
  <tr><td>Bandera del Pais:</td><td><img src="$gifflag" border="0"></td></tr>
  <tr><td bgcolor="#CCCCCC" colspan="2"><font color="white" size="1">www.eventosysistemas.com</font></td></tr>
</table>
</body>
</html>
TEST;
exit;
?>

Añadido al proyecto la libreria para dibujar en un mapa global las visitas:
GIS mapping in PHP: Part 1
Plotting a longitude / latitude coordinate on a raster map of the world using PHP and GD.
You are not allowed to view links. Register or Login
GIS mapping in PHP: Part 2
Loading vector data in from a Mapinfo MIF file and displaying it in an image using PHP and GD.
You are not allowed to view links. Register or Login
GIS mapping in PHP: Part 3
Retrieving user selected longitude and latitude coordinates from a raster map of the world.
You are not allowed to view links. Register or Login
GIS mapping in PHP: Part 4
Stepping back in time, we show how to plot more than one point on a raster map of the world, loading data from a simple text file.
You are not allowed to view links. Register or Login




proyecto logrado gracias a:
You are not allowed to view links. Register or Login

Para tornar el mapa 3d usar:
You are not allowed to view links. Register or Login


Pido ayuda con esto:

COdigo del referer:
Código: You are not allowed to view links. Register or Login
<?php
$url
=$_SERVER['HTTP_REFERER'];
echo 
'<strong>'."viene de(ruta completa): ".'</strong>'.$_SERVER['HTTP_REFERER'].'<br />';

preg_match'@^(?:http://)?([^/]+)@i'$_SERVER['HTTP_REFERER'], $matches );
$host $matches[1]; 

echo 
'<strong>'."viene de(dominio): ".'</strong>'.$host;
?>
Alguien sabe como optener hacia que pagina parte el usuario?, el contrario de HTTP_REFERER....?

Páginas: 1 ... 62 63 [64]