He creado un buscador para buscar por nombre o apellidos ciclistas guardados en la db, pero si tienen tilde no me los encuentra :S es decir busco "Díez" y a pesar de que hay corredores guardados con ese apellido no me los encuentra, tampoco buscando "Diez", he buscado por el foro soluciones pero no me ha funcionado ninguna, seguro que es una tontería, pero no encuentro el fallo. Os dejo los códigos a ver:
El html del buscador:
Código HTML:
<form action="../resultados/" method=POST>
<b>Buscar:</b> <input type=text name=key>
<br>Buscar por: <input type=radio name=buscarpor value=nombre> Nombre <input type=radio name=buscarpor value=apellidos> Apellidos
<br><input type=submit value="Buscar!">
</form>
El código php del buscador
Código PHP:
<?
@$buscarpor = $_POST["buscarpor"];
@$key = $_POST["key"];
if ($buscarpor!=NULL or $key!=NULL) {
$host_db = "*********";
$usuario_db = "*********";
$pass_db = "**********";
$base_db = "********";
$coneccion = mysql_connect($host_db, $usuario_db, $pass_db);
mysql_select_db($base_db, $coneccion);
$select = "SELECT nombre, apellidos FROM nuke_corredores_cc WHERE $buscarpor LIKE '%$key%' ORDER BY apellidos ASC";
$resultados = mysql_query($select, $coneccion);
$cantresult = mysql_num_rows($resultados);
echo "Búsqueda de $key ($buscarpor):<br><br>";
while($myrow = mysql_fetch_array($resultados))
{
$nombre = "nombre";
$apellidos = "apellidos";
echo "".utf8_encode($myrow[$nombre])." ".utf8_encode($myrow[$apellidos])."<br>";
}
mysql_close($coneccion);
}
else echo "No se puede acceder directamente";
?>
El Create Table
Código:
CREATE TABLE `nuke_corredores_cc` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`nombre` varchar(50) COLLATE latin1_general_ci NOT NULL,
`apellidos` varchar(50) COLLATE latin1_general_ci NOT NULL,
`nacionalidad` int(3) NOT NULL DEFAULT '0',
`nacimiento` date NOT NULL DEFAULT '1900-00-00',
`lugar_de_nacimiento` varchar(100) COLLATE latin1_general_ci NOT NULL,
`fallecimiento` date DEFAULT NULL,
`debut` int(4) DEFAULT NULL,
`retirada` int(4) DEFAULT NULL,
`descripcion` text COLLATE latin1_general_ci,
`comentario` text COLLATE latin1_general_ci,
PRIMARY KEY (`id`),
KEY `apellidos` (`apellidos`)
) ENGINE=MyISAM AUTO_INCREMENT=28 DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci
He de decir que el código está integrado en páginas de Wordpress aunque en archivos externos también me pasa lo mismo.
Un saludo