Ayuda, Buscador en php y mysql

buenas al foro les estoy muy agradecido ^^, :P en estos momentos ando en busca de como hacer un buscador en php y mysql, tengo mas o menos la idea pero necesito q me aconsejen..

lo primero es conecar, con la base de datos y seleccionar la tabla en la cual se buscara el contenido a mostrar.

$host= "localhost";
$user= "root";
$pass="0000";
$db="categorias";

$conectar= mysql_connect($host,$user,$pass);
mysql_select_db($db,$conectar);
if($numero <> ' ') {
$buscar=explode(" ",$busqueda);
$numero=count($buscar);
}

if($numero >1) {

busca= mysql_query("select * MATCH (TITULO, SUBTITULO, FECHA, PRECIO, identificador) AGAINST ($busqueda') as fecha FROM accesorios WHERE MATCH ($TITULO, $SUBTITULO, $FECHA, $PRECIO, $identificador) AGAINST ('$busqueda') ORDER BY fecha DESC LIMIT 50 ")

}
$result=mysql("teleformacion", $cadbusca);
while($row = mysql_fetch_array($result)) {

$titulo= $row ["titulo"];
$subtitulo= $row ["subtitulo"];
$precio= $row ["precio"];
$id=$row["id"];
$titulo=$row["titulo"];
$subtitulo= $row ["subtitulo"];
$precio= $row ["precio"];
$fecha=$row["fecha"];
$respuestas=$row["respuestas"];
echo("<span class='fotos'>$respuestas</span>\n");
echo(" <span class='titulos'>$titulo</span>\n");
echo(" <span class='subtitulos'>$subtitulo</span>\n");
echo("<span class='precios'>Bs.F: $precio</span>\n");
echo("<span class='fecha_publicacion'>". date("d-m-y",$fecha)."</span>\n");
echo("<span class='linea'><hr size = 1 color = #888 width = 91% align = left></span>\n");

}

:( me pueden ayudar a terminarlo y corregirlo.
Si visitas mi web en el apartado adopciones en buscador de animales veras que tengo realizado un potente buscador, asi que puedo ayudarte en lo que necesites.

Primero tienes que poner <?php y ?> al principio y al final del codigo.

Decirte que busca tendria que ser $cadbusca, y que al final de esa linea debes poner ;

Por otro lado, esto no se que es: $result=mysql("teleformacion", $cadbusca);

Sinceramente creo que la linea anterior sobra y deberias modificar esta para que quede asi:

while($row = mysql_fetch_array($cadbusca)) {

Con eso ya te deberia mostrar los datos siempre que no haya algun error en la sentencia SQL; ahora ya la cosa es saber como quieres mostrar los datos y que buscador quieres hacer (decirnos la idea para ayudar).

Un saludo y bievenido al foro.
estoy desarrolando un sitio web, que tendra noticias, y le estoy desarrollando el buscador para que me muestre alguna noticia que el usuario quiera buscar o las noticias relacionadas con el nombre que coloco en el buscador..

ya modifique como ud me dijo y me lanza este error,

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in d:\appserv\www\clasificados\buscar.php on line 107
El error que te muestra es muy claro.....LA SQL ESTA MAL.

Para saber donde esta el error te recomiendo:

$busca = "select * MATCH (TITULO, SUBTITULO, FECHA, PRECIO, identificador) AGAINST ($busqueda') as fecha FROM accesorios WHERE MATCH ($TITULO, $SUBTITULO, $FECHA, $PRECIO, $identificador) AGAINST ('$busqueda') ORDER BY fecha DESC LIMIT 50 ";
echo $busca;
$cadbusca= mysql_query($busca)

Con eso obtendras por pantalla la SQL que estas haciendo y asi podras probarla en PHPMYADMIN en el apartado SQL.

Te lo digo porque lo ams facil es que sea unas comillas o similar lo que te esta fallando; y asi con ayuda del PHPMYADMIN y tus pruebas podras solucionar el error.

Cualquier duda pregunta, y si no te importa no me trates de usted.
ya hice las correcciones que me dijo, ya no me da ningun error pero no me muestra nada por panta. :(, q sera e estado probando y eso pero nada, probare agregando un LIKE, aunq no creo q tenga q ver al no mostrar nada.

<?php
$host= "localhost";
$user= "root";
$pass="48202d";
$db="categorias";
$conectar= mysql_connect($host,$user,$pass);
mysql_select_db($db,$conectar);
if($numero <> ' ') {
$pedazos=explode(" ",$busqueda);
$numero=count($pedazos); }
if($numero >1) {
$cadbusca = "select * MATCH (TITULO, SUBTITULO, FECHA, PRECIO,) AGAINST ($busqueda')
as fecha FROM accesorios WHERE MATCH ($TITULO, $SUBTITULO, $FECHA, $PRECIO,) AGAINST ('$busqueda')
ORDER BY fecha DESC LIMIT 50 ";
$resultado= mysql_query($cadbusca);
while($row = mysql_fetch_array($cadbusca)) {
$titulo= $row ["titulo"];
$subtitulo= $row ["subtitulo"];
$precio= $row ["precio"];
$id=$row["id"];
$titulo=$row["titulo"];
$subtitulo= $row ["subtitulo"];
$precio= $row ["precio"];
$fecha=$row["fecha"];
$respuestas=$row["respuestas"];
echo("<span class='fotos'>$respuestas</span>\n");
echo(" <span class='titulos'>$titulo</span>\n");
echo(" <span class='subtitulos'>$subtitulo</span>\n");
echo("<span class='precios'>Bs.F: $precio</span>\n");
echo("<span class='fecha_publicacion'>". date("d-m-y",$fecha)."</span>\n");
echo("<span class='linea'><hr size = 1 color = #888 width = 91% align = left></span>\n");
}
}
?>
<?php
$host= "localhost";
$user= "root";
$pass="48202d";
$db="categorias";
$conectar= mysql_connect($host,$user,$pass);
mysql_select_db($db,$conectar);
if($numero <> ' ') {
$pedazos=explode(" ",$busqueda);
$numero=count($pedazos); }
if($numero >1) {
$cadbusca = "select * MATCH (TITULO, SUBTITULO, FECHA, PRECIO,) AGAINST ($busqueda') 
as fecha FROM accesorios WHERE MATCH ($TITULO, $SUBTITULO, $FECHA, $PRECIO,) AGAINST ('$busqueda')
ORDER BY fecha DESC LIMIT 50 ";
$resultado= mysql_query($cadbusca);
while($row = mysql_fetch_array($cadbusca)) {
echo "aaaaaaa";
$titulo= $row ["titulo"];
$subtitulo= $row ["subtitulo"];
$precio= $row ["precio"];
$id=$row["id"];
$titulo=$row["titulo"];
$subtitulo= $row ["subtitulo"];
$precio= $row ["precio"];
$fecha=$row["fecha"];
$respuestas=$row["respuestas"];
echo "<span class='fotos'>$respuestas</span>\n";
echo "<span class='titulos'>$titulo</span>\n";
echo "<span class='subtitulos'>$subtitulo</span>\n";
echo "<span class='precios'>Bs.F: $precio</span>\n";
echo "<span class='fecha_publicacion'>". date("d-m-y",$fecha)."</span>\n";
echo "<span class='linea'><hr size = 1 color = #888 width = 91% align = left></span>\n";
}
}
?>

Prueba con este codigo; no obstante, me parece un poco dificil que te muestre algun dado ya que le estas poniendo a la SQL un like cuyos valores son variables, pero esas variables no las obteienes de ningun lado; es decir; lo normal es que si esas variables esten vacias, muestres un formulario para que las rellenen, y si no esten vacias realizes la SQL.

Te he puesto un echo "aaa"; para asegurarnos de que hace la SQL; si no te muestra el mensaje es que tengo razon. En cuanto a los parentesis, no son necesarios.
Si no muestra nada es que la SQL no obtiene ningun resultado, seguramente sera x lo que te digo, tu le metes a la SQL datos de variables, pero como a esas variables no les das valor, pues no te encuentra ningun datos.
las base de datos tiene 4 noticias de prueba.

Nombre de la base de datos: CATEGORIAS.
Tabla de la base de datos:ACCESORIOS.
la tabla contiene 7 campos entre los cuales sta, titulo, subtitulo, fecha, id, identificador, mensaje, foto.
-----------------------------------------------------------------------------------------------------

al buscador lo conecto con la base de datos Categorias, y q de la tabla accesorios seleccione los titulos, subtitulos, fecha y foto en ves de precio xD. :)

luego de esto q me los muestre en array..... :(, cual seria el error que cometo, me dices que

Si no muestra nada es que la SQL no obtiene ningun resultado,le metes a la SQL datos de variables, pero como a esas variables no les das valor, pues no te encuentra ningun datos.

a que te refieres con valor, ?? las noticias son introducidas, atraves de un formulario. y utilizo la misma base de datos y tabla, pero como ya sabes al publicar introduce los comentario en su respectivo campo.
Ya supongo que la conexion a la BBDD esta bien y tienes datos introducidos, a lo que me refiero es:

Tu tienes esta SQL:

select * MATCH (TITULO, SUBTITULO, FECHA, PRECIO,) AGAINST ($busqueda')
as fecha FROM accesorios WHERE MATCH ($TITULO, $SUBTITULO, $FECHA, $PRECIO,) AGAINST ('$busqueda')
ORDER BY fecha DESC LIMIT 50 "

La pregunta es...si $TITULO, $SUBTITULO, $FECHA, $PRECIO, etc llevan valor.

Para ello, haz un echo de $cadbusca; ya que si no llevan nada esas variables, la sentencia que realizara MYSQL sera esta:

select * MATCH (TITULO, SUBTITULO, FECHA, PRECIO,) AGAINST (')
as fecha FROM accesorios WHERE MATCH (,,,,) AGAINST ('')
ORDER BY fecha DESC LIMIT 50 "

Y como te puedes imaginar eso no da ningun dato. Por cierto, creo que en el MATCH tienes una coma de mas, y lo mas normal, es que titulo y subtitulos los hayas colocado como string o varchar, necesitaras comillas:

select * MATCH (TITULO, SUBTITULO, FECHA, PRECIO,) AGAINST ($busqueda')
as fecha FROM accesorios WHERE MATCH ('$TITULO', '$SUBTITULO', $FECHA, $PRECIO) AGAINST ('$busqueda')
ORDER BY fecha DESC LIMIT 50 "

De ahi que te dijera que lo mas normal es que primero pusieras un formulario para darle valor a las variables o se las dieras por obligacion; es decir, si quieres hacer un formulario para que te muestre las noticias de cierta fecha, titulo, etc que el usuario puede elegir, lo primero sera hacer un formulario; y si tu le quieres mostrar unas noticias sin que el usuario pueda elegir, no necesitas variables. Para que lo entiendas, vete a mi web > Adopciones > Busqueda de animales (ahi, el usuario puede elegir campos para realizar la SQL en base a lo que elige); y en AYUDA URGENTE yo no le pregunto nada, realizo la SQL y punto.

Supongo que con esto lo habras entendido.

Un saludo.