Cita:
Iniciado por Antonio_España Cuando la pagina te imprime codigo php, es que no se ha "traducido" a php el codigo, sino que ha sido considerado como html.
Me explico, si tu codigo es
y en lugar de hola, ves el codigo, es que no ha sido tratado como php.
Bueno, me he tomado la libertad de probar tu codigo para dar una respuesta mas concreta.
He visto un
) en lugar de
} ordenando el codigo (dichosa mi mania de ordenar las cosas ^^) y ahora no me da error (el error que me mostraba era, inesperado fin en linea 43):
Código PHP:
Ver original<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
<td width="612" height="28" align="right"><form id="form2" name="form2" method="post" align="center" action="publicaciones.php">
¿Que estas buscando?
<input type="text" name="busqueda" size="50" />
<input name="Submit2" type="submit" class="botones1" value="Buscar" />
</form>
<?php
//cadena de conexion
// DEBO PREPARAR LOS TEXTOS QUE VOY A BUSCAR si la cadena existe
if ($busqueda != ''){
//CUENTA EL NUMERO DE PALABRAS
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); {
//Mostramos los titulos de los articulos o lo que deseemos...
$referencia=$row->REFERENCIA;
$titulo=$row->TITULO;
echo $referencia." - ".$titulo."<br>";
}
}
// 1.- este simbolo, parece que sobra: ")"
?>
</body> <!-- 2.- me traigo el body a su sitio -->
</html>
AHORA NINGUN TIPO DE ERROR PERO TAMPOCO ME APARECE LA SUGERENCIAS CUANDO EMPIEZO A TRIPEAR, ES DECIR QUE EL BUSCADOR ESTA FUNCIONANDO COMO ANTES SIN SUGERENCIAS.
NECESITO QUE VEA UNA TABLA.
POR EJEMPLO YO TENGO EN MI BD MYSQL (TABLA ARTICULOS, SUBRUBROS, MARCAS)
EN LA BASE DE DATOS LA TENGO ASI:
TITULO VARCHAR (45)
DESARROLLO TEXT
EN LA EDICION DE LA TABLA:
TITULO
NOTEBOOK
IMPRESORA
TELEVISOR
DESARROLLO
IBM
HP
LENOVO
PHILIPS
CONEXION DESDE PHP A LA BD
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'lipo';
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error de conexion con la base de datos, a la brevedad sera solucionado');
$dbname = 'openlatino';
mysql_select_db($dbname);
COMO LO PUEDO HACER?
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Cabecera</title>
</head>
<body>
<td width="612" height="28" align="right">
<form id="busqueda" name="busqueda" method="post" align="center" action="publicaciones.php">
<form id="form3" name="form3" method="post" align="center" action="busquedaavanzada.php">
<div align="center">¿Que estas buscando?
<input type="text" name="busqueda" size="50" />
<input name="Submit2" type="submit" class="botones1" value="Buscar" />
<input name="Submit3" type="submit" class="botones1" value="Busqueda avanzada" />
</div>
</form>
<div align="center">
<?php
//cadena de conexion
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'lipo';
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error de conexion con la base de datos, a la brevedad sera solucionado');
$dbname = 'openlatino';
mysql_select_db($dbname);
// 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 DESARROLLO, 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("openlatino", $cadbusca);
While($row=mysql_fetch_object($result))
{
//Mostramos los titulos de los articulos o lo que deseemos...
$desarrollo=$row->DESARROLLO;
$titulo=$row->TITULO;
echo $desarrollo." - ".$titulo."<br>";
}
}
//)
?>
</div>
</body> <!-- 2.- el body al sitio -->
</html>