Campo de texto y radiobutton en php

Como dijo el dermatólogo, vamos al grano.
Mi problema es el siguiente, tengo uns página con varias pestañas, en cada una un formulario, en uno de los forms tengo una tabla generada desde MySQL y una opción de chequeo con un radiobutton en cada registro encontrado y entre los elementos que recupera está la opción del precio se pone en un text que está sujeto a cambio, ¿como los recupero para actualizar la BD.
Esto es parte del código:
                <?php do {
         //aqui recupero los datos de la BD
         $fac_id = $row_pagador['id_cliente'];
         $fac_nombre =$row_pagador['nombre'];
         $fac_paterno =$row_pagador['paterno'];
         $fac_materno = $row_pagador['materno'];
         $fac_ing = $row_pagador['fecha_ing'];
         $fac_sale = $row_pagador['fecha_sale'];
         $fac_pza = $row_pagador['num_pieza'];
         $fac_precio = $row_pagador['precio_cama'];
         $restar = $restar_fechas -> restaFechas($fac_ing,$fac_sale);
         if ($restar==0) { $restar=1; }
        ?>
<tr>
<td align="center" ><span style="font-weight:bold"><?php echo $fac_pza; ?></span></td>
<td><?php echo $fac_nombre," ",$fac_paterno," ",$fac_materno ?>
                        <input name="control" type="hidden" id="control" value="1" />
                        <input name="id_cli" type="hidden" id="id_cliente" value="<?php echo $fac_id; ?>" />
                    </td>
<td align="right"><?php $deuda = $restar*$fac_precio; ?>
                    <input name="pagador[]" type="text" class="form_textder" id="$pagador" value="<?php echo number_format($deuda,2)?>" size="6" maxlength="7" />bs.-</td>
<td align="center">
                    <?php
          if (!empty($_POST['radio'])) {
           $activado = $_POST['radio'];
           $_SESSION['pestania']=2;
          } else { $activado = ''; } //`{$_POST['radio']}`
          ?>
                    <label for="paganini"></label>
                    <?php
          if ($activado==$fac_id) {
          ?>
                    <input name="radio" type="radio" id="paganini" onclick="this.form.submit()" value=<?php echo $fac_id; ?> checked="checked" />
                    <?php } else { ?>
                    <input name="radio" type="radio" id="paganini" onclick="this.form.submit()" value=<?php echo $fac_id; ?> />
                    <?php }?>
                    </td>
</tr>
                  <?php } while ($row_pagador = mysql_fetch_assoc($pagador)); ?>

1 respuesta

Respuesta
1
Ok primnero disculpa la tardanza, me las he visto negras estos meses, ok, a ver creo que tu problema es que tienes que recalcular algo, ok, espeor haber entendido.
puedes grabar la informacion de los cambios en variables ocultas <input type='hidden'>
Si solo requieres jalar el dato a ese hiddeen, utiliza jquery y con load() aplicandoselo a un div ejecutas un php sin tener que refrescar la página, es algo similar a usar un iframe dentrpo de la página para ejecutar un .php que haga el trabajo sucio.
Dicho .php lo que hace es generar las llamadas a mysql con php y escribiendo los códigos javascript que actualizan tus inputs ocultos.
O sea ¿cuál es la respuesta?
Hola, creo que no me hice entender, el tema es que, aparte de la tabla que te mostré en el código existe otra tabla con los mismos valores de la anterior pero con el seleccionado con el radio filtrado, o sea un registro menos.
El problema era pasar los valores asociados por el índice del radio, y tras un poco de programación básica lo resolví de la siguiente manera:
if (!empty($_POST['siguiente'])) { 
 if(!empty($_POST['campos'])) { // esto es para la consulta de la 1ª tabla
  $aLista=array_keys($_POST['campos']);
  $precio_fac=$_POST['campos'];
  foreach($aLista as $iId ) {
   if ($iId==$_POST['radio']) {
  echo $iId.' precio asociado:'.$precio_fac[$iId];
 }}}
 if(!empty($_POST['mangas'])) { // esto es para la consulta de la 2ª tabla
  $aLista=array_keys($_POST['mangas']);
  $precio_mangas = $_POST['ben_precio'];
  foreach($aLista as $id_manga) {
  echo $id_manga.' precio asociado:'.$precio_mangas[$id_manga].'<br>';
 }}
}
A ok, ya entendí, es que necesitaba visualizarlo más

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas