Foros del Web » Programando para Internet » PHP »

Realizar búsqueda con multiples condiciones

Estas en el tema de Realizar búsqueda con multiples condiciones en el foro de PHP en Foros del Web. Buen día a todos, Estoy comenzando a desarrollar en PHP tratando de ampliar mis conocimientos en diferentes maneras. Quizas la pregunta sea básica, pero he ...
  #1 (permalink)  
Antiguo 29/10/2012, 14:29
 
Fecha de Ingreso: octubre-2012
Mensajes: 3
Antigüedad: 11 años, 6 meses
Puntos: 0
Pregunta Realizar búsqueda con multiples condiciones

Buen día a todos,
Estoy comenzando a desarrollar en PHP tratando de ampliar mis conocimientos en diferentes maneras.
Quizas la pregunta sea básica, pero he intentado resolver el problemas de varias maneras y no encuentro solución al mismo.
El problema consiste en lo siguiente: Tengo una base de datos con diferentes tablas creadas, tambien he escrito una porción de código en PHP el cual realiza una búsqueda dentro de la base de datos de acuerdo a la fecha determinada por el usuario y le muestra los registros contenido en la base de datos de acuerdo a la fecha indicada.
Cada registro tiene una fecha y un "Status". El problema reside en que quisiera que el usuario pueda realizar una búsqueda combinada entre la fecha del registro y el estado del mismo. El Status consiste en dos tareas "Realizado" y "No Realizado".
Por ejemplo:


Quisiera que no solo se muestren los registros de acuerdo al rango de fecha, sino que la búsqueda también tome en cuenta el Status del registro en la base de datos. ("El "Checkbox" significa: True=Realizado y False=No Realizado).

¿Cuál seria la mejor manera para conseguir el resultado?
En caso de necesita la porción de código que he desarrollado la puedo proveer. Saludos y gracias de antemano.
  #2 (permalink)  
Antiguo 30/10/2012, 13:58
 
Fecha de Ingreso: octubre-2012
Mensajes: 3
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Realizar búsqueda con multiples condiciones

Creo que incluiré el código, pienso que les dará una idea mas visual de mi duda:

Mi form:
Código PHP:
<form method = "post" action = "<?php echo $_SERVER['PHP_SELF'];?>">
<table width = "600" align = "center">
    <tr>
        <td><b><i>Por favor entre las fechas de busqueda a continuacion (fecha mas antigua primero)</i></b></td>
    </tr>
    <tr>
        <td>
        <span style="margin-left:60px;">Desde:</span>
        <input type = "date" name = "desde">
        Hasta:
        <input type = "date" name = "hasta">
        Status:
        <input type='checkbox' name='Status' value='Realizado'/></td>
    </tr>
    <tr>
        <td align = "center">
            <input type = "submit" name = "search" value = "Buscar">
            <input type = "reset" value = "Limpiar">
        </td>    
    </tr>
</table>
</form>
Y esta es la porción que tengo dudas:

Código PHP:
<?php
if(!isset($_POST['search']))
{
?>

<?php
}
else
{
    
$small trim($_POST['desde']);
    
$large trim($_POST['hasta']);
    
    
$connection mysql_pconnect("HOST""USER""PASS") or die("Connection failed. ".myslq_error());
    
mysql_select_db("DATABASE") or die("Unable to select db. ".mysql_error());
    
$query "SELECT * FROM registros WHERE Date >= '$small' AND Date <= '$large' ORDER BY date ASC";
    
$result mysql_query($query) or die(mysql_error());
    
    echo 
"<table width = '700' align = 'center'>";
    echo 
"<tr><b>";
        echo 
"<td>Fecha de Registro</td>";
        echo 
"<td>Status</td>";
    echo 
"</b></tr>";
    while(
$record mysql_fetch_object($result))
    {
        echo 
"<tr>";
            
$year_part_of_date explode('-'$record->date);
            echo 
"<td>".$record->date."</td>";
            echo 
"<td>".$record->Status."</td>";
        echo 
"</tr>";
    }
    echo 
"</table>";
</
div>";
    
}
?>
Quisiera que al marcar el "Checkbox" la búsqueda mostrara los registros que cumplan con lo señalado (Rango de Fechas y Checkbox) pero aun no encuentro la solución. He intentado varias formas e ideas pero nada me ha funcionado. Gracias de antemano por la ayuda que me puedan brindar. Saludos.

Etiquetas: query, sql
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:07.