Busco a alguien capaz de convertir estas dos funciones a C para ser utilizadas por Mysql en Linux e informacion de como instalar estas funciones como objetos MySql para ser utilizadas por los query.
Las funciones pueden ser modificadas siempre y cuando cumplan el objetivo que persiguen. Se le da preferencia a la primera cadena introducida.
FUNCION 1
function Comparacion($cadena1,$cadena2) {
$puntos=0;
$Count=strlen($cadena1);
for ($i = 0; $i < $Count; $i++) if ($cadena1{$i}==$cadena2{$i}) $puntos++;
return $puntos;
}
La funcion puntua busquedas dependiendo de las coincidencias de dos cadenas del tipo 0101231, a mayor numero de coincidencias mayor puntuacion. Compara todos los valores de las dos cadenas y suma un punto si son iguales en la misma posicion. Ejemplo : 1100101 y 1231211 daria igual a 2 puntos porque solo dos caracteres coinciden en lugar y posicion.
FUNCION 2
function Localizaciones ($cadena1,$cadena2) {
$puntos=0;
$posicion=1;
$cadena1=' '.strtolower($cadena1).' ';
$cadena2=' '.strtolower($cadena2).' ';
$cadena2=str_replace('/',' / ',$cadena2);
$array=explode('/',$cadena1);
foreach ($array as $lugar) {
$lugar=' '.trim($lugar).' ';
if (strstr($cadena2,$lugar)) $puntos = $puntos + $posicion;
$posicion=$posicion*10;
}
return $puntos;
}
Esta segunda funcion incluye tantos espacios para verificar que no son partes de palabras las que se encuentran o buscan. Convierte las cadenas a minusculas para evitar problemas de case sensitive (eso depende de vosotros). Divide la primera cadena en partes de un array por el caracter /. Las dos cadenas son del tipo "Paris / Cadiz / Sevilla / Los Barrios / 12312". Estas partes son buscadas en la segunda cadena y si se encuentran se les da puntuacion dependiendo de la posicion en la que se encuentren. Por eso el valor de puntuacion se incrementa por 10 en cada palabra, porque cuanto mas a la derecha esté la palabra encontrada mas valor tiene y posiciona esos resultados mas arriba.
MAS INFORMACION SOBRE UDF MYSQL
http://dev.mysql.com/doc/refman/4.1/en/adding-functions.html
http://www.codeproject.com/database/MySQL_UDFs.asp
http://empyrean.lib.ndsu.nodak.edu/~nem/mysql/udf/
MUY IMPORTANTE
Por favor abstenerse menores de edad, oportunistas que se apuntan a todos los trabajos con prepotencia, personas que no sepan de que trata el trabajo, personas que no hayan experimentado nunca este tipo de funciones y personas que no sean capaces de probar las funciones en el entorno en el que se van a utilizar, antes de pedir dinero por un trabajo que no saben hacer y no han leido de que trata.
![País: España [es]](http://static.trabajofreelance.com/images/flags/es.gif)
![GeoTrust [GeoTrust]](http://static.trabajofreelance.com/images/seal/geotrust.gif)
![PayPal [PayPal]](http://static.trabajofreelance.com/images/seal/paypal.gif)
![Visa [Visa]](http://static.trabajofreelance.com/images/seal/visa.gif)
![MasterCard [MasterCard]](http://static.trabajofreelance.com/images/seal/mastercard.gif)
![Feeds [Feeds]](http://static.trabajofreelance.com/images/seal/rss.png)
![Blog [Blog]](http://static.trabajofreelance.com/images/seal/wordpress.png)
![Facebook [Facebook]](http://static.trabajofreelance.com/images/seal/facebook.png)
![Twitter [Twitter]](http://static.trabajofreelance.com/images/seal/twitter.png)
![Linkedin [Linkedin]](http://static.trabajofreelance.com/images/seal/linkedin.png)
![Youtube [Youtube]](http://static.trabajofreelance.com/images/seal/youtube.png)