Foros del Web » Programando para Internet » PHP »

Problema al realizar busqueda mysql php

Estas en el tema de Problema al realizar busqueda mysql php en el foro de PHP en Foros del Web. Hola tengo e siguiente problema cuando realizo una busqueda y solo meto una palabra todo marcha bien pero al introducir dos me sale esto: Warning: ...
  #1 (permalink)  
Antiguo 19/11/2009, 18:59
 
Fecha de Ingreso: noviembre-2009
Mensajes: 5
Antigüedad: 14 años, 5 meses
Puntos: 0
Problema al realizar busqueda mysql php

Hola tengo e siguiente problema cuando realizo una busqueda y solo meto una palabra todo marcha bien pero al introducir dos me sale esto: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in line 57.
os paso el codigo

<body>

<?php

require('conexion.php');
$busqueda=$_POST['busqueda'];
if ($busqueda<>''){
//numero de palabras
$trozos=explode(" ",$busqueda);
$numero=count($trozos);
if ($numero==1) {
$cadbusca="SELECT * FROM vecinos WHERE id LIKE '%$busqueda%' OR Nombre LIKE '%$busqueda%' OR Primer_Apellido LIKE '%$busqueda%'
OR Segundo_Apellido LIKE '%$busqueda%'
OR DNI LIKE '%$busqueda%' OR Telefono_Fijo LIKE '%$busqueda%' OR Telefono_Movil LIKE '%$busqueda%'";
}
elseif ($numero>1) {
$cadbusca="SELECT * , MATCH ( Nombre, Primer_Apellido, Segundo_Apellido, DNI, Telefono_Fijo, Telefon_Movil )
AGAINST ( '$busqueda' ) AS Score FROM vecinos WHERE MATCH ( Nombre, Primer_Apellido,
Segundo_Apellido, DNI, Telefono_Fijo, Telefono_Movil ) AGAINST ( '$busqueda' ) ORDER BY Score DESC;";
}

function limitarPalabras($cadena, $longitud, $elipsis = "..."){
$palabras = explode(' ', $cadena);
if (count($palabras) > $longitud)
return implode(' ', array_slice($palabras, 0, $longitud)) . $elipsis;
else
return $cadena;
}


?>

<table border="0px">
<tbody>
<tr>
<td bgcolor="Navy" align="center"><font color="White">id</td>
<td bgcolor="Navy" align="center"><font color="White">Nombre</td>
<td bgcolor="Navy" align="center"><font color="White">Primer_Apellido</td>
<td bgcolor="Navy" align="center"><font color="White">Segundo_Apellido</td>
<td bgcolor="Navy" align="center"><font color="White">DNI</td>
<td bgcolor="Navy" align="center"><font color="White">Telefono_Fijo</td>
<td bgcolor="Navy" align="center"><font color="White">Telefono_Movil</td>
</tr>
<?php
$result=mysql_query($cadbusca, $con);
$i=1;
while ($fila = mysql_fetch_array($result)){
echo "<tr bgcolor=white><td>".$fila['id'].
"</td><td>".$fila['Nombre']."
</td><td>".$fila['Primer_Apellido']."
</td><td>".$fila['Segundo_Apellido']."
</td><td>".$fila['DNI']."
</td><td>".$fila['Telefono_Fijo']."
</td><td>".$fila['Telefono_Movil']."
</tr>";
$i++;
}
?>
</tbody>
</table>
<?php
echo"<br>";
echo"<span class='coincidencia'>Numero de Coincidencias: </span><b>".($i-1)."</span>";
?>
<?php

}

?>


</body>
  #2 (permalink)  
Antiguo 27/11/2009, 00:00
Avatar de sonic22  
Fecha de Ingreso: abril-2008
Ubicación: Rosario
Mensajes: 10
Antigüedad: 16 años
Puntos: 0
Respuesta: Problema al realizar busqueda mysql php

Puede que te sirva lo siguiente:

Elimina desde phpmyadmin todos los indices fulltext, uno por uno, una vez hecho eso, mira la estructura de la tabla, selecciona en el orden que usas en la consulta MATCH(...) los campos y crea todos los indices fulltext de una, abajo vas a ver que dice algo como "que hacer con todos los campos seleccinoados" tenes la T.

espero te sirva, fueron horas de busqueda en su momento.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:32.