Foros del Web » Programando para Internet » PHP »

Añadir dato a datos recogidos de formulario vía implode

Estas en el tema de Añadir dato a datos recogidos de formulario vía implode en el foro de PHP en Foros del Web. Hola a todos, A ver si alguien me puede ayudar porque no doy con la forma de hacerlo, tengo un formulario con un campo tipo ...
  #1 (permalink)  
Antiguo 07/06/2012, 12:48
 
Fecha de Ingreso: noviembre-2002
Mensajes: 571
Antigüedad: 21 años, 5 meses
Puntos: 2
Añadir dato a datos recogidos de formulario vía implode

Hola a todos,

A ver si alguien me puede ayudar porque no doy con la forma de hacerlo, tengo un formulario con un campo tipo "checkbox" al lado de cada checkbox hay un campo de texto para añadir más información de ese checkbox si se desea, pego


Código HTML:
<tr> 
<td width="5%"><input name="pregunta10[0]" type="checkbox" id="pregunta10" value="Opción 1" onClick="habilitap10_0_otros()"> 
</td>
<td>Opción 1 
<input name="pregunta10_0_otros" type="text" id="pregunta10_0_otros" size="7" maxlength="7" class="cajaencuestas" disabled>
</td>
</tr>
<tr> 
<td>
<input name="pregunta10[1]" type="checkbox" id="pregunta10" value="Opción 2" onClick="habilitap10_1_otros()"> 
</td>
<td class="textonormaltablas">Opción 2<input name="pregunta10_1_otros" type="text" id="pregunta10_1_otros" size="7" maxlength="7" class="cajaencuestas" disabled>
</td>
</tr> 

El problema que tengo es que al recoger el checkbok lo hago con la función implode con
Código PHP:
$pregunta10=implode(", "$_POST["pregunta10"]);
$pregunta10_0_otros=trim($_POST["pregunta10_0_otros"]);
if(!empty(
$pregunta10_0_otros)){
$pregunta10_0_otros_final="(".$pregunta10_0_otros.")";
}
$pregunta10_1_otros=trim($_POST["pregunta10_1_otros"]);
if(!empty(
$pregunta10_1_otros)){
$pregunta10_1_otros_final="(".$pregunta10_1_otros.")";

El problema viene cuando también un usuario introduce datos en los campos de texto, por ejemplo en el campo "pregunta10_0_otros", que no sé como incluirlo dentro del implode justo después del checkbox que le corresponde..., me hace falta colocarlo justo depués pues envío una copia vía e-mail y sólo consigo colocar primero los elementos de los checkbox elegidos y después los campos de texto rellenados.


Espero haberme explicado bien.


Muchas gracias por la ayuda.

Saludos.

Zertiko

Última edición por Zertiko; 07/06/2012 a las 12:54
  #2 (permalink)  
Antiguo 07/06/2012, 13:36
 
Fecha de Ingreso: noviembre-2002
Mensajes: 571
Antigüedad: 21 años, 5 meses
Puntos: 2
Respuesta: Añadir dato a datos recogidos de formulario vía implode

Por favor una ayudita, aunque sólo sea un idea diferente de recoger los datos, estoy estancado.

Gracias de antemano.

Saludos,

Zertiko
  #3 (permalink)  
Antiguo 07/06/2012, 13:52
Avatar de santris  
Fecha de Ingreso: agosto-2009
Ubicación: Sant Feliu de Llobregat
Mensajes: 955
Antigüedad: 14 años, 8 meses
Puntos: 66
Respuesta: Añadir dato a datos recogidos de formulario vía implode

Esto te puede dar una idea de como conseguir lo que quieres:
Código PHP:
<?php
if(isset($_POST['pregunta10'])){
    
$pregunta $_POST['pregunta10'];
    
$cadena '';
    foreach(
$pregunta as $key => $valor){
        if(!empty(
$_POST["pregunta10_".$key."_otros"])){
            
$cadena .= $valor.", (".$_POST["pregunta10_".$key."_otros"]."), ";    
        }
        else
            
$cadena .= $valor.", ";
    }
    echo 
$cadena;
}
?>
Saludos,
__________________
Tu álbum de cromos online!!
  #4 (permalink)  
Antiguo 07/06/2012, 14:23
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años
Puntos: 97
Respuesta: Añadir dato a datos recogidos de formulario vía implode

Puedes igualar las variables de text y checkbox con el mismo num de array, cambiando

name="pregunta10_0_otros"
name="pregunta10_1_otros"

por

name="pregunta10otros[0]"
name="pregunta10otros[1]"

y a partir de ahí, tienes dos arrays equivalentes para jugar con ellos.

Salud!
  #5 (permalink)  
Antiguo 08/06/2012, 07:54
 
Fecha de Ingreso: noviembre-2002
Mensajes: 571
Antigüedad: 21 años, 5 meses
Puntos: 2
Respuesta: Añadir dato a datos recogidos de formulario vía implode

Hola Santris y oscrtt67, muchas gracias a los dos por la ayuda, voy a intentar sacarlo con un foreach igualando el num de array.

Saludos.

Zertiko.

Etiquetas: dato, formulario, implode, tabla, vía, usuarios
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 20:25.