Foros del Web » Programando para Internet » PHP »

Consultas a la base de datos

Estas en el tema de Consultas a la base de datos en el foro de PHP en Foros del Web. Hola, les agradeceria que me ayuden a buscar el problema de esta consulta, ya que son nueva en php y por lo tanto casi no ...
  #1 (permalink)  
Antiguo 17/11/2011, 11:24
 
Fecha de Ingreso: noviembre-2011
Mensajes: 16
Antigüedad: 12 años, 5 meses
Puntos: 0
Consultas a la base de datos

Hola, les agradeceria que me ayuden a buscar el problema de esta consulta, ya que son nueva en php y por lo tanto casi no se....

Tengo una tabla llamada: asignar con los datos

Grupo Fecha
_________________________________
48 14 de septiembre del 2011
50 20 de mayo del 2011
60 13 de marzo del 2011
48 10 de abril del 2011
48 02 de septiembre del 2011
_________________________________

La consulta sería: ¿Cuantos alumnos del grupo 48 entraron a la sala de computo en el mes de septiembre?
Cabe mencionar que el grupo y el mes; son datos que introduce el usuario.

El resultado de esta consulta seria
2 registros para septiembre del grupo 48

El codigo que tengo hasta ahora es:

Código PHP:
<body>

<?php  
$Grupo
=$_POST['Grupo'];  
$Fecha=$_POST['Fecha']; 
?>  

<form id="mas" name="mas" method="post" action="mas.php"> 
  <label>Grupo 
  <input name="Fecha" type="text" id="Fecha" /> 
</label> 
  <label><br /> 
  <br /> 
  Fecha 
  <input name="Grupo" type="text" id="Grupo" /> 
  </label> 
  <p> 
    <label></label> 
    <label> 
    <input name="enviar" type="submit" id="enviar" value="Buscar" /> 
    </label> 
</p> 
</form> 
<? 
//if(isset($_POST['enviar'])) { 

// Solo se ejecuta si se ha enviado el formulario 
$query "SELECT Grupo, Fecha FROM asignar WHERE Grupo='$Grupo' and Fecha='%".$Fecha."%'"
$resultado mysql_query($query); 

while(
$row mysql_fetch_array($resultado)){ 
  echo 
"<tr>"
  echo 
"<td>".$row['Grupo']."</td>"
  echo 
"<td>".$row['Fecha']."</td>"
  echo 
"</tr>"

?> 

</body>
</html>
Pero no funciona!!!!
Me pueden ayudar me urge.

GRacias!!!!
  #2 (permalink)  
Antiguo 17/11/2011, 11:53
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
Respuesta: Consultas a la base de datos

Bueno no esta tan mal, si no que te falta logica:
Código PHP:
Ver original
  1. <body>
  2.  
  3. <?php
  4. $Grupo = isset($_POST['Grupo']) ? $_POST['Grupo'] : '';
  5. $Fecha = isset($_POST['Grupo']) ? $_POST['Fecha'] : '';
  6. ?>
  7.  
  8. <form id="mas" name="mas" method="post" action="mas.php">
  9.   <label>Grupo
  10.   <input name="Fecha" type="text" id="Fecha" value="<?php echo $Grupo; ?>" />
  11. </label>
  12.   <label><br />
  13.   <br />
  14.   Fecha
  15.   <input name="Grupo" type="text" id="Grupo" value="<?php echo $Fecha; ?>" />
  16.   </label>
  17.   <p>
  18.     <label></label>
  19.     <label>
  20.     <input name="enviar" type="submit" id="enviar" value="Buscar" />
  21.     </label>
  22. </p>
  23. </form>
  24. <?
  25. //if(isset($_POST['enviar'])) {
  26.  
  27. // Solo se ejecuta si se ha enviado el formulario
  28. $query = "SELECT Grupo, Fecha FROM asignar WHERE Grupo='$Grupo' and Fecha='%".$Fecha."%'";
  29. $resultado = mysql_query($query);
  30. if(mysql_num_rows($resultado)){
  31.     while($row = mysql_fetch_array($resultado)){
  32.       echo "<tr>";
  33.       echo "<td>".$row['Grupo']."</td>";
  34.       echo "<td>".$row['Fecha']."</td>";
  35.       echo "</tr>";
  36.     }
  37. }else{
  38.     echo 'No hay resultados Mi Amor!';
  39. }
  40. ?>
  41.  
  42. </body>
  #3 (permalink)  
Antiguo 17/11/2011, 12:15
 
Fecha de Ingreso: noviembre-2011
Mensajes: 16
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Consultas a la base de datos

ok, gracias por contestar, pero al momento de realizar la busqueda me sale este error:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL

a que se debe???
  #4 (permalink)  
Antiguo 17/11/2011, 13:11
Avatar de CesarHC  
Fecha de Ingreso: junio-2011
Ubicación: localhost
Mensajes: 566
Antigüedad: 12 años, 10 meses
Puntos: 56
Respuesta: Consultas a la base de datos

Asi probe, ami me funciona, creo que es por como llamas a fecha en la consulta.

Código PHP:
Ver original
  1. <body>
  2.  
  3. <?php
  4. $Grupo = isset($_POST['Grupo']) ? $_POST['Grupo'] : '';
  5. $Fecha = isset($_POST['Grupo']) ? $_POST['Fecha'] : '';
  6. ?>
  7.  
  8. <form id="mas" name="mas" method="post" action="Untitled-1.php">
  9.   <label>Grupo
  10.   <input name="Grupo" type="text" id="Grupo" value="<?php echo $Grupo; ?>" />
  11. </label>
  12.   <label><br />
  13.   <br />
  14.   Fecha
  15.   <input name="Fecha" type="text" id="Fecha" value="<?php echo $Fecha; ?>" />
  16.   </label>
  17.   <p>
  18.     <label></label>
  19.     <label>
  20.     <input name="enviar" type="submit" id="enviar" value="Buscar" />
  21.     </label>
  22. </p>
  23. </form>
  24. <?
  25. if(isset($_POST['enviar'])) {
  26. $server="localhost";
  27. $usuario="root";
  28. $pass="";
  29. $bd="tubd";
  30. $link=mysql_connect($server,$usuario,$pass)or die (exit(mysql_error()));
  31.  
  32. // Solo se ejecuta si se ha enviado el formulario
  33. $query = "SELECT Grupo, Fecha FROM prueba WHERE Grupo='$Grupo' and Fecha='$Fecha'";
  34. $resultado = mysql_query($query);
  35. if(mysql_num_rows($resultado)){
  36.     while($row = mysql_fetch_array($resultado)){
  37.       echo "<tr>";
  38.       echo "<td>".$row['Grupo']."</td>";
  39.       echo "<td>".$row['Fecha']."</td>";
  40.       echo "</tr>";
  41.     }
  42. }else{
  43.     echo 'No hay resultados Mi Amor!';
  44. }
  45. }
  46. ?>
  47.  
  48. </body>
__________________
Solo la práctica no te traicionara ¡¡¡¡¡¡

Seguir el camino tu debes PHP The Right Way.
  #5 (permalink)  
Antiguo 17/11/2011, 13:18
 
Fecha de Ingreso: noviembre-2011
Mensajes: 16
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Consultas a la base de datos

Se puede decir que ya "medio" funciona por que me busca a los grupos que entraron a la sala en la fecha que se introdujo, pero el problema ahora es que son todos los grupos, y yo solo quiero que me salga el grupo que se introdujo en la fecha que igual se introdujo, como se haria???

Mi codigo:

Código PHP:
<?php
require("conexion.php");
require(
"funciones.php");

$criterio getParam($_GET["criterio"], "");
$Grupo=$_POST['Grupo']; 
$total 0;
if (
$criterio != "") {
    
$query "SELECT Fecha, Grupo from asignar WHERE Fecha like '%{$_GET['criterio']}%' OR Grupo='%{$_GET['Grupo']}%'";
    
$queEmp mysql_query($query$conexion);
    
$total mysql_num_rows($queEmp);
}
?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Consultar grupos</title>
<link href="styles.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
.Estilo1 {font-size: 18px}
-->
</style>
</head>
<body>
<h3>Buscador de Grupos: </h3>
<p class="Estilo1">  Fecha</p>
<form id="frbuscar" name="frbuscar" method="get" action="">
    <p>
      <input name="criterio" type="text" id="criterio" size="25" value="<?php echo $criterio?>" />
    </p>
    <p>
      <label>
      <input type="text" name="Grupo" id="Grupo" />
      </label> 
    </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 ?>
</table>
<p>
  <?php ?>
</p>


<p>&nbsp;</p>
</body>
</html>
por favor que me ayuden, lo necesito!!!
Gracias!!!
  #6 (permalink)  
Antiguo 17/11/2011, 13:29
Avatar de CesarHC  
Fecha de Ingreso: junio-2011
Ubicación: localhost
Mensajes: 566
Antigüedad: 12 años, 10 meses
Puntos: 56
Respuesta: Consultas a la base de datos

Asi solo te mostraria el grupo y la fecha segun los datos que ingresaste.

Código PHP:
Ver original
  1. SELECT Grupo, Fecha FROM prueba WHERE Grupo='$Grupo' and Fecha='$Fecha'
__________________
Solo la práctica no te traicionara ¡¡¡¡¡¡

Seguir el camino tu debes PHP The Right Way.
  #7 (permalink)  
Antiguo 22/11/2011, 10:29
 
Fecha de Ingreso: noviembre-2011
Mensajes: 16
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Consultas a la base de datos

Cita:
Iniciado por CesarHC Ver Mensaje
Asi solo te mostraria el grupo y la fecha segun los datos que ingresaste.

Código PHP:
Ver original
  1. SELECT Grupo, Fecha FROM prueba WHERE Grupo='$Grupo' and Fecha='$Fecha'
Gracias CesarHC, la consulta si la realiza, pero como puedo hacer para que en el cuadro de texto 'Fecha', con solo introducir 'septiembre' me busque todos los registros guardados en 'septiembre' y no tener que teclear '14 de septiembre del 2011'?????

Ayudame por favor me urge

Por favor ayuda para terminar esta consulta
  #8 (permalink)  
Antiguo 22/11/2011, 10:56
Avatar de CesarHC  
Fecha de Ingreso: junio-2011
Ubicación: localhost
Mensajes: 566
Antigüedad: 12 años, 10 meses
Puntos: 56
Respuesta: Consultas a la base de datos

Podrias tener en tu bd los campos dia,mes,año e ingresar los datos por separado en vez de toda la fecha en un solo campo.
__________________
Solo la práctica no te traicionara ¡¡¡¡¡¡

Seguir el camino tu debes PHP The Right Way.

Etiquetas: formulario, html, mysql, registro, tabla, usuarios
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 02:47.