elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  Ayuda con Consulta.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 2 [3] 4 5 6 7 8 Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con Consulta.  (Leído 34,774 veces)
royerphpmysql

Desconectado Desconectado

Mensajes: 64


que rico tequila.


Ver Perfil
Re: Ayuda con Consulta.
« Respuesta #20 en: 20 Marzo 2010, 02:56 am »

El alumno  ALMANZA MAURICIO de matricula: 91901014429 obtuvo las siguiente calificaciones:
Codigo de Materia: M12 | Calificacion: 70
Codigo de Materia: M11 | Calificacion: 90
Codigo de Materia: M10 | Calificacion: 80
Codigo de Materia: M10 | Calificacion: 90


jajajajajajajjaa ya jaloooooooo gracias a todosss los quieroooo


En línea

^Tifa^


Desconectado Desconectado

Mensajes: 2.804


Ver Perfil
Re: Ayuda con Consulta.
« Respuesta #21 en: 20 Marzo 2010, 03:13 am »

Gracias a Skeletron por aportar codigo funcional  ;)   ;)   ;)


En línea

Skeletron


Desconectado Desconectado

Mensajes: 1.731


A long way to go


Ver Perfil WWW
Re: Ayuda con Consulta.
« Respuesta #22 en: 20 Marzo 2010, 03:19 am »

Perfecto tio...
Cualquier otra cosita, grita! :)


Cya!!
En línea

royerphpmysql

Desconectado Desconectado

Mensajes: 64


que rico tequila.


Ver Perfil
Re: Ayuda con Consulta.
« Respuesta #23 en: 20 Marzo 2010, 05:04 am »

Skeletron tengo otra bronca D: D: espeor no te molestes.

fijate que quiero filtrar la consulta por matricula y hago una pregunta asi.

<form action="consultasola.php" method="post">
   <div align="left">
     <h1 align="center">Consulta de Calificaciones</h1>
     <p> <br>
       Matricula del Alumno:
       <input name="matricula" type="text" id="matricula" size="17">
       <input type=submit name="Buscar" value="Buscar">
       </p>
   </div>
   <td><div align="center">
     <h3><a href="entra.php">Retornar al Men&uacute; Principal </a></h3>
     <p>&nbsp;</p>
     <p>Tarea Sistema de Administracion de Alumnos</p>
   </div>
   </form>


y el otro programa qe se llama consultasola.php est asi

   // Conectar con el servidor de base de datos
      $conexion = mysql_connect ("localhost", "root", "root")
         or die ("No se puede conectar con el servidor");

   // Seleccionar base de datos
      mysql_select_db ("escuela")
         or die ("No se puede seleccionar la base de datos");

   // Obtener datos
 $matricula= $_REQUEST['matricula']; <---------aqui tambien utilice el GET y me sigue mostrando el resultado anterior, le puse el POST y tampoco me lo aceptal

 
   
       $res=mysql_query("SELECT alumnos.nombres, alumnos.apellidos, alumnos.matricula, kardex.calif1A, kardex.codigomateria FROM alumnos, kardex WHERE kardex.matricula=alumnos.matricula");

       $row=mysql_fetch_array($res); //hago esto, para poder tomar el nombre antes de entrar al WHILE.
       echo "El alumno ".$row['nombres']." ".$row['apellidos']." y con  Matricula: ".$row[matricula]." obtuvo las siguientes calificaciones:</br>";

         while($row=mysql_fetch_array($res)){   
         
         echo "Materia: ".$row['codigomateria']." | Calificacion: ".$row['calif1A']."</br>";


       }
echo "<ul> </ul>";

      
              echo "<ul> </ul>";
       echo "<td><div align=left><a href=entra.php>Retornar al Menú Principal</a></div></td>";

 no me acepta leer una variable de afuera.

En línea

royerphpmysql

Desconectado Desconectado

Mensajes: 64


que rico tequila.


Ver Perfil
Re: Ayuda con Consulta.
« Respuesta #24 en: 20 Marzo 2010, 05:19 am »

le puse el trim

trim ($matricula);
if (!$matricula || !$matricula)
{
echo "Campo de búsqueda vacío . Inténtalo de nuevo. ";
exit;

pero no me funciono nomas me sale la primer matricula
En línea

Skeletron


Desconectado Desconectado

Mensajes: 1.731


A long way to go


Ver Perfil WWW
Re: Ayuda con Consulta.
« Respuesta #25 en: 20 Marzo 2010, 14:57 pm »

Bien tio... Por lo que vemos, te falta mucho de PHP.. Pero no te preocupes.. PHP es facil de aprender.. Si sigues tocando mucho, aprenderas rapido..

La primer pagina esta perfecta..
Pero la 2º (la de la consulta) esta mal..

SI lo que tu quieres, es filtrar las consultas por una matricula especifica, entonces, los cambios no tienen que ser en el codigo, sino, solamente en la consulta SQL...

Tu tienes ésto:
Código
  1. // Obtener datos
  2. $matricula= $_REQUEST['matricula'];
  3.  
  4.       $res=mysql_query("SELECT alumnos.nombres, alumnos.apellidos, alumnos.matricula, kardex.calif1A, kardex.codigomateria FROM alumnos, kardex WHERE kardex.matricula=alumnos.matricula");

Primero, borra: $_REQUEST['matricula'] <<<< no es necesario

Y luego, hay que hacer los cambios en el SQL...
Si esa consulta devuelve todas las matriculas por alumnos, simplemente le tienes que agregar al WHERE, lo siguiente:
AND alumno.matricula=".$_POST['matricula']
Para que quede así:

      
Código
  1. $res=mysql_query("SELECT alumnos.nombres, alumnos.apellidos, alumnos.matricula, kardex.calif1A, kardex.codigomateria FROM alumnos, kardex WHERE kardex.matricula=alumnos.matricula AND alumno.matricula=".$_POST['matricula']);

OJO...
Supongamos que alguien, en el campo de MATRICULA, en vez de escribir un numero de matricula, escribe un codigo SQL...
Por ejemplo:
'' UNION XXXXXXXXXXXXXXXXXX
La consulta SQL se trasformaría a un ataque contra tu base de datos...
Tienes que leer en que consiste el ataque: SQL INYECTION.
Una vez que entiendas como es, y en que consiste (que es MUY FACIL DE ENTENDER), querras saber como se evita ese tipo de ataques, y es muy facil:
Agrega a cada variable que coloques dentro de la sentencia SQL, lo siguiente:
mysql_real_escape_string()

Para que quede así:

Código
  1. $res=mysql_query("SELECT alumnos.nombres, alumnos.apellidos, alumnos.matricula, kardex.calif1A, kardex.codigomateria FROM alumnos, kardex WHERE kardex.matricula=alumnos.matricula AND alumno.matricula=".mysql_real_escape_string($_POST['matricula']));




Y tio... ahora que lo pienso:
El primer codigo que te dí de PHP, ese funcionaba cuando solo habia 1 alumnos en tu base de datos... ya que tampoco filtrabamos nombrs de alumnos,, ni nada de eso...
Y efectivamente, éste es el codigo correcto ;)


Un placer ayduarte..
Si el codigo no te funciona, o sigues teniendo dudas, tu sigue preguntando
En línea

royerphpmysql

Desconectado Desconectado

Mensajes: 64


que rico tequila.


Ver Perfil
Re: Ayuda con Consulta.
« Respuesta #26 en: 20 Marzo 2010, 17:30 pm »

que onda amigo.

quedo asi.

$res=mysql_query("SELECT alumnos.nombres, alumnos.apellidos, alumnos.matricula, kardex.calif1A, kardex.codigomateria, kardex.fechacalif FROM alumnos INNER JOIN kardex ON kardex.matricula=alumnos.matricula WHERE alumnos.matricula = $matricula");


donde desde otro formulaio pregunt por la matricula. y ya me da la matricula queyo quiero..

efectivamente me falta mas en php y mysql y aqui aprendere mucho con ustedes, muchas gracias ahora lo que voy a hacer es acomodr los echo en una tabla o determinada parte con un formato.
En línea

royerphpmysql

Desconectado Desconectado

Mensajes: 64


que rico tequila.


Ver Perfil
Re: Ayuda con Consulta.
« Respuesta #27 en: 20 Marzo 2010, 17:43 pm »

no viene adjunto el codigo de las 2 post anteriores tuyos.
En línea

Skeletron


Desconectado Desconectado

Mensajes: 1.731


A long way to go


Ver Perfil WWW
Re: Ayuda con Consulta.
« Respuesta #28 en: 20 Marzo 2010, 20:35 pm »

Mira, ese codigo que te di ultimo, es lo que debes reemplazarle a todo el codigo anterior, para que funcione bien POR MATRICULA...
Entiendes?

Tu ingresas la matricula en la pagina xxx.php la cual tiene un form que dirije a yyy.php..
en yyy.php tienes que tener lo anterior, ese while($row=....) que te he dado, en reemplazar la cadena mysql_query() por lo que te dí ahí...

Digamos que tiene que quedar así:

Código
  1. $res=mysql_query("SELECT alumnos.nombres, alumnos.apellidos, alumnos.matricula, kardex.calif1A, kardex.codigomateria, kardex.fechacalif FROM alumnos INNER JOIN kardex ON kardex.matricula=alumnos.matricula WHERE alumnos.matricula =".$_POST['matricula']);
  2.  
  3. $row=mysql_fetch_array($res) //hago esto, para poder tomar el nombre antes de entrar al WHILE.
  4.  
  5. echo 'El alumno '.$row['apellido'].' '.$row['nombre'].' de matricula: '.$row[matricula].' obtuvo las siguiente calificaciones:</br>';
  6.  
  7. echo 'Codigo de Materia: '.$row['codigomateria'].' | Calificacion: '.$row['calificacion'].'</br>';
  8.  
  9. while($row=mysql_fetch_array($res)){
  10.  
  11.   echo 'Codigo de Materia: '.$row['codigomateria'].' | Calificacion: '.$row['calificacion'].'</br>';
  12.  
  13. }
  14.  
  15.  
En línea

royerphpmysql

Desconectado Desconectado

Mensajes: 64


que rico tequila.


Ver Perfil
Re: Ayuda con Consulta.
« Respuesta #29 en: 20 Marzo 2010, 20:51 pm »

yessss muchas gracias señor ya pude...
En línea

Páginas: 1 2 [3] 4 5 6 7 8 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con una consulta compleja
Bases de Datos
luison 0 1,758 Último mensaje 17 Mayo 2011, 17:29 pm
por luison
ayuda con consulta sql
Bases de Datos
Mr.Blue 4 4,088 Último mensaje 16 Septiembre 2011, 23:23 pm
por fran800m
Ayuda con Consulta
PHP
dimitrix 1 1,737 Último mensaje 20 Febrero 2012, 20:16 pm
por HdM
ayuda en consulta
Bases de Datos
elnet 2 2,340 Último mensaje 13 Noviembre 2012, 18:02 pm
por Hadess_inf
ayuda consulta
Dudas Generales
24592 4 2,492 Último mensaje 21 Noviembre 2014, 21:39 pm
por tremolero
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines