Ver Mensaje Individual
  #12 (permalink)  
Antiguo 26/07/2007, 19:35
elbastardo
 
Fecha de Ingreso: septiembre-2006
Mensajes: 141
Antigüedad: 17 años, 7 meses
Puntos: 1
Re: Buscador de noticias en Base de Datos

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!

Última edición por elbastardo; 26/07/2007 a las 19:44