Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/02/2011, 14:00
oscarbt
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
problemas en una consulta pasando variables por POST

Hola a todos, tengo un problema para hacer una consulta
Por POST, yo paso las variables para que de acuerde a esas varibles, se haga la consulta:

Muestro a continuacion el codigo donde tengo un boton para expandir la consulta.
En este codigo los datos se visualizan asi:

PERSONA: Persona 1
TRAYECTORIA LABORAL

Empresa 1 Cargo
Empresa 2 Cargo
Empresa 3 Cargo

Y en frente de los resultados anteriores se crea un boton tipo submit que me envia a data_laboral_empresa.php

Aca el codigo de :

informacion.php:
Código PHP:
Ver original
  1. <?
  2.  
  3. $cedula=$_POST['cedula'];
  4.  
  5.  
  6. $bd = mysql_connect ("localhost", "root", "root");
  7. if ( !$bd )
  8. die ("Error en la conexion con el DBMS");
  9. $base_datos = "egresados";
  10. if ( !mysql_select_db ($base_datos, $bd) )
  11. die ("Error seleccionando la base de datos");
  12. $qry = "select e.NUM_CED_EGR, e.NOM_EGR, e.APE_EGR, em.RAZ_SOC_EMP, c.NOM_CAR, em.NIT_EMP, c.COD_CAR from egresado e, empresa em, cargos_laborales c, empresas_trabajo_egresado ete  where  ete.NIT_EMP=em.NIT_EMP and e.NUM_CED_EGR=ete.NUM_CED_EGR    and c.COD_CAR=ete.COD_CAR and  e.NUM_CED_EGR='$cedula'";
  13. $resultado = mysql_query ($qry, $bd);
  14. if ( !$resultado )
  15. die ("Error ejecutando la consulta");
  16.    
  17. $num_filas = mysql_num_rows($resultado);
  18.    
  19. if ($num_filas == 0){
  20. echo 'El egresado no registra informacion laboral';
  21. }
  22.    
  23. if ($num_filas > 0){       
  24. $fila = mysql_fetch_array($resultado);
  25.        
  26. ?>
  27.  
  28. //AHORA MUESTRO LOS RESULTADOS CON CAJAS DE TEXTO
  29. <form action="data_laboral_empresa.php" method="post" id="form1" name="form1">
  30.  
  31. <tr>
  32. <td width="374"><div align="center"><strong>Cedula del egresado</strong></div></td>
  33.  <td width="569"><div align="center">
  34.   <input type="text" name="cedula" id="cedula"  readonly="readonly" value="<?php echo $fila["NUM_CED_EGR"]?>"/>
  35.   </div></td>
  36.    </tr>
  37.  
  38.  <tr>
  39. <th colspan="2"><center>TRAYECTORIA LABORAL</center></th>
  40.                                  
  41.  </tr>
  42.                                  
  43. <?php
  44. $c = 1;
  45.    do {
  46. ?>
  47.     <tr>
  48.                                        
  49.   <td><div align="center"><strong>Empresa - Cargo No - <?php echo  $c ?></strong></div></td>
  50.  <td>  <div align="center">
  51.   <input type="text" name="nombre_empresa" id="nombre_empresa" readonly="readonly"  value="<?php echo $fila["RAZ_SOC_EMP"]?>"/>  
  52.    <input type="text" name="cargo" id="cargo" readonly="readonly"  value="<?php echo $fila["NOM_CAR"]?>"/>
  53.  
  54. //ACA TENGO LOS CAMPOS OCULTOS
  55.    <input type="hidden" name="codigo_cargo" id="codigo_cargo" readonly="readonly"  value="<?php echo $fila["COD_CAR"]?>"/>
  56.  <input type="hidden" name="empresa" id="empresa"  readonly="readonly" value="<?php echo $fila["NIT_EMP"]?>"/>
  57.     <input type="hidden" name="n_cedula" id="n_cedula"  readonly="readonly" value="<?php echo $fila["NUM_CED_EGR"]?>"/>
  58.     <input type="submit" name="enviar" value="Ver" />
  59.                                    
  60.  </div></td>
  61.  </tr>
  62.                                      
  63. <?php
  64.                   $c++;
  65.    }while($fila = mysql_fetch_array($resultado));
  66. }
  67. ?>

Como se puede ver tengo campos tipo hidden que son los que voy a pasar por POST a data_laboral_empresa.php

y el codigo de data_laboral_empresa.php:


Código PHP:
Ver original
  1. <?
  2.  
  3. //archivos de conexion con base de datos
  4. include ("config.php");
  5. include ("opendb.php");
  6.  
  7. $n_cedula=$_POST['cedula'];
  8.  
  9. $empresa=$_POST['empresa'];
  10.  
  11. $codigo_cargo=$_POST['codigo_cargo'];
  12.  
  13. $qry = "SELECT e.NOM_EGR, e.APE_EGR, em.RAZ_SOC_EMP, c.NOM_CAR, ete.FEC_INI, ete.FEC_FIN, ete.DES_CAR FROM egresado e, empresa em, cargos_laborales c, empresas_trabajo_egresado ete WHERE e.NUM_CED_EGR=ete.NUM_CED_EGR and em.NIT_EMP=ete.NIT_EMP and c.COD_CAR=ete.COD_CAR and e.NUM_CED_EGR='$n_cedula' and em.NIT_EMP='$empresa' AND c.COD_CAR='$codigo_cargo' ";
  14.  
  15.    
  16. $resultado = mysql_query ($qry);
  17.    
  18. if ( !$resultado )
  19. die ("Error ejecutando la consulta");
  20. $num_filas = mysql_num_rows($resultado);
  21. if ($num_filas==0)
  22.    
  23. {
  24. echo 'No hay informacion';
  25. }
  26.    
  27. if ($num_filas > 0){       
  28. $fila = mysql_fetch_array($resultado);
  29. ?>
  30.  
  31.  
  32. //Y ahora el mostrar los resultados, me repite los resultados de la ultima empresa que se mostro en el archivo informacion.php
  33.  
  34. Nombre del egresado<input type="text" name="fecha_inicio" value="<?php echo $fila["NOM_EGR"] ?>" />
  35.  
  36. fecha de inicio del contrato:
  37.  
  38. <input type="text" name="fecha_fin" value="<? echo $fila["FEC_INI"]; ?>" />
  39.  
  40. <?php
  41.  
  42. }
  43.  
  44. ?>

porque a pesar de que me recibe las variables por POST. me muestra siempre los resultados de la ultima empresa?

Mi problema esta en informacion.php?

Espero me puedan colaborar....

Probe la consulta en el motor de base de datos (Mysql) y me arroja los datos correctamente...