Bueno acabo de usar un script de Desarrolloweb.com y me tira el mismo error!!.. me podría decir algún entendido qué es lo que tengo mal?? Ya que teóricamente este script anda bien y no debería tirar el error de que "mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\domains\...\wwwroot\buscador.php on line 50"..
Agradezco la ayuda, dejo el script:
Código PHP:
<? include "global.php";
?>
<html>
<body bgcolor="#D7DAC3">
<SCRIPT LANGUAGE="JavaScript">
function registro(){
open('http://www.guidilab.com/', 'Sizewindow', 'width=600,height=300,scrollbars=no,toolbar=no')
}
</SCRIPT>
<form method = "POST" action = "buscador.php">
<table width="403" align="center">
<tr>
<td><div align="center">Buscar:
<input type="text" name="palabra" id="palabra" size="20">
<input type="submit" name="Submit" value="GO">
</div></td>
</tr>
</table>
<hr>
<?PHP
//busca en una base de datos hecha en mysql con campos distribuidor, marca, producto, comentario, pero recuerda que puedes cambiarlos
$campo = array("categoria", "comentario", "subseccion");
//aqui ponemos los campos de la tabla en que queremos buscar
$numelentos = count($campo);//toma el numero de campos y lo guarda para usarla despues
$bandera = "si";//bandera para indicar si se encontro la palabra
for ($i=0; $i < $numelentos; $i++)
//realizaremos el recorrido de busqueda en cada campo que seleccionamos de nuestra tabla
{// inicio for
$campoac= $campo[$i];//guardamos el campo actual
$a= $_POST['palabra'];//Guardamos la palabra que se buscara
if ($a==false)// si no se ingreso una palabra nos avisa
{
echo "<p>Debe especificar la busqueda</p> \n";
echo "</html></body> \n";
exit;
}
$link = Conectarse();
//si se ingreso la palabra nos conectamos
mysql_select_db("acontecer", $link);
//que busque en el campo actual la palabra enviada y lo ordene por un campo especifica
$sql = "SELECT * FROM noticia WHERE $campoac LIKE '%{$_POST['palabra']}%' ORDER BY id_noticia";
$result = mysql_query($sql, $link);
if ($row = mysql_fetch_array($result))// si se encontro la palabra
{
mysql_field_seek($result,0);
while ($field = mysql_fetch_field($result)){
echo "<td><b></b></td> \n";
}
//imprimimos nustros resultados do {
echo "<table width=\"431\">
<tr> <td width=\"425\"><table width=\"100%\"><tr><strong>
<td width=\"205\"> <div align=\"center\"><FONT COLOR=\"#0099FF\">Distribuidor:</FONT></strong>".$row["distribuidor"]."</td>
<td width=\"206\"> <strong><FONT COLOR=\"#0099FF\">Marca:</FONT></strong>".$row["marca"]."</td>
</tr></table></td></tr><tr>
<td><strong><FONT COLOR=\"#0099FF\"> Producto:</FONT></strong>".$row["producto"]."</td></tr><tr>
<td><strong><FONT COLOR=\"#0099FF\">Descripcion:</FONT></strong>".$row["comentario"]."</td>
</tr><tr><td><strong> <FONT COLOR=\"#0099FF\">Link:</FONT></strong></td></tr><tr>
<td><div align=\"center\"><strong><FONT COLOR=\"#000099\"><a href=\"javascript:registro();\">Pedir Cotizacion</FONT> </strong></a> </div></td></tr>
</table>";// siempre emos querido poner links en los resultados aqui pongo un pequeño ejemplo de como hacerlo pero si queires ser mas espesifico en el linck pues juega un poco con el codigo
echo "<p> </p> \n";
echo "<hr>";
$bandera = "no";//cambiamos la bandera para avisar que si se encontro la palabra
}
while ($row = mysql_fetch_array($result));
echo "</table> \n";
}
//fin for
if ($bandera == "si") //si la bandera sigue en si es que no encontro la palabra y avisamos
{ echo "<p>¡No se ha encontrado ningún registro!</p>\n";
} ?> </form> </div>
</body>
</html>
Saludos!