[PHP+MYSQL] Busqueda en Base de Datos de multiples campos

      • 3,705
      • mensajes
      • miembro desde
      • 10/08/03
    • Religion is a club
    #1 [PHP+MYSQL] Busqueda en Base de Datos de multiples campos

    Como hago un sistema de busqueda que sea en PHP y consulte a MySQL en varios campos, es decir, algo asi:

    Buscar por:
    Nombre: ____
    Tipo: ____
    Fecha: ____

    Porque busque por todos lados y no encontre. Gracias
    Ciao

  1. ¿Este tema te pareció interesante? Compártelo!

    ¿No es lo que buscabas? Intenta buscar un tema similar

    10 comentarios / 332974 Visitas

      • 873
      • mensajes
      • miembro desde
      • 15/06/02
    26/01/2005
    #2 Re: [PHP+MYSQL] Busqueda en Base de Datos de multiples campos

    $consulta = mysql_query "SELECT * FROM TABLA";
    $consulta = mysql_fetch_object($consulta)

    echo "Nombre: " . $consulta->nombre (o como se llame la columna que almacene el nombre)
    echo "Tipo: " . $consulta->tipo (o como se llame la columna que almacene el tipo)
    echo "Fecha: " . $consulta->fecha (o como se llame la columna que almacene la fecha)

    Eso es algo muy básico.
    Cualquier cosa preguntá.

      • 3,705
      • mensajes
      • miembro desde
      • 10/08/03
    • tux
      tux está desconectado
      Religion is a club
    26/01/2005
    #3 Re: [PHP+MYSQL] Busqueda en Base de Datos de multiples campos

    Quizas no me exprese bien, a lo que me refiero es a un formulario que sea para buscar en una tabla esos campos, algo asi como el buscador que usa el vbulletin de aca que le pones por nombre de autor, texto, fecha,....
    Gracias
    Ciao

      • 52
      • mensajes
      • miembro desde
      • 07/07/04
    26/01/2005
    #4 Re: [PHP+MYSQL] Busqueda en Base de Datos de multiples campos

    Hola, si es una busqueda multiple podes hacer asi:

    Buscar por:
    Nombre: ____
    Tipo: ____
    Fecha: ____

    supongamos que los campos son:
    nombre, tipo, fecha

    y los campos del form se llaman iguales

    $c="SELECT * FROM tabla WHERE nombre='$nombre' and tipo='$tipo' and $fecha='$fecha'";

    Los datos son pasados por POST asi que se genera el array $HTTP_POST_VARS[campo], con lo cual podras examinar en contenido y demas.

    Queres hacer una busqueda por aproximacion o exacta? porque si es por aproximacion deberia cambiarse un poco la consulta

    Esa seria la consulta, despues tendrias que ejecutarla y demas..

    Saludos

    Ariel

      • 1
      • mensajes
      • miembro desde
      • 06/06/07
    07/01/2008
    #5 Re: [PHP+MYSQL] Busqueda en Base de Datos de multiples campos

    hola...buenas tardes estoy interesado en desarollar un buscador parecido al hecho por tux pero con la variante de que necesito que haga las busquedas en una serie de tablas de forma simultanea, devolviendo un numero X de campos....podrian ayudarme....gracias

      • 143
      • mensajes
      • miembro desde
      • 29/11/06
    08/01/2008
    #6 Re: [PHP+MYSQL] Busqueda en Base de Datos de multiples campos

    En cuanto al post de Tux, lo que dijo Finalsite está bien, aunque si lo haces asi, y uno de los campos está vacio no te va a encontrar nada. para hacer los 2 primeros campos opcionales podes agregar:

    $c="SELECT * FROM tabla WHERE (nombre='$nombre' or '$nombre' ='') and (tipo='$tipo' or '$nombre' = '') and $fecha='$fecha'";

    En cuanto a la consulta de Bigmario no se bien como es la estructura, pero con algun join debería alcanzar.

      • 1
      • mensajes
      • miembro desde
      • 09/09/08
    13/03/2009
    #7 Re: [PHP+MYSQL] Busqueda en Base de Datos de multiples campos

    respecto a lo que decian tengo otra opinion

    es mejor usarla (creo yo) con like para que siempre muestre algo cuando los campos esten vacios, aunque es parecido a filtrar resultados:

    $c="SELECT * FROM tabla WHERE nombre LIKE '%$nombre%' and tipo LIKE '%$tipo%' and $fecha LIKE '%$fecha%'";


      • 129
      • mensajes
      • miembro desde
      • 10/03/05
    14/03/2009
    #8 Re: [PHP+MYSQL] Busqueda en Base de Datos de multiples campos

    Es mejor la que dijo Registrarse Inicia sesión eeav3000 solo que no es bueno usar el AND sino el OR , porque si buscas "car" y hay un nombre carlos , hay un apellido carlo magno pero no hay una fecha "car" no te arroja resultados . Y si deberia arrojarlos.

    Un gran problema del like y el OR es la performance se te va al piso, tenes q usar indices y que esten bien puestos y asi ganar algo mas de performance peor el OR y el LIKE son consumidores por excelencia

      • 38
      • mensajes
      • miembro desde
      • 11/03/09
    14/03/2009
    #9 Re: [PHP+MYSQL] Busqueda en Base de Datos de multiples campos

    Mira la forma más facil es esta:
    Digamos que los textbox de: nombre, tipo y fecha se llaman de la misma manera.
    Es decir: $nombre, $tipo y $fecha.
    Y digamos que el formulario de la busqueda nos lleva a
    buscar.php

    Código PHP:
    <?php
    // POR MATYSANCHEZ
    // CONFIGURAR LA SIGUIENTE LINEA
    $TU_TABLA NUESTRA_TABLA
    // LISTO :P
    $sql  'SELECT * FROM $TU_TABLA WHERE 
    nombre LIKE \'$nombre\' 
    OR
    tipo LIKE \'$tipo\'
    OR 
    fecha LIKE \'$fecha\'
    '
    ?>
    Espero que te sirva suerte .
    Saludos .
      • 1
      • mensajes
      • miembro desde
      • 17/12/09
    17/12/2009
    #10 Re: [PHP+MYSQL] Busqueda en Base de Datos de multiples campos

    TENGO UN PROBLEMA ESPERO ME PUEDAN AYUDAR MI CODIGO ES EL SIG:
    $equipo = $_POST['equipo'];
    $resultado = mysql_query("SELECT * FROM Autotanque where equipo LIKE \'$equipo\'");
    $row = mysql_fetch_array($resultado);
    $equipo = $row['equipo'];
    $placa = $row['placa'];
    $anio = $row['anio'];
    $marca=$row['marca'];
    $modelo = $row['modelo'];
    $capacidad = $row['capacidad'];
    echo "Equipo: $equipo<br>";
    echo "Placa: $placa<br>";
    echo "Año: $anio<br>";
    echo "Modelo: $modelo<br>";
    echo "Capacidad: $capacidad<br>";

    PERO NO ME MUESTRA LA INF ME PODRIAN DECIR

12 Último
IR ARRIBA