Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Error con 2 array de checkbox diferentes

Estas en el tema de Error con 2 array de checkbox diferentes en el foro de PHP en Foros del Web. Hola, quiero capturar las categorias mediante checkbox(estas se guardaran en forma de cadena todas seguidas) y el tipo de estancia(que solo guarda una opcion de ...
  #1 (permalink)  
Antiguo 29/03/2014, 06:45
Avatar de warywin  
Fecha de Ingreso: octubre-2013
Mensajes: 155
Antigüedad: 10 años, 6 meses
Puntos: 1
Error con 2 array de checkbox diferentes

Hola, quiero capturar las categorias mediante checkbox(estas se guardaran en forma de cadena todas seguidas) y el tipo de estancia(que solo guarda una opcion de las 2 que pongo). Lo que hago son dos array checkbox=categoria[] y checkbox=estancia[], en el mismo formulario, pero se ve que el segundo checkbox(estancia) no lo coge bien y no puede pasarlo de array a string mostrandome este error:

¡ Notice: Array to string conversion in....!

Este es el codigo, si no pongo el segundo checkbox de estancia, las categorias si que me las guarda bien en la bd:

Código PHP:
Ver original
  1. if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  2.     $where = array();
  3.     if( !empty($_POST['categoria']) ){
  4.     $categoria = "'" .implode(',', $_POST['categoria']) . "'";
  5.     }
  6.     if( !empty($_POST['estancia']) ){
  7.     $estancia = $_POST['estancia'];
  8.     }
  9.   $insertSQL = sprintf("INSERT INTO casas (categoria, nombre, estancia, foto) VALUES ($categoria, $estancia, %s, %s)",
  10.                        GetSQLValueString($_POST['nombre'], "text"),
  11.                        GetSQLValueString($_POST['foto'], "text"));

Código HTML:
Ver original
  1. <form action="<?php echo $editFormAction; ?>" method="post" name="form1" id="form1">
  2.       <table align="center">
  3.       <tr valign="baseline">
  4.           <td nowrap="nowrap" align="right">Categoria:</td>
  5.          
  6.           <td valign="baseline"><table>
  7.             <td valign="baseline"><table>
  8.             <tr>
  9.               <td><input type="checkbox" name="categoria[]" value="grande" />
  10.                 Grande</td>
  11.             </tr>
  12.             <tr>
  13.               <td><input type="checkbox" name="categoria[]" value="mediana" />
  14.                 Mediana</td>
  15.             </tr>
  16.             <tr>
  17.               <td><input type="checkbox" name="categoria[]" value="pequeña" />
  18.                 Pequeña</td>
  19.             </tr>
  20.             <tr>
  21.               <td><input type="checkbox" name="categoria[]" value="enorme" />
  22.                Enorme</td>
  23.             </tr>
  24.           </table></td>
  25.  
  26.  
  27. <td nowrap="nowrap" align="right">Estancia:</td>        
  28.           <td valign="baseline"><table>
  29.             <td valign="baseline"><table>
  30.             <tr>
  31.               <td><input type="checkbox" name="estancia[]" value="interior" />
  32.                 Si</td>            
  33.               <td><input type="checkbox" name="estancia[]" value="exterior" />
  34.                 No</td>
  35.             </tr>
  36.             </table>
  37.             </td>
  38.             </table>
  39.        <input type="hidden" name="MM_insert" value="form1" />
  40.     </form>

he puesto solo el coodigo de esos campos
saludos!
  #2 (permalink)  
Antiguo 29/03/2014, 08:19
Avatar de jheckson  
Fecha de Ingreso: febrero-2011
Ubicación: $VE->Aragua['Maracay']
Mensajes: 109
Antigüedad: 13 años, 2 meses
Puntos: 8
Respuesta: Error con 2 array de checkbox diferentes

Si quieres hacer eso, mejor utilza el Input tipo radio, este automaticamente solo te dejara elegir un de los dos o mas que utilices, solo debes colocarle el mismo nombre pero diferente valor para lograr tu cometido.

Código HTML:
Ver original
  1. <input type="radio" name="hola" value="saludo1">
  2.         <input type="radio" name="hola" value="saludo2">
  #3 (permalink)  
Antiguo 29/03/2014, 09:31
Avatar de warywin  
Fecha de Ingreso: octubre-2013
Mensajes: 155
Antigüedad: 10 años, 6 meses
Puntos: 1
Respuesta: Error con 2 array de checkbox diferentes

Ya, pero me sigue dando el mismo error, a ver si alguien sabe porque ocurre me sale esto:

Notice: Array to string conversion in...
Unknown column 'Array' in 'field list'

:(
  #4 (permalink)  
Antiguo 29/03/2014, 14:01
Avatar de jheckson  
Fecha de Ingreso: febrero-2011
Ubicación: $VE->Aragua['Maracay']
Mensajes: 109
Antigüedad: 13 años, 2 meses
Puntos: 8
Respuesta: Error con 2 array de checkbox diferentes

Pero pasa las lineas de codigos donde de da error para poderte ayudar con mayor facildiad! =)
  #5 (permalink)  
Antiguo 29/03/2014, 14:34
Avatar de warywin  
Fecha de Ingreso: octubre-2013
Mensajes: 155
Antigüedad: 10 años, 6 meses
Puntos: 1
Respuesta: Error con 2 array de checkbox diferentes

Código PHP:
Ver original
  1. $insertSQL = sprintf("INSERT INTO album_fotos (categoria, estrellaporno, nombre, c_html) VALUES ($categoria, $estrellaporno, %s, %s)",
  2.                        GetSQLValueString($_POST['nombre'], "text"),
  3.                        GetSQLValueString($_POST['c_html'], "text"));

ahi es donde me dice que da el error, no puyede convertirlo de array a string, sin embargo la cadegoria si que la coge correctamente y uso el mismo procedimiento.., pero con diferentes arrays
  #6 (permalink)  
Antiguo 29/03/2014, 15:13
Avatar de jheckson  
Fecha de Ingreso: febrero-2011
Ubicación: $VE->Aragua['Maracay']
Mensajes: 109
Antigüedad: 13 años, 2 meses
Puntos: 8
Respuesta: Error con 2 array de checkbox diferentes

Crep que te hacen faltan las comillas a los lados de las variables en el SQL, ya que no veo que las coloques alli ni se las pongas en el codigo PHP
  #7 (permalink)  
Antiguo 29/03/2014, 15:23
Avatar de warywin  
Fecha de Ingreso: octubre-2013
Mensajes: 155
Antigüedad: 10 años, 6 meses
Puntos: 1
Respuesta: Error con 2 array de checkbox diferentes

no eso ya lo he probado y en el otro codigo lo tengo asi y si que funciona,pienso yo que claramente tiene que ver çon el array, pero no entiendo el porque falla si veo que la sintaxis parece estar correcta...y me dice que no puede convertirlo a cadena...

Código PHP:
Ver original
  1. if( !empty($_POST['estancia']) ){
  2.     $estancia = $_POST['estancia'];
  3.     }
  #8 (permalink)  
Antiguo 29/03/2014, 16:10
Avatar de warywin  
Fecha de Ingreso: octubre-2013
Mensajes: 155
Antigüedad: 10 años, 6 meses
Puntos: 1
Respuesta: Error con 2 array de checkbox diferentes

vale ya esta arreglado, he puesto un implode, como en categorias, esto hace que un array te lo convierta a un string.

Última edición por warywin; 29/03/2014 a las 16:18

Etiquetas: checkbox, formulario, sql
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 15:45.