Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/05/2012, 13:43
jona86
 
Fecha de Ingreso: enero-2012
Mensajes: 88
Antigüedad: 12 años, 3 meses
Puntos: 1
Buscador php-mysql

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