Error en buscador php necesito corregir el problema

Necesito por favor arreglar este buscador para que me funcione, el código lo encontré y me parece interesante por la forma como según funciona, pero al ponerlo no hace nada, solo me muestra el código nuevamente en el navegador, según me dicen debo poner las variables post que recojan información, pero no se de php para poder arreglarlo, entiendo el concepto que debo crear una variable que recoja la información del formulario pero no se como adaptarlo, quisiera por favor entender el código y me ayuden a que funcione, la base se llama academ, la tabla login y los campos de momento user, email, debería reconocer la palabra a buscar en html un input y mostrarme los campos de la búsqueda en html.

<!--Debe ser en paginas independientes el html y php--->
<tr> 
        <form method="post" action="../../Adminback/buscar.php" >
            <td align="center">
                <input type="text" name="busqueda" value="" />
            </td>
        </tr>
<?php
//cadena de conexion
mysqli_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, user FROM academ WHERE VISIBLE =1
      AND email LIKE  '%$busqueda%' OR user 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, user, MATCH ( user, email )
      AGAINST (  '$busqueda' ) AS Score FROM academ WHERE
      MATCH ( user, email ) AGAINST (  '$busqueda' ) ORDER  BY Score DESC LIMIT 50";
  }
  $result=mysqli("academ", $cadbusca);
  While($row=mysqli_fetch_object($result))
  {
    //Mostramos los titulos de los articulos o lo que deseemos...
    $referencia=$row->REFERENCIA;
    $titulo=$row->TITULO;
    echo $referencia." - ".$titulo."<br>";
  }
}
?>

1 Respuesta

Respuesta

Necesito algo más de información acerca de todo lo que tienes, es un poco difícil dar una respuesta sin más datos, así que voy a hacer algunas suposiciones. Corrígeme si me equivoco.

A partir del código que presentas entiendo que lo tienes separado en archivos distintos, es decir, el form está en un archivo, y el código que lo gestiona está en otro archivo, concretamente en ../../Adminback/buscar.php.

Te aconsejo que uses rutas absolutas para referirte al archivo que responde al formulario.

Si te muestra el código, entiendo que el código php, posiblemente sea porque todo está en el mismo archivo y éste no tiene extensión php.

A ver, cuando el servidor tiene que leer un archivo, si es .php sabe que posiblemente tenga que interpretar (parsear) código php en algún momento. Si no es así, cuando encuentra código php lo trata como texto y loo imprime en pantalla sin más.

Agradecería más información sobre lo que tienes: qué archivos son, en qué carpetas están, qué extensión tienen... para poder darte mejor información para solucionar tu problema.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas