New question

Question:

Date: 20-09-2016 05:13:18 (In Spanish)

¿Cómo tomar valores de una tabla y saber donde estoy posicionado?[Resolved]

Buen día estimados:

La consulta es la siguiente:
Tengo una tabla HTML generada dinamicamente dentro de un foreach y cargada con datos. En la última columna de esta tabla, tengo unos botos que puedo presionar para realizar diferentes acciones con los datos. Lo que necesito al presionar uno de los botones es saber en que fila de la tabla estoy y tomar datos de esa fila para pasarlos a un controlador, procesarlos y mostrarlos en otra vista. Ya que estoy empezando a usar esta tecnología quisiera saber cual es la mejor manera de hacer esto. ¿Debo usar js o no hace falta?

Les muestro la tabla tal cual la tengo:

<?php foreach ($estudios  as $fila){ 
    $paths[$cont]=$fila['pathArchivo']
?>
<tr>

        <td><?php echo strtoupper($fila['modalidad']); ?></td>
        <td><?php echo strtoupper($fila['nombrePaciente']); ?></td>
        <td><?php echo($fila['idPaciente']);?></td>
        <td class="hidden-480"><?php echo strtoupper($fila['idEstudio']); ?></td>
        <td><?php echo strtoupper($fila['nroSeries']); ?></td>
        <td><?php echo strtoupper($fila['nroAdquisicion']); ?></td>	

        <td class="hidden-480">
                <span class="label label-sm label-warning">REALIZADO</span>
        </td>

        <td>
                <div class="hidden-sm hidden-xs action-buttons">
                        <a class="blue" target="_blank" title="Visualizador" href="<?php echo(site_url('Visualizador/AbrirVisualizador')) ?>" >
                                <i class="fa fa-eye bigger-130"></i>
                        </a>

                        <a class="green"  target="_blank" title="Tipeador" href="<?php echo(site_url('Visualizador/AbrirVisualizador')) ?>">
                               <i class="ace-icon fa fa-pencil bigger-130"></i>
                        </a>

                        <a class="red" href="#" title="Exportar">
                                <i class="fa fa-download bigger-130"></i>
                        </a>

                </div>
         </td>
</tr>


Espero su respuesta, desde ya muchas gracias!

Tags: HTML - HTML Table - Javascript - PHP - Question Votes: 1 - Answers: 3 - Views: 15 Share on: Google Facebook Twitter LinkedIn Link
 

Answers:

  • Date: 20-09-2016 07:41:33
    <?php foreach ($estudios  as $fila ) 
    { 
            $paths[$cont]=$fila['pathArchivo']
    ?>
    <tr>
        <td><?php echo strtoupper($fila['modalidad']); ?></td>
        <td><?php echo strtoupper($fila['nombrePaciente']); ?></td>
        <td><?php echo($fila['idPaciente']);?></td>
        <td class="hidden-480"><?php echo strtoupper($fila['idEstudio']); ?></td>
        <td><?php echo strtoupper($fila['nroSeries']); ?></td>
        <td><?php echo strtoupper($fila['nroAdquisicion']); ?></td>    
    
        <td class="hidden-480">
            <span class="label label-sm label-warning">REALIZADO</span>
        </td>
        <td>
            <div class="hidden-sm hidden-xs action-buttons">
                <a class="blue" target="_blank" title="Visualizador" href="<?php echo(site_url('Visualizador/AbrirVisualizador')) ?>" >
                    <i class="fa fa-eye bigger-130"></i>
                </a>
                <a class="green"  target="_blank" title="Tipeador" href="<?php echo(site_url('Visualizador/AbrirVisualizador')) ?>">
                       <i class="ace-icon fa fa-pencil bigger-130"></i>
                </a>
                <a class="red" href="#" title="Exportar">
                    <i class="fa fa-download bigger-130"></i>
                </a>
            </div>
        </td>
    </tr>
    

    La pregunta es, que código tenes en AbrirVisualizador

    TEndría que ser algo así site_url('Visualizador/AbrirVisualizador'?variable=valor) y
    en Visualizador tomar la variable con $_GET['variable']

    Lo que haría es encerrar en un form cada <tr>

    <form method="post" action="abrirvisualizador.php">
        <tr>
            <td><?php echo strtoupper($fila['modalidad']); ?></td>
            <td><?php echo strtoupper($fila['nombrePaciente']); ?></td>
            <td><?php echo($fila['idPaciente']);?></td>
            <td class="hidden-480"><?php echo strtoupper($fila['idEstudio']); ?></td>
            <td><?php echo strtoupper($fila['nroSeries']); ?></td>
            <td><?php echo strtoupper($fila['nroAdquisicion']); ?></td>    
            <td class="hidden-480">
                <span class="label label-sm label-warning">REALIZADO</span>
            </td>
            <td>
                <div class="hidden-sm hidden-xs action-buttons">
                    <button type="submit" name="visualizar" value="id">Visualizar</button>
    
                    <button type="submit" name="tipeador" value="id">Tipeador</button>
                    <button type="submit" name="exportar" value="id">Exportar</button>
                </div>
            </td>
        </tr>
    </form>
    


    y en abrirvisualizador.php

    if(isset($_POST('visualizar))
    valor = $_POST['visualizar'] //contendrá el valor de value="id"
    


    Algo parecido a esto.

    En conclusión, encerrar en cada etiqueta <tr> un form para ser enviado al servidor por cada submit que se haga por cada botón y, así determinar en que fila se hice click

    Saludos

    DIEGO (obviamente este ejemplo es para ampliar por el resto de la comunidad)
      Votes: 4 - Link answer
     
  • Date: 22-09-2016 10:45:08 veo que tienes esto en cual de esos botones quieres hacer eso

            <div class="hidden-sm hidden-xs action-buttons">
                <a class="blue" target="_blank" title="Visualizador" href="<?php echo(site_url('Visualizador/AbrirVisualizador')) ?>" >
                    <i class="fa fa-eye bigger-130"></i>
                </a>
                <a class="green"  target="_blank" title="Tipeador" href="<?php echo(site_url('Visualizador/AbrirVisualizador')) ?>">
                       <i class="ace-icon fa fa-pencil bigger-130"></i>
                </a>
                <a class="red" href="#" title="Exportar">
                    <i class="fa fa-download bigger-130"></i>
                </a>
            </div>
    
      Votes: 1 - Link answer
     
  • Date: 25-09-2016 13:19:49 Estimados:
    Lo he resuelto de la manera que propone Diego, encerre cada <tr> en un form para enviar todos los datos que necesito por post.

    Muchas gracias por su ayuda. Saludos!

    Diego.
      Votes: 1 - Link answer
     
To actively participate in the community first must authenticate, enter the system.Sign In