Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/01/2008, 09:13
Avatar de Carlmycol
Carlmycol
 
Fecha de Ingreso: diciembre-2007
Ubicación: Los Teques, Venezuela
Mensajes: 240
Antigüedad: 16 años, 4 meses
Puntos: 3
Problema con sistema de busquedas.

Hola, bueno tengo un problema, estoy haciendo un script que busque paginas web dentro de mi servidor con una base de datos bueno aqui estan mis codigos :S

Este es el documento con el formulario para bucar - form.htm

Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<FORM METHOD=POST ACTION="buscar.php">
Buscar: <INPUT TYPE="text" NAME="busqueda">
</FORM>
</body>
</html> 
Este es el que busca - buscar.php

Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
//cadena de conexion
mysql_connect("localhost","root","");
//DEBO PREPARAR LOS TEXTOS QUE VOY A BUSCAR si la cadena existe
if ($busqueda<>''){
   
//CUENTA EL NUMERO DE PALABRAS
   
$trozos=explode(" ",$busqueda);
   
$numero=count($trozos);
  if (
$numero==1) {
   
//SI SOLO HAY UNA PALABRA DE BUSQUEDA SE ESTABLECE UNA INSTRUCION CON LIKE
   
$cadbusca="SELECT REFERENCIA, TITULO FROM ARTICULOS WHERE VISIBLE =1 AND DESARROLLO LIKE '%$busqueda%' OR TITULO LIKE '%$busqueda%' LIMIT 50";
  } elseif (
$numero>1) {
  
//SI HAY UNA FRASE SE UTILIZA EL ALGORTIMO DE BUSQUEDA AVANZADO DE MATCH AGAINST
  //busqueda de frases con mas de una palabra y un algoritmo especializado
  
$cadbusca="SELECT REFERENCIA, TITULO , MATCH ( TITULO, DESARROLLO ) AGAINST ( '$busqueda' ) AS Score FROM ARTICULOS WHERE MATCH ( TITULO, DESARROLLO ) AGAINST ( '$busqueda' ) ORDER BY Score DESC LIMIT 50";
}
$result=mysql("teleformacion"$cadbusca);
While(
$row=mysql_fetch_object($result))
{
   
//Mostramos los titulos de los articulos o lo que deseemos...
  
$referencia=$row->REFERENCIA;
   
$titulo=$row->TITULO;
   echo 
$referencia." - ".$titulo."<br>";;
}
?> 
</body>
</html>
este es el ejemplo que puse para que buscara - untitled.htm

Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>ejemplo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="keywords" lang="en" content="ejemplo" />
</head>

<body>
libros ejemplo
</body>
</html> 
y me da este error:

Parse error: parse error, unexpected $end in C:\AppServ\www\buscador\buscar.php on line 35

No se que puede ser :S

Nombre de la base de datos es articulos
nombre de tabla articulos
1 campo de tabla es titulo - vachar 100
2 campo de tabla es desarrollo - text

Desde ya muchas gracias. ;)

Salu2