PHP - Duda de funcionamiento

 
Vista:

Duda de funcionamiento

Publicado por Sergio Montoya (4 intervenciones) el 16/05/2019 22:01:04
Buen dia,
Soy algo nuevo en la programación con PHP, tengo el siguiente codigo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
    $mostrar = 1;
    $nombre='nombre';
    $tel='tel';
    $msj='msj';
 
    while ($mostrar<=$cnt){
    ?>
      <tr>
        <td><input type="text" class="form-control" name=<?php echo $nombre.$mostrar ?> id="nombre" autofocus="autofocus"  ></td>
        <td><input type="tel" class="form-control"  name=<?php echo $tel.$mostrar ?>    id="tel" maxlength="10"></td>
        <td><input type="text" class="form-control" name=<?php echo $msj.$mostrar ?>    id="msj"></td>
        <td><a href= "clases/enviarws.php?nom=<?php echo $msj.$mostrar ?>"     target="_blank"><button type="submit" class="btn btn-outline-primary">Enviar</button></td>
      </tr>
      <?php
$mostrar++;
}
?>

Es una tabla dinamica, aumenta las filas segun un datos que escriben en una pagina anterior, el tema es que cuando le den clic al boton de cada fila, debo capturar la info de los input de dicha fila (la idea es enviar los value a otra pagina para darle otro uso; los envio en blank para que no se me borren los datos de los otros input).

GRACIAS!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Mauro
Val: 1.668
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Duda de funcionamiento

Publicado por Mauro (467 intervenciones) el 17/05/2019 15:40:27
Un detalle importante: con este código estás duplicando los ids de los inputs (Están en un ciclo), para tener todos únicos deberías usar:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
    $mostrar = 1;
    $nombre='nombre';
    $tel='tel';
    $msj='msj';
 
    while ($mostrar<=$cnt){
    ?>
      <tr>
        <td><input type="text" class="form-control" name="<?php echo $nombre; ?>[<?php echo $mostrar;?>]" id="nombre_<?php echo $mostrar;?>" autofocus="autofocus"  ></td>
        <td><input type="tel" class="form-control"  name="<?php echo $tel?>[<?php echo $mostrar;?>]"    id="tel_[<?php echo $mostrar;?>]" maxlength="10"></td>
        <td><input type="text" class="form-control" name="<?php echo $msj ?>[<?php echo $mostrar;?>]"    id="msj_[<?php echo $mostrar;?>]"></td>
        <td><a href= "clases/enviarws.php?nom=<?php echo $msj.$mostrar ?>"     target="_blank" id="submit_<?php echo $mostrar;?>"><button type="submit" class="btn btn-outline-primary">Enviar</button></td>
      </tr>
      <?php
          $mostrar++;
     }

Tal vez te convendría cambiar el <a href> por algo de javascript al momento de hacer click sobre el boton:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<script type="text/javascript">
var buttons = document.getElementsByClassName("btn");
 
for ( button in buttons ) {
    button.addEventListener('click', function( b ) {
        var id = b.id;
        var number = id.split('_')[1];
        var nombre = document.getElementByName("nombre[" + number + "]" );
        // mismo para los demas inputs
 
       var href = 'clases/enviarws.php?nom=msj' + number + '&nombre=' + nombre; // + todos los demas parametros
       window.location.href = href;
    }
);
}
</script>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Duda de funcionamiento

Publicado por Sergio Montoya (4 intervenciones) el 17/05/2019 17:19:32
Hola, Gracias,
Ya lo resolvi

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<tbody>
    <?php
    $mostrar = 1;
    $nombre='nombre';
    $tel='tel';
    $msj='msj';
    while ($mostrar<=$cnt){
    ?>
    <form action="clases/enviarws.php" method="POST" target="_blank">
      <tr>
        <td><input type="text" class="form-control" name="nom" id=<?php echo $nombre.$mostrar ?> autofocus="autofocus"  ></td>
        <td><input type="tel"  class="form-control"  name="tel"   id=<?php echo $tel.$mostrar ?> maxlength="10"></td>
        <td><input type="text" class="form-control" name="msj"   id=<?php echo $msj.$mostrar ?>></td>
        <td><a href= "clases/enviarws.php?nom=<?php echo $msj.$mostrar ?>"><button type="submit" class="btn btn-outline-primary">Enviar</button></td>
      </tr>
      </form>
      <?php $mostrar++; }?>
      </tbody>


Lo agregue en un Form, y al action target Blank, y asi no me borra los datos del formulario.
Gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar