Ojalá me pudieran ayudar con un problema que tengo con un código de php usado para un buscador.
Me marca el siguiente error: Parse error: syntax error, unexpected $end in /Library/WebServer/Documents/buscar.php on line 71
EL html: es el siguiente
Código HTML:
<form id="searchform" method="post" action="buscar.php"> <div> <h2>Site Search</h2> <input name="word" type="text" id="busqueda" value="Search" size="30" /> <input name="finder" type="button" value="Search" /> </div> </form>
- d: int(11)
- titulo(varchar(100))
- noticia(longtext)
- autor(varchar)
Tiene un indice tipo FULLTEXT que afecta a las columnas 'titulo', 'noticia' y 'autor'.
El codigo php es:
Código PHP:
<?
if ($_POST['finder']) {
//Tomamos el valor ingresado
$search = $_POST['word'];
// Si está vacío, lo informamos, sino realizamos la busqueda
if (empty($search)) {
echo "Please, enter a string to search";
}else {
//Contamos el número de palabras introducidas
if ($search<>'') {
$token = explode(" ",$search);
$coincidences = count($token);
if ($coincidences == 1) {
// Si sólo hay una palabra para busccar, se escoge un SQL con LIKE
$sql_easy = "SELECT * FROM noticias WHERE noticia LIKE '%search%' OR noticia LIKE '%search%' LIMIT 50";
//Conexión a la base de datos y selección de registros
$connection = mysql_connect("localhost","root","admin");
mysql_select_db("Phytochemicals", $connection);
$result = mysql_query($sql_easy, $connection);
// Tomamos el total de los resultados
$total = mysql_num_rows($result);
// Imprimimos el total de los resultados
if ($row = mysql_fetch_array($result)) {
echo "Results to: <b>$search</b>";
do {
?>
<p><b><a href="noticia.php?id=<?=$row['id'];?>"><?=$row['titulo'];?></a></b></p>
<?
} while($row = mysql_fetch_array($result));
echo "<p>Results: $total</p>";
} else {
// En caso de no encontrar resultado
echo "Not found results to: <b>$search</b>";
}
} else if($coincidences > 1) {
// Si hay más de una palabra (frase) se usa el algoritmo MATCH AGAINST
$sql_hard = "SELECT*titulo, MATCH (`titulo`,`cuerpo`) AGAINST ('$search') AS score FROM views WHERE* MATCH (`titulo`,`cuerpo`) AGAINST ('$search') ORDER* BY score DESC LIMIT 50";
//Conexión a la base de datos y selección de registros
$connection = mysql_connect("localhost","root","admin");
mysql_select_db("Phytochemicals", $connection);
$result = mysql_query($sql_easy, $connection);
// Tomamos el total de los resultados
$total = mysql_num_rows($result);
// Imprimimos el total de los resultados
if ($row = mysql_fetch_array($result)) {
echo "Results to: <b>$search</b>";
do {
?>
<p><b><a href="noticia.php?id=<?=$row['id'];?>"><?=$row['titulo'];?></a></b></p>
<?
} while($row = mysql_fetch_array($result));
echo "<p>Results: $total</p>";
} else {
// En caso de no encontrar resultado
echo "Not found results to: <b>$search</b>";
}
}
}
}
?>