Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/08/2014, 13:08
flashtrix
 
Fecha de Ingreso: noviembre-2004
Mensajes: 249
Antigüedad: 19 años, 5 meses
Puntos: 1
buscador mejorado

Hola ahora vengo otro problemilla el cual ustedes me pueden ayudar a resolver...

como decia tengo en una base de datos nombres completos
por ejemplo

EDUARDO ALFONSO ARROYO TEHERAN

ahora bien uso un buscador el cual usa LIKE, que segun leyendo en manuales de php el like limita los rangos de busquedas ya que si por ejemplo busco:

EDUARDO ALFONSO si aparecerá un resultado...

Pero si por el contrario busco: EDUARDO ARROYO

no aparecerá nada... acontinuación dejoe l codigo que uso.

Código PHP:
 <?
// Solo se ejecuta si se ha enviado el formulario
$nompropietario $_POST['nombrepro']; 
$serv mysql_connect("localhost","usuario","contrasena"); 
mysql_select_db("bd",$serv);  

//------------------
$consulta mysql_query("SELECT * FROM datos WHERE nombre LIKE '%$nompropietario%'",$serv );
$numero mysql_num_rows($consulta);
//--------------------
if(empty($nompropietario))
{
echo 
"<br><b><center>Ingrese el Nombre a consultar </center></b><br>";
//echo "<b><center><a href='consultanombre.php'>Reintentar</a></center></b>";
echo "<center><a href='consultanombre.php'><img src='./img/reintentar.png' width='97' height='30' alt=''/></a></center>";
}else{
if(
$row mysql_fetch_array($consulta)) { 
///*
print "<b><h2>"
print 
"</h2><center><table id=lista border=1 cellpadding=0 cellspacing=0>"
print 
"<tr>
  <td height=51 colspan='4'><p><b>&nbsp;SE ENCONTRARÓN: "
.$numero." DATOS CON EL CRITERIO DE BUSQUEDA: ".$nompropietario."</b>      <strong style='font-family: Gotham, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 12px;'><br>
    <br />
        &nbsp;&nbsp;Filtrar Palabra:</strong>
        <input name='buscador' id='buscador' type='text' />
<a href='consultanombre.php'><img src='./img/nuevabusqueda.png' width='131' height='30' alt=''/></a><br/>  
  </td>
  </tr>
<tr>
  <td width=420 bgcolor=#0066FF><b><center>NOMBRES Y APELLIDOS</center></b></td>
  <td width=70 bgcolor=#0066FF style='text-align: center'><b>IDENTIF</b></td>
  <td width=80 height=29 bgcolor=#0066FF><center>
  <b>CÓDIGO CATASTRAL</b>
</center></td><td width=288 bgcolor=#0066FF><center>
  <b>DIRECCIÓN</b>
</center></td>
</tr>
  "

do { 
print
"<tr class=off onMouseOver=this.className='on' onMouseOut=this.className='off'>
  <td><a href= resolucion.php?codigo="
.$row["codigo"]." target= '_blank' >".$row["nombre"]."</a></td>
  <td style='text-align: center'><a href= resolucion.php?codigo="
.$row["codigo"]." target= '_blank' >".number_format($row['identificacion'], 0'''.')."</a></td>
  <td><center><a href= resolucion.php?codigo="
.$row["codigo"]." target= '_blank' >".$row["codigo"]."</a></center></td>
  <td><center><a href= resolucion.php?codigo="
.$row["codigo"]." target= '_blank' >".$row["direccion"]."</a></center></td>
  </tr>
"


while(
$row=mysql_fetch_array($consulta)); 
print
"</table></center>";
print
"<br>"
//echo "<b><a href='javascript:window.print(); void 0;'>Imprimir</a></b>  |  "; 
echo "<a href='javascript:window.print(); void 0;'><img src='./img/imprimir2.png' width='66' height='15' alt=''/></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
//echo "<b><a href='consultanombre.php'>Nueva Busqueda</a></b>";
echo "<a href='consultanombre.php'><img src='./img/nuevabusqueda2.png' width='104' height='16' alt=''/></a>";
}
//*/
else{ 
echo 
"<br>";
print 
"<b><center><h3>Nombre de propietario ".strtoupper($nompropietario)." no se encuentra en la Base de Datos</h3>";
//echo "<b><center><a href='consultanombre.php'>Nueva Busqueda</a></center></b>";
echo "<center><a href='consultanombre.php'><img src='./img/nuevabusqueda.png' width='131' height='30' alt=''/></a></center>";

}
//break;
?>
</form>

la linea que creo que es la que hace toda la búsqueda es la siguiente:

Código PHP:
$consulta mysql_query("SELECT * FROM datos WHERE nombre LIKE '%$nompropietario%'",$serv 
;

he buscado y he encontrado otras funciones como el MATCH … AGAINST pero ni idea como usarlo en mi caso...

Graciass