06Abr 2010 34 Comments */?>

Acentos y caracteres especiales con Ajax y JQuery II parte

Categorías: JQuery - Tags: ,

Hace un tiempo escribí un post acerca de los acentos y caracteres especiales con AJAX y JQuery que explicaba como salvar este problema en los formularios enviados por AJAX.

El problema es que esta solución no abarca cuando con JQuery hacemos un .load() de información con AJAX y para variar nos salen cuadraditos o rombos negros con un signo de interrogación adentro. con caracteres como á, é, í, ó, ú ,Á, É, Í, Ó, Ú, ñ, Ñ ,º ,ö, Ö, ü, Ü, etc

Para salvar esto tan solo tenemos que configurar JQuery.ajax() de la siguiente forma:

1
2
3
4
5
6
 
$.ajaxSetup({
'beforeSend' : function(xhr) {
xhr.overrideMimeType('text/html; charset=iso-8859-1');
}
});

Con esa opción forzamos que el encabezado de respuesta sea iso-8859-1 y no UTF-8.

UPDATE:

Este método solo funciona con FF ya que IE no soporta xhr.overrideMimeType como bien comento Ignacio en los comentarios. Una forma de solucionar esto es hacer lo siguiente:
Modificar el codigo inicial

1
2
3
4
5
6
7
8
9
10
$.ajaxSetup({
'beforeSend' : function(xhr) {
try{
xhr.overrideMimeType('text/html; charset=iso-8859-1');
}
catch(e){
 
 
}
}});

Y luego hay que agregar en nuestro archivo PHP

1
<?php header( 'Content-type: text/html; charset=iso-8859-1' );?>

Mandando el encabezado con PHP lograremos que funcione en IE. Un saludo , hagan pruebas y comenten que yo no tuve mucho tiempo.

UPDATE II:
Ignacio comenta que para ASP habria que usar el metodo :
Response.ContentType=”text/html; charset=iso-8859-1?

Un saludo espero que les haya servido de ayuda.

06Mar 2010 2 Comments */?>

Buscador por Relevancia con mysql para tu web

Categorías: MySQL, Recursos - Tags:

Ando perdido últimamente, y practicamente no actualizo el blog. Eso es debido a que estoy inmerso en un Proyecto grande, con lanzamiento en varios paises al mismo tiempo y ocupo TODO mi tiempo libre y el que no tengo también en el. Pronto (espero) le voy a decir de que se trata.

Volviendo al tema original del post, les voy a enseñar como hacer un buscador por relevancia con mysql.
La forma tradicional que usamos al buscar con mysql es con el comando LIKE

SELECT * FROM anuncios WHERE titulo LIKE '%perro%' OR descripcion LIKE '%perro%'

Esto nos devuelve todos los anuncios que en el titulo o en la descripcion aparezca la palabra ‘perro’ o ‘caraperro’ o cualquier otra que contenga ‘perro’.
Estos resultado podriamos ordenarlos por ejemplo por la fecha de publicación, por el titulo, etc.

Pero que pasa cuando queremos ordenarlo por RELEVANCIA, osea queremos que el anuncio que hable más de perros aparesca primero y asi consecutivamente. Aqui es donde entra en juego la funcion de mysql FULL-TEXT .

Lo primero que tenemos que hacer antes de hacer un query en convertir nuestros campos en full-text .Para ello simplemente hacemos:

ALTER TABLE anuncios ADD FULLTEXT(titulo, descripcion);

Una ves echo esto , a la hora de hacer la QUERY vamos a usar las funciona de fulltext search MATCH y AGAINST de la siguiente manera:

SELECT * FROM anuncios WHERE MATCH(titulo, descripcion) AGAINST ('perro')

Esta línea utiliza la función MATCH … AGAINST … que encuentra el texto buscado, usando consultas similares a como lo hacen los motores de búsqueda. Además, se calcula internamente una puntuación en función de como aparecen y la cantidad de términos buscados dentro de nuestro titulo y descripcion.

¿Como perfeccionar la busqueda?

SELECT * , MATCH (titulo,descripcion) AGAINST ('perro') AS puntuacion FROM anuncios WHERE MATCH (titulo, descripcion) AGAINST ('perro') ORDER BY puntuacion DESC LIMIT 50

Esta consulta devolverá las primeras 50 consultas ordenadas por la puntuación. Jugando un poco con CSS pueden lograr mostrar estrellitas o barras de progreso segun la puntuación, pero ese ya es otro tema aparte.

Como todo esto tiene alguna limitación que otra. Por ejemplo no toma en cuenta palabras con menos de 4 caracteres.

De todas formas es la forma mas eficiente y rapida de buscar , sobre todo con múltiples palabras.

Un saludo y espero que les haya servido

26Feb 2010 2 Comments */?>

Posiblemente el mejor hosting de todos

Categorías: Noticias, Recursos - Tags:

La busqueda del mejor y más barato hosting del mundo es algo que nunca termina. Yo personalmente en cuanto a prestaciones, soporte y precio por ahora me quedo con HOSTGATOR, el hosting con mayor clientes en el mundo.

De los Cpanel que trae es el más completo que me he encontrado y admite todas y cada una de las últimas configuraciones como cron jobs, mod_rewrite,curl_exec y todas esas cosas que no aparecen en la letra pequeña a la hora de contratar un hosting.

Además por un precio muy economico se pueden agregar dominios ilimitados y despuer ir agrandando según las necesidades que vayan apareciendo.
A partir de ahora haciendo click en cualquiera de los enlaces que aperecen a continuación si introduces el cupon de descuento al realizar la compra te otorgará el descuento.

»

Y ahora lo mejor de todo, cupones de descuento para que te salga practicamente gratis el primer mes.
Viejos pero sirven casi todos. Son de descuento de 9,94 dolares
hgc25 $9.94
cnet $9.94
GAMERZ $9.94
top10 $9.94
sa101 $9.94
freetrial $9.94
tophost $9.94

Otros si pagamos mucho de golpe ( Los cupones son GREEN o THANKYOU)
Hatchling Coupon – GREEN (saves $35.64 when paid for 3 years)
Baby Coupon – GREEN (saves $57.24 when paid for 3 years)
Business Coupon – GREEN (saves $93.24 when paid for 3 years)
Aluminum Coupon – GREEN (saves $35.88 when paid for 1 year)
Copper Coupon – GREEN (saves $83.88 when paid for 1 year)
Silver Coupon – GREEN (saves $119.88 when paid for 1 year)
Gold Coupon – GREEN (saves $179.88 when paid for 1 year)
Diamond Coupon – GREEN (saves $239.88 when paid for 1 year)
VPS Level 1 Coupon – THANKYOU (saves $9.98 when paid for 1 month)
VPS Level 2 Coupon – THANKYOU (saves $14.98 when paid for 1 month)
VPS Level 3 Coupon – THANKYOU (saves $19.97 when paid for 1 month)
VPS Level 4 Coupon – THANKYOU (saves $34.97 when paid for 1 month)
VPS Level 5 Coupon – THANKYOU (saves $47.47 when paid for 1 month)
VPS Level 6 Coupon – THANKYOU (saves $59.97 when paid for 1 month)
VPS Level 7 Coupon – THANKYOU (saves $74.98 when paid for 1 month)
VPS Level 8 Coupon – THANKYOU (saves $89.98 when paid for 1 month)
VPS Level 9 Coupon – THANKYOU (saves $104.98 when paid for 1 month)
Linux Basic Dedicated Server Coupon – GREEN (saves $34.80 when paid for 1 month)
Windows Basic Dedicated Server Coupon – GREEN (saves $34.80 when paid for 1 month)
Linux Standard Dedicated Server Coupon – GREEN (saves $43.80 when paid for 1 month)
Windows Standard Dedicated Server Coupon – GREEN (saves $43.80 when paid for 1 month)
Linux Elite Dedicated Server Coupon – GREEN (saves $55.80 when paid for 1 month)
Windows Elite Dedicated Server Coupon – GREEN (saves $55.80 when paid for 1 month)
Linux Pro Dedicated Server Coupon – GREEN (saves $74.80 when paid for 1 month)
Windows Pro Dedicated Server Coupon – GREEN (saves $74.80 when paid for 1 month)

Más cupones con 9,94 dolares de descuento

Hostgator Coupon Code : WEBHOSTING
Hostgator Coupon Code : JURY
Hostgator Coupon Code : FINDMYHOST
Hostgator Coupon Code : TOPHOST
Hostgator Coupon Code : HGC25
Hostgator Coupon Code : 404PAGE
Hostgator Coupon Code : HOSTGATOR
Hostgator Coupon Code : WORDPRESS
Hostgator Coupon Code : ICEISHOT
Hostgator Coupon Code : CO_NR
Hostgator Coupon Code : HGNEWS01
Hostgator Coupon Code : HGNEWS02
Hostgator Coupon Code : HGNEWS03
Hostgator Coupon Code : HGNEWS04
Hostgator Coupon Code : HGNEWS05
Hostgator Coupon Code : HGNEWS06
Hostgator Coupon Code : HGNEWS07
Hostgator Coupon Code : HGNEWS08
Hostgator Coupon Code : HGNEWS09
Hostgator Coupon Code : HGNEWS10
Hostgator Coupon Code : HGNEWS11
Hostgator Coupon Code : HGNEWS12
Hostgator Coupon Code : AUTUMN
Hostgator Coupon Code : BEACH
Hostgator Coupon Code : SPRING
Hostgator Coupon Code : VALENTINE
Hostgator Coupon Code : SPOOKY
Hostgator Coupon Code : SNOWMAN
Hostgator Coupon Code : NEWYEAR
Hostgator Coupon Code : LUCKY
Hostgator Coupon Code : HEART
Hostgator Coupon Code : TURKEY
Hostgator Coupon Code : FREEMONTH
Hostgator Coupon Code : GATORNEWS
Hostgator Coupon Code : B2EVO
Hostgator Coupon Code : FREETRIAL
Hostgator Coupon Code : MUSICA
Hostgator Coupon Code : SITEPOINT
Hostgator Coupon Code : WHREVIEWS
Hostgator Coupon Code : CHEAPHOSTING
Hostgator Coupon Code : ALAMO
Hostgator Coupon Code : SLICKDEALS

31Dic 2009 3 Comments */?>

Como hacer una web multilenguaje

Categorías: Tutoriales - Tags:

Para detectar el idioma del navegador y hacer una web multilenguaje existen diversos métodos. Yo particularmente suelo usar el siguiente:

Primero creo el archivo lang-functions.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?php
 
    /*
 
    =============================================================================
 
     Funcion: detectar_idioma_navegador() 
 
    -----------------------------------------------------------------------------
 
     Proposito: Esta funcion detecta el idioma por defecto seleccionado en el navegador del visitante.
 
     Si no se detecta un lenguaje valido, se asigna el selecionado por defecto.
 
 
 
    =============================================================================
 
    */
 
    function detectar_idioma_navegador() {
 
    global $conf;
 
 
 
    $languages = preg_replace('/(;q=\d+.\d+)/i', '', getenv('HTTP_ACCEPT_LANGUAGE'));
 
 
 
    $bol_language_detected = false;
 
 
 
    // Comprobamos si el navegador usa alguno de los idiomas que hemos predefinido.
 
    foreach ($conf['lang_enabled'] as $tmp_arr_language) {
 
    if (preg_match('/' . $tmp_arr_language . '/i', $languages)) {
 
    $tmp_str_language_detected = $tmp_arr_language;
 
    $bol_language_detected = true;
 
    break;
 
    }
 
    }
 
    // Si el navegador usa uno de los idiomas seleccionados, se devuelve el path del fichero de idioma
 
    // En caso contrario, se devuelve el path del idioma original
 
    if ($bol_language_detected) {
 
    return $tmp_str_language_detected;
 
    } else {
 
    return $conf['lang_default'];
 
    }
 
    }

Una vez creado el archivo lo incluyo de la siguiente manera:

1
2
3
4
5
6
7
8
9
10
11
12
include("languages/lang-functions.php");
 
 
		$conf['lang_default'] = 'es'; // idioma por defecto
 
		$conf['lang_enabled'] = array('es','en');
 
		$conf['lang'] = detectar_idioma_navegador();
 
		if(isset($_GET['lang'])) $conf['lang']=$_GET['lang'];// Podemos crear un link como por ej una bandera para permitir cambiar el idioma al usario
 
		require_once("languages/".$conf['lang'].".php");

Por último nos queda crear los archivos de idiomas de la siguiente forma:

es.php

1
2
3
4
<? // Spanish language file 
   setlocale(LC_ALL,'es_ES');
define("_MENSAJE", "HOLA SOY UN MENSAJE EN ESPAÑOL");
?>

en.php

1
2
3
4
<? // English language file 
   setlocale(LC_ALL,'es_ES');
define("_MENSAJE", "Hi im a English message");
?>

En la web escribiriamos echo (_MENSAJE); y según el idioma del navegador aparecerá de una forma u otra.

Espero que haya servido de ayuda

22Dic 2009 0 Comments */?>

Actualización de ShipTimer

Categorías: Noticias - Tags:

SHIPTIMER recibe su primera actualización tras los consejos de nuestros clientes. El changelog de mejoras y correciones es el siguiente:

+ 10-12-09 Añadido número marea a los trabajos .
+ 10-12-09 Opción de abrir varios trabajos desde busquedas.
+ 10-12-09 Se agrega función para borrar trabajos.
+ 10-12-09 El limite de los trabajos ahora es 3000 caracteres y muestra cantidad de caracteres escritos.
+ 11-12-09 Se agrega campo CUIT a los talleres.
+ 20-12-09 Rediseño de materiales, ahora se divide en ordenes de compra y facturas de compra.
+ 22-12-09 Nuevo campo para «observaciones» dentro de las especificaciones técnicas de los barcos.
+ 22-12-09 Ahora se puede cambiar el estado de un trabajo al crearlo.
+ 22-12-09 Ahora se puede asignar ordenes de compra y facturas existentes a trabajos.

Para conocer más acerca del software más completo para la gestion de una flota pesquera visitar la web de Timersys.

14Dic 2009 5 Comments */?>

Como limitar los caracteres de un textarea

Categorías: Tutoriales - Tags:

A diferencia de los <input type=»text»> , los campos <textarea> no tienen el atributo de maxlength. Digamos que dado un campo de texto como el siguiente:

1
<textarea id="descripcion" onkeyup="contar(this);" cols="50" rows="8" name="descripcion"> </textarea><span id="letras">3000/3000 caracteres</span>

Si queremos contar y mostrar los caracteres escritos en un span, tan solo necesitamos esta pequeña función.

1
2
3
4
5
6
7
8
9
10
11
12
13
function contar(input) {
//Comprobamos que no pase de 3000 caracteres y si pasa, que borre los sobrantes
if (input.value.length >= 3000) {
input.value = input.value.substring(0,3000);
}
//alamacenamos el resto
var resto = 3000 - input.value.length;
 
//imprimimos los caracteres restantes en el span
var final=document.getElementById('letras');
final.innerHTML=resto+"/3000 caracteres";
 
}

Como pueden ver, es muy facil y tan solo bastaron unas lineas de javascript. Saludosss

13Nov 2009 1 Comment */?>

Timersys estrena Web!!!!

Categorías: Noticias

Si , lo se desapareci de la tierra. La razon es que estuve inmerso en un proyecto.

QueResaca.com

Es una web de Humor para colgar anécdotas o historias de borracheras o similares. No requiere registro alguno para subir tu anécdota y además se pueden incluir fotos y videos. Tiene ranking de borrachos y se puede votar las mejores y peores historias. Espero que les guste, pasen y vean