Ver Mensaje Individual
  #9 (permalink)  
Antiguo 30/08/2015, 15:15
DarkScripter
 
Fecha de Ingreso: abril-2015
Ubicación: En mi casa
Mensajes: 15
Antigüedad: 9 años
Puntos: 0
Respuesta: Insertar una o varias opciones de un checkbox a una tabla

Buenas, gracias por la ayuda ya corregí el error, he adelantado algo del código PHP primero mostrando las variables para luego pasarlos a la base de datos.

Código PHP:
Ver original
  1. <?php
  2. $nombre=$_POST['name'];
  3. $apellido=$_POST['lastname'];
  4. $fnac=$_POST['born'];
  5. $cedula=$_POST['schedule'];
  6. $telefono=$_POST['schedule'];
  7. $pass=$_POST['password'];
  8. $correo=$_POST['email'];
  9. $area=$_POST['area'];
  10. $hectarea=$_POST['camp'];
  11.  
  12. echo "Nombre: ".$nombre."<br>";
  13. echo "Apellido: ".$apellido."<br>";
  14. echo "Fecha Nacimiento: ".$fnac."<br>";
  15. echo "Cedula: ".$cedula."<br>";
  16. echo "Teléfono: ".$telefono."<br>";
  17. echo "Contraseña: ".$pass."<br>";
  18. echo "Correo: ".$correo."<br>";
  19. if ($area=="1") {
  20.     echo "Opción: Fruticultura <br>";
  21. }elseif ($area=="2") {
  22.     echo "Opción: Horticultura <br>";
  23. }else{
  24.     echo "Opción: Ganadería <br>";
  25. }
  26. echo "hectarea: ".$hectarea;
  27.  
  28.  $link = "";
  29. if(isset($_POST['registrar'])){
  30. $opciones = $_POST['e_slc'];
  31.        
  32.     if(estaSeleccionado('e_slc','A')){
  33.     echo "<b>A se incluye en la selección</b><br />";
  34.     }
  35.     if(estaSeleccionado('e_slc','B')){
  36.     echo "<b>B se incluye en la selección</b><br />";
  37.     }
  38.  
  39.  
  40. }
  41.    
  42. function estaSeleccionado($nombreCb,$valorCB){
  43.     if(!empty($_POST[$nombreCb])){
  44.         foreach($_POST[$nombreCb] as $elValor){
  45.             if($elValor == $valorCB){
  46.             return true;
  47.             }
  48.         }
  49.     }
  50. return false;
  51. }
  52. ?>

Estoy modificandolo, pero tengo un gran problema, el grupo de checkboxes que marque, como se guardarían en una base de datos? es decir, que atributo de la tabla "Usuarios" debo crear para que se guarden los checkboxes que marqué en el registro y que luego me los muestre?.

Adjunto a ello, para que se muestren los campos seleccionados en PHP, por el poquisimo conocimiento que tengo, ese necesario que los nombres del checkbox tengan un unico nombre para que se muestren.

Que sería con este pequeña función:
Código PHP:
Ver original
  1. $e_slc = $_POST['e_slc'];    
  2. for($aux=0; $aux<count($e_slc); $aux++)
  3. {
  4. echo $e_slc[$aux] . "<br>";
  5. }

Y en el código de Javascript obligatoriamente debo enumerar los checkbox de esta manera para que funcione el código:
Código HTML:
Ver original
  1. <input type="checkbox" name="e_slc1" style="display:none;">
  2. <input type="checkbox" name="e_slc2" style="display:none;">

Investigando un poco encontré este código en javascript que le asigna un el mismo id al checkbox para que el código php lo tome en cuenta y asi pueda imprimirlo:

Código Javascript:
Ver original
  1. var a_slc = {
  2.     "1" : ["Agricultura"],
  3.     "2" : ["Floricultura", "Olericultura","Arómaticas,medicinales y perfumíferas","Arboricultura","Fisiología post-cosecha"],
  4.     "3" : ["Bovino", "Ovino y caprino", "Porcino", "Aves", "Asnos", "Conejos"]
  5. }
  6.  
  7. function cambia(oSel) {
  8.   $('#btn_borrar').click(function(){
  9.     var nombre_id_checkbox = "e_slc";
  10.     var arr_checkbox_cheked;
  11.    
  12.       if($("input:checkbox[name^='"+nombre_id_checkbox+"']").is(":checked")){ // Al menos un checkbox en true
  13.           arr_checkbox_cheked = $('input[type=checkbox]:checked').map(function() {
  14.             return $(this).attr('id');
  15.          }).get();
  16.        for(celda=0;celda<arr_checkbox_cheked.length;celda++)
  17.        {
  18.          var numero_id = arr_checkbox_cheked[celda].split('_'); // chk_registro_10
  19.          array_delete_regs[celda] = numero_id[2];
  20.        }
  21.     var nSel = oSel[oSel.selectedIndex].value, nro;
  22.       for (nro = 0; nro < 6; nro++) {
  23.         document.registro["e_slc" + String(nro + 1)].style.display = "none";
  24.         document.getElementById("sp" + String(nro + 1)).innerHTML = "";
  25.       }
  26.  
  27.       for (nro = 0; nro < a_slc[nSel].length; nro++){
  28.         document.registro["e_slc" + String (nro + 1)].style.display = "";
  29.         document.registro["e_slc" + String (nro + 1)].value = a_slc[nSel][nro];
  30.         document.getElementById("sp" + String(nro + 1)).innerHTML = a_slc[nSel][nro];
  31.       }
  32.     }
  33.   }
  34. }
  35. }

Me da este error: missing ) after argument list en la linea 33 :c

Saludos.

Última edición por DarkScripter; 30/08/2015 a las 16:13