Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

COmparaciones

Estas en el tema de COmparaciones en el foro de Mysql en Foros del Web. Hola buenos dias, les agradeceria que me ayuden a resolver esta consulta: Tengo una tabla llamada asignar(Donde se llenar los datos del alumno y de ...
  #1 (permalink)  
Antiguo 16/11/2011, 08:45
 
Fecha de Ingreso: noviembre-2011
Mensajes: 16
Antigüedad: 12 años, 5 meses
Puntos: 0
COmparaciones

Hola buenos dias, les agradeceria que me ayuden a resolver esta consulta:
Tengo una tabla llamada asignar(Donde se llenar los datos del alumno y de la computadora que se le sera asignada al alumno), quiero obtener en mi consulta la Fecha de asignacion de la maquina y el Grupo. Por ejemplo:

Grupo:48 entro para septiembre

Lo que quiero es que me muestre todos los registos guardados en la base de datos con grupo 48 y del mes de septiembre se puede???

LA consulta lo hace pero me muestra el grupo 48, pero con diferentes meses (agosto, septiembre, mayo).

DE antemano le agradezco su ayuda...

Lo necesito....
  #2 (permalink)  
Antiguo 16/11/2011, 09:10
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: COmparaciones

Hola Rey_7217:

¿Cuál es el problema con la consulta? a mi forma de ver lo resuelves con un simple WHERE... no nos dices cómo es la estructura de tu tabla, ni de qué tipo son tus campos, pero imagino que estás manejando algún campo tipo DATE o DATETIME para almacenar la fecha de asignación... si hubieras buscado un poco en las Funciones de Fecha y Hora podrías haber encontrado lo siguiente:

Código:
MONTH(date)

Retorna el mes para date, en el rango 1 a 12.

mysql> SELECT MONTH('1998-02-03');
        -> 2
Existe también la función YEAR para comparar sólo sobre el año actual.

Intenta hacer la consulta, si continuas con problemas publica algo de lo que haz intentado hacer y con gusto te ayudamos a afinar la sentencia.

Saludos
Leo.
  #3 (permalink)  
Antiguo 16/11/2011, 09:20
 
Fecha de Ingreso: noviembre-2011
Mensajes: 16
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: COmparaciones

No lo estoy manejando con DATE o DATATIME si no con un varchar, lo que quiero es que se me muestre un determinado grupo con una determinada fecha el codigo que tengo es:

<?php
require("conexion.php");
require("funciones.php");

$criterio = getParam($_GET["criterio"], "");
$total = 0;
if ($criterio != "") {
//$query = "SELECT * FROM asignar WHERE Grupo like ".sqlValue($criterio."%", "text")." ORDER BY Grupo ASC";
$query = "SELECT Fecha from asignar WHERE Fecha like '%{$_GET['criterio']}%'";
//criterio= Grupo y palabra=Fecha
//$query = "SELECT Grupo, Fecha from asignar WHERE Grupo=`{$_GET['criterio']}` LIKE Fecha='%{$_GET['palabra']}%'";
$queEmp = mysql_query($query, $conexion);
$total = mysql_num_rows($queEmp);
}
?>

<form id="frbuscar" name="frbuscar" method="get" action="">
<p>
<input name="criterio" type="text" id="criterio" size="25" value="<?php echo $criterio; ?>" />
</p>
<p> <input type="submit" id="btbuscar" value="Buscar" /> </p>
<p>
<?php if ($total > 0) { ?>
</p>
<p>&nbsp; </p>
</form>
<p>&nbsp;</p>
<p><em>Total de Resultados: <?php echo $total; ?></em></p>
<table width="600" border="0" cellspacing="0" cellpadding="0">
<tr>
<th>Grupo</th>
<th>Fecha</th>
</tr>
<?php while ($rsEmp = mysql_fetch_assoc($queEmp)) { ?>
<tr>
<td><?php echo $rsEmp['Grupo']; ?></td>
<td><?php echo $rsEmp['Fecha']; ?></td>

</tr>
<?php } ?>


Gracias
  #4 (permalink)  
Antiguo 16/11/2011, 09:47
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: COmparaciones

Hola de nuevo rey_7217:

Es la tercera vez en esta hora que comento lo mismo a otros foristas ESTE NO ES UN FORO DE PHP, ES UN FORO DE MYSQL, dudas de programación por favor publicarlas en el foro de php:

http://www.forosdelweb.com/f18/

En cuanto a tu problema, NUNCA DEBES MANEJAR FECHAS EN CAMPOS TIPO VARCHAR, si tienes aun posibilidad de cambiar tu modelo de BD hazlo, te aseguro que te ahorrará muchos dolores de cabeza. En cuanto a la consulta, no nos pones datos de ejemplo, pero podría ser más o menos así.

SELECT Grupo, Fecha from asignar WHERE Grupo='48' AND
upper(Fecha) like '%SEPTIEMBRE%'

OJO, aquí te daría los registros para el mes de septiembre PERO DE TODOS LOS AÑOS, si en tu campo también almacenas el año entonces deberás extraerlo para compararlo también.

Saludos
Leo.
  #5 (permalink)  
Antiguo 16/11/2011, 09:50
 
Fecha de Ingreso: noviembre-2011
Mensajes: 16
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: COmparaciones

Gracias!!!

Etiquetas: select
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 23:48.