Foros del Web » Programando para Internet » PHP »

Recoger valor de fila, dependiente del registro mostrado.

Estas en el tema de Recoger valor de fila, dependiente del registro mostrado. en el foro de PHP en Foros del Web. Muy buenos días foro. tengo este codigo @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código php: Ver original for ( $i = 0 ; $i < $nfilas ; $i ++ ...
  #1 (permalink)  
Antiguo 06/10/2009, 08:17
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Recoger valor de fila, dependiente del registro mostrado.

Muy buenos días foro.

tengo este codigo

Código php:
Ver original
  1. for ($i=0; $i<$nfilas; $i++)
  2.          {
  3.             $resultado = mysql_fetch_array ($consulta);
  4.             print ("<TR>\n");
  5.             print ("<TD height='40'><center><font size='2'><font face='calibri'>" . $resultado['identificacion'] . "</center></TD>\n\n");
  6.             print ("<TD><center><font size='2'><font face='calibri'>" . $resultado['apellidos'] . "</center></TD>\n\n");
  7.             print ("<TD><center><font size='2'><font face='calibri'>" . $resultado['nombres'] . "</center></TD>\n\n");
  8.             print ("<TD><center><font size='2'><font face='calibri'>" . $resultado['domicilio'] . "</center></TD>\n\n");
  9.             print ("<TD><center><font size='2'><font face='calibri'>" . $resultado['estado'] . "</center></TD>\n\n");
  10.             print ("<TD><center><font size='2'><font face='calibri'>" . $resultado['telefono'] . "</center></TD>\n\n");
  11.             print ("<TD><center><font size='2'><font face='calibri'>" . $resultado['telefonopc'] . "</center></TD>\n\n");
  12.             print ("<TD><center><font size='2'><font face='calibri'>" . $resultado['eps'] . "</center></TD>\n\n");
  13.             print ("<TD><center><font size='2'><font face='calibri'>" . $resultado['pension'] . "</center></TD>\n\n");
  14.             print ("<TD><center><font size='2'><font face='calibri'>" . $resultado['arp'] . "</center></TD>\n\n");
  15.             print ("<TD><center><font size='2'><font face='calibri'>" . $resultado['cargo'] . "</center></TD>\n\n");
  16.             print ("<TD><center><font size='2'><font face='calibri'>" . $resultado['tcontrato'] . "</center></TD>\n\n");
  17.             print ("<TD><center><font size='2'><font face='calibri'><a href='pdfhvida.php' target='_blank'><img src='images/fotos_empleados/" . $resultado['foto'] . "'></a></center></TD>\n\n");
  18.            
  19.          }
  20.  
  21.          print ("</TABLE>\n");
  22.       }
  23.       else
  24.          print ("<b><font size='3' color='green'>Aun no se han registrado empleados!");

El cual muestra la información de los empleados de la empresa. Como ven, dependiendo del numero de empleados registrados, se crean las tablas html con <tr> y <td> dependiendo del caso.

Ahora bien, he puesto que la imagen del empleado sea un hyperlink que genere la hoja de vida completa del empleado en pdf. Pero no se me ocurre como puedo recoger la identificación del empleado al momento de hacer click en la foto, para procesar la información en el archivo que genera el pdf.

Les agradezco enormemente.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #2 (permalink)  
Antiguo 06/10/2009, 08:25
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: Recoger valor de fila, dependiente del registro mostrado.

Pues basicamente seria crear una funcion javascript

Código JAVASCRIPT:
Ver original
  1. function pagUrl(id){
  2. window.location.href = "pdfhvida.php?id_empleado=" + id;
  3. }


y le creas ala imagen un onClick con el id del empleado.

Código php:
Ver original
  1. echo "<img src\"..\" onClick=\"pagUrl($id_empleado)\">";

Disculpa la informalidad , supongo que sabes como implementar la idea.
  #3 (permalink)  
Antiguo 06/10/2009, 08:32
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Recoger valor de fila, dependiente del registro mostrado.

Gracias por tu respuesta gjx2.
Pero el problema es que las variables como $_POST['identificacion'] se ejecutan y muestran la pagina. Cuando terminan de mostrarla, la variable $resultado despues del $resultado = mysql_fetch_array ($consulta) queda con el ultimo valor que ha recorrido. (el ultimo registro de la consulta)

Antes de esto, había probado mandandole por la url la identificación, el problema es que manda la ultima recorrida y no la foto del empleado que solicito la hoja de vida.

se entiende la idea?
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #4 (permalink)  
Antiguo 06/10/2009, 08:43
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: Recoger valor de fila, dependiente del registro mostrado.

Realmente no se por que usas esa forma para imprimir los valores.
revisa este ejemplo un poquito mas legible.

Código PHP:
Ver original
  1. <script>
  2. function pagUrl(id){
  3. window.location.href = "pdfhvida.php?id_empleado=" + id;
  4. }
  5. </script>
  6.  
  7. <table cellpadding="0" cellspacing="0" width="500" border="1">
  8. <tbody>
  9.     <tr>
  10.     <th>Nombre</th>
  11.     <th>Edad</th>
  12.     <th>Departamento</th>
  13.     <th>Foto</th>
  14.     </tr>
  15.    
  16.    
  17.     <?php while($resultado = mysql_fetch_array($consulta)): ?>
  18.    
  19.    
  20.     <tr>
  21.     <td><?php echo $resultado["Nombre"] ?></td>
  22.     <td><?php echo $resultado["Edad"] ?></td>
  23.     <td><?php echo $resultado["Departamento"] ?></td>
  24.     <td><img src="#" onClick="PagUrl('<?php echo $resultado["identificacion"]?>')"></td>   
  25.     </tr>  
  26.    
  27.    
  28.    
  29.     <?php endwhile; ?>
  30.    
  31.     </tbody>
  32.     </table>
  #5 (permalink)  
Antiguo 06/10/2009, 08:55
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Recoger valor de fila, dependiente del registro mostrado.

Lo que tu dices es muy cierto. Y en ultimas es lo que yo estaba probando dsde php sin utilizar javascript.

Tenía errores probando el script pero ya lo he solucionado así:

Código php:
Ver original
  1. print ("<TD><center><font size='2'><font face='calibri'><a href='pdfhvida.php?identificacion=".$resultado['identificacion']."' target='_blank'><img src='images/fotos_empleados/" . $resultado['foto'] . "'></a></center></TD>\n\n");

Desde pdfvida.php lo recojo con $_request y listo.

Mil gracias gjx2
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #6 (permalink)  
Antiguo 06/10/2009, 09:12
 
Fecha de Ingreso: octubre-2008
Mensajes: 365
Antigüedad: 15 años, 6 meses
Puntos: 12
Respuesta: Recoger valor de fila, dependiente del registro mostrado.

huesos52, Si modificas en esta línea cosa que puedas pasar la variable por GET para cada empleado. En este caso cada id va a ser el que corresponde, mas o menos queda así:

Código PHP:
print ("<TD><center><font size='2'><font face='calibri'><a href='pdfhvida.php?identificacion=$idRecuperadoDeBD' target='_blank'><img src='images/fotos_empleados/" $resultado['foto'] . "'></a></center></TD>\n\n"); 
$idRecuperadoDeBD es el valor dinámico que corresponde a cada empleado.

y en pdfhvida recuperas las variable por GET:

$identificacion=$_GET['identificacion'];

541u2
  #7 (permalink)  
Antiguo 06/10/2009, 09:15
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Recoger valor de fila, dependiente del registro mostrado.

exactamente eso hice cosmo_

mil gracias
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
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 17:34.