Foros del Web » Programando para Internet » PHP »

buscador con dos campos en BD

Estas en el tema de buscador con dos campos en BD en el foro de PHP en Foros del Web. Hola todos tengo un buscador en php el cual el me busca en mi BD y pues trabaja muyyyy bien a la mil maravillas pero ...
  #1 (permalink)  
Antiguo 10/07/2010, 22:57
 
Fecha de Ingreso: octubre-2006
Ubicación: Ciudad Ojeda, Venezuela
Mensajes: 123
Antigüedad: 17 años, 6 meses
Puntos: 0
Pregunta buscador con dos campos en BD

Hola todos tengo un buscador en php el cual el me busca en mi BD y pues trabaja muyyyy bien a la mil maravillas pero he tratado que en ves de buscar usando un solo campo me busque usando dos campos es que necesito buscar datos entre fechas por ejemplo que busque registros entre una fecha y otra los campos seria Fecha y Fecha2 aquí les dejo el código para ver que me pueden ayudar y si alguien necesita el código pues lo pueden usar:


Código PHP:
<?php
$link 
mysql_connect("localhost""hola""VVVVV") or die ("Error en la Base de iyc");
$bd=mysql_select_db("basededatos",$link) or die ("Verifique la Base de iyc");
$Fecha_vab=$_POST["Fecha"];
$Fecha2_vab=$_POST["Fecha2"];
if (
$Fecha_vab!="")
{
    
$sql=mysql_query("SELECT * from `iyc` WHERE Fecha LIKE '%$Fecha_vab%' OR Fecha2 LIKE '%$Fecha2_vab%'",$link);
    if (
mysql_num_rows($sql)>0)
    {
        
$tabla=mysql_query("SELECT * from `iyc` WHERE Fecha LIKE '%$Fecha_vab%' OR Fecha2 LIKE '%$Fecha2_vab%'",$link);
        while (
$registro mysql_fetch_array($tabla))
        {
        echo 
'<table border="1" width="100%" id="table1" bordercolor="#000000" cellspacing="1" height="83" cellpadding="0" style="border-collapse: collapse">';
        echo 
'<tr>';
        echo 
'<td><p align="justify" style="margin-left: 5px"><b>FECHA<b></td>';
        echo 
'<td><p align="center"><b>PLANILLA<b></p></td>';
        echo 
'<td><p align="justify" style="margin-left: 5px"><b>DECLARACIÓN<b></td>';
        echo 
'<td><p align="justify" style="margin-left: 5px"><b>PERIODO<b></td>';
        echo 
'<td><p align="justify" style="margin-left: 5px"><b>TOTAL<b></td>';
        echo 
'<td><p align="justify" style="margin-left: 5px"><b>ESTADO<b></td>';
        echo 
'</tr>';
$tabla=mysql_query("SELECT * from `iyc` WHERE Fecha LIKE '%$Fecha_vab%' OR Fecha2 LIKE '%$Fecha2_vab%'",$link);
        while (
$registro mysql_fetch_array($tabla))
{
   echo 
'<tr>';
   echo 
'<td width="5" height="30">' $registro['Fecha'] . '</td>';
   echo 
'<td><p align="center">' $registro['Inicial'] . '' $registro['Id'] . '</p></td>';
   echo 
'<td><p align="justify" style="margin-left: 5px">' $registro['Declara1'] . ' </td>';
   echo 
'<td><p align="justify" style="margin-left: 5px">' $registro['T1'] . ' <font color="#0000FF">' $registro['T2'] . '</font> ' $registro['T3'] . ' <font color="#0000FF">' $registro['T4'] . '</font>  ' $registro['Anios2'] . '</td>';
   echo 
'<td><p align="justify" style="margin-left: 5px">' $registro['total'] . ' Bs.</td>';
   echo 
'<td><p align="justify" style="margin-left: 5px">' $registro['Estado'] . ' </td>';
   echo 
'</tr>';
}
echo 
'</table>'
        }

    }
    else
    {
        echo 
"¡No existen resultados para tu búsqueda!\n";
    }
}
else
{
    echo 
"<b>Error:</b> ¡Debes ingresar los iyc correctamente!\n";
}
?>
De ante mano gracias por la ayuda que me puedan dar

Última edición por expecimen; 18/07/2010 a las 10:29
  #2 (permalink)  
Antiguo 10/07/2010, 23:31
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 21 años, 8 meses
Puntos: 8
Respuesta: buscador con dos campos en BD

Hola.. Primero, lo que veo es que estas haciendo la misma consulta a la base de datos dos veces innecesariamente.... Cuando hagas el while usa la variable $sql adentro en vez de $tabla, $sql y $tabla es lo mismo, ni crees esta ultima.

Con respecto a lo de buscar por dos campos, tenes que crear la consulta para que haga tal cosa:
Código SQL:
Ver original
  1. SELECT * FROM `datos` WHERE Nombre LIKE '%$Nombre_vab%' OR otroCampo LIKE '%$otraVariable%'

Con el tema de las fechas, adentro de la consulta podes usar
Código SQL:
Ver original
  1. ..... AND campo BETWEEN $fecha1 AND $fecha2
Podes ir agregando condiciones usando AND o OR... Podrias googlear un poco tutoriales de SQL si te quedan dudas..

Espero haberte ayudado..
Saludos!!
  #3 (permalink)  
Antiguo 11/07/2010, 02:37
 
Fecha de Ingreso: octubre-2006
Ubicación: Ciudad Ojeda, Venezuela
Mensajes: 123
Antigüedad: 17 años, 6 meses
Puntos: 0
Respuesta: buscador con dos campos en BD

Hola fran86 gracias por la ayuda me ayudo lo que me dijiste y pude hacerlo ya hace busque de dos campos pero hora el problemas es que yo quiero hacer búsqueda entre fechas por ejemplo: yo quiero hacer los registrados que hubieron entre la fecha 01/01/2010 y 15/04/2010 es decir que me arroje el resultado de todo los registrados entre esa dos fechas actualmente el hace la búsqueda pero solo me da los registrados del 01/01/2010 y 15/04/2010 y no me da los de los mes 02, 03 se que mediante BETWEEN se puede hacer pero pruebo y pruebo y no hallo como hago para que arranque siempre me arroja un mensaje de error. las fecha no esta por DATATIME es solo VARCHAR.


Etiquetas: bd, campos, dos, buscadores
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:36.