Mi base de datos es "basedatos" y mi Tabla "peliculas". Dentro tengo solo dos columnas: "idpelicula" y "titulo" como se muestra:
![](http://img827.imageshack.us/img827/7880/pel0.jpg)
La idea de mi buscador es que cuando se ponga "007" aparezcan todas las de 007 e incluso otras peliculas que tengan 007 en su titulo.
Lo he intentado mil veces y no lo consigo. Este es mi formulario creado:
Código HTML:
<form id="form1" name="form1" method="post" action="http://localhost/buscarpelicula.php"> <p>Search Profile: <label> <input type="text" name="buscar" id="buscar2" /> </label> <input type="submit" name="search" id="search" value="Search" /> </form></div>
Código PHP:
<?php
//"si $buscar no esta definida..."
if(!isset($buscar)) {
echo "Debe especificar una cadena a buscar";
echo "</html></body> \n";
exit;
}
$link=mysql_connect("localhost","miusuario","micontraseña");
mysql_select_db("basedatos",$link);
$result=mysql_query("SELECT titulo FROM peliculas WHERE titulo LIKE '%$buscar%',$link);
while ($row = mysql_fetch_array ($result))
{
print ("<TR>");
print ("<TD>$row[idpelicula]</TD>n");
print ("<TD>$row[titulo]</TD>n"."<br>");
print ("</TR>");
}
mysql_free_result($result);
?>
Parse error: syntax error, unexpected '>' in C:\xampp\htdocs\buscarpelicula.php on line 18
Y es raro porque las lineas que señala las he usado antes para mostrar resultados (que no buscar) y me daba bien!
Y con este segundo, con el que tampoco me sale...
Código PHP:
<?php
//"si $buscar no esta definida..."
if(!isset($buscar)) {
echo "Debe especificar una cadena a buscar";
echo "</html></body> \n";
exit;
}
$link=mysql_connect("localhost","miusuario","micontraseña");
mysql_select_db("basedatos",$link);
$result = mysql_query("SELECT * FROM peliculas WHERE titulo LIKE '%$buscar%' ORDER BY titulo", $link);
if ($row = mysql_fetch_array($result)){
echo "<table border = '1'> \n";
//Mostramos los nombres de las tablas
echo "<tr> \n";
while ($field = mysql_fetch_field($result)){
echo "<td>$field->name</td> \n";
}
echo "</tr> \n";
do {
echo "<tr> \n";
echo "<td>".$row["idpelicula"]."</td> \n";
echo "<td>".$row["titulo"]."</td> \n";
echo "</tr> \n";
} while ($row = mysql_fetch_array($result));
echo "</table> \n";
} else {
echo "¡ No se ha encontrado ningún registro !";
}
?>
Alguien sabe por que me pasa esto?
PD: una duda... debo poner "LIKE '%$buscar%'" o "LIKE '%$search%'" ?? el name o la id?