Ver Mensaje Individual
  #6 (permalink)  
Antiguo 05/06/2009, 13:00
andresito12_19
 
Fecha de Ingreso: noviembre-2008
Mensajes: 80
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Ayuda con array de checkbox

Cita:
Iniciado por abimaelrc Ver Mensaje
Pero no tengo tu estructura de la base de datos si me la puedes indicar yo lo hago.
veras es una base de datos hecha en postgres para un colegio entonces la parte del chequeo la utilizo cuando voy a ingresar un grado debo escoger las materia que van hacer dictadas en ese grado unavez ingresado la materia el checkbox se encarga de guardarme el id de la materia para luego relacionarlas con el id del grado en una tabla aparte
este es el formulario de ingreso del grado
Código PHP:
include_once "../ConsultasDAO.php";
if ($_SESSION['us']!=null){
$mat=new ConsultasDAO();
     $num=$mat->buscar_num_asig($_POST['jor_gra']);
         if($num<$_POST['can_mat'])
           $_POST['can_mat']=$num;
 if($_POST['ing']=='ok')
   {
    $dato[0]=$_POST['cod_gra'];
    $dato[1]=$_POST['nom_gra'];
    $dato[2]=$_POST['sal_gra'];
    $dato[3]=$_POST['jor_gra'];
    $dato[4]=$_POST['cant_mat'];
    $opc=$_POST['opcion'];
    $x=5;
    for($i=0;$i<$_POST['cant'];$i++){
    if($opc[$i]==''){
   $dato[$x]=$opc[$i];
   $x++;
   }
 }
    $con=new ConsultasDAO();
    $con->ingreso_gra($dato);
   }
  if(($_POST['ing']!='ok')||($_SESSION['res']!=null)){
  $_SESSION['res']=null;
?>
<center>
<br>
<div style="background-image: url(../Imagenes/fondito4.png); background-position:center top; background-repeat:repeat y;">
<br><br>
<form name="form1" method="post" action="javascript:enviarFormulario('../dao/php_grado/nuevo.php','form1');">
  <table width="267">
    <caption align="top">
      <span class="Estilo4"><img src="../Imagenes/nuevo_gra.png" width="335" height="50" border="0"></span>
    </caption>
    <tr>
      <th align="right">Codigo</th>
      <td align="left"><input name="cod_gra" size="5" type="text" value="<?php echo "".$_POST['cod_gra']; ?>"></td>
      <th align="right">&nbsp;&nbsp;Nombre</th>
      <td align="left"><input name="nom_gra"  type="text" value="<?php echo "".$_POST['nom_gra']; ?>"></td>
      <th align="right">&nbsp;&nbsp;Salon</th>
      <td align="left"><input name="sal_gra" size="5" type="text" value="<?php echo "".$_POST['sal_gra']; ?>"></td>
      <th align="right">&nbsp;&nbsp;Jornada</th>
      <td align="left"><select name="jor_gra"  id="jor_gra">
     <option  value="<?php echo "".$_POST['jor_gra']; ?>" selected="<?php echo "".$_POST['jor_gra']; ?>"><?php echo "".$_POST['jor_gra']; ?></option>
     <option value="Mañana">Ma&ntilde;ana</option>
     <option value="Tarde">Tarde</option>
    </select></td>
    </tr>
    <tr>
      <th colspan="8" scope="row"><br>Ingresa la Cantidad de Asignaturas<br><input name="can_mat" size="4" type="text" value="<?php echo "".$_POST['can_mat']; ?>"><br>
      <a class="enlace" href="#" onClick="enviarFormulario('../dao/php_grado/nuevo.php','form1');" ><img src="../Imagenes/in_as.png" width="150" height="45" border="0"></a></th>
      </tr>
 <?php if(($_POST['can_mat']!=null)&&($_POST['jor_gra']!=null)){ ?>
<table width="400">
   <caption align="top" class="Estilo5">
    <span class="Estilo4">ESCOGE LAS ASIGNATURAS Y DOCENTES</span>
    </caption>
    </table>
    <table border="1" width="380">
    <tr class="celda" align="center">
    <td>Opc</td>
    <td>Asignatura</td>
    <td>Docente</td>
    </tr>
   <?php
   $i
=0;
   while(
$dat=$mat->buscar_asig_doc($i,$_POST['jor_gra'])){
     echo
"<tr align='center'>
          <th><input name='opcion[]'  value='"
.$dat["id_asignatura"]."' id='opcion[]' type='checkbox'></th>
          <th>"
.$dat["nombre_asg"]."</th>
          <th>"
.$dat["nombre_doc"]."</th>
         </tr>"
;
   
$i++;}?>
  </table>
  <input type="hidden" name="ing" value="no">
  <input type="hidden" name="cant" value="1">
  <table>
  <tr>
      <th colspan="8" scope="row">
         <a class="enlace" href="#" onClick="javascript:contar('form1');" ><img src="../Imagenes/botong.png" width="112" height="38" border="0"></a>
        <a class="enlace" href="#" onClick="document.forms.form1.reset();return false"><img src="../Imagenes/cancelar.png" width="112" height="38" border="0"></a>
     </th>
    </tr>
      </table>
  <br>
  </div>
</form></center>
y esta es la funcion de ingreso
Código PHP:
    public function ingreso_gra($dato)
    {
         
$campos="".$_POST[cod_gra].",'".$_POST[nom_gra]."',".$_POST[sal_gra].",'".$_POST[jor_gra]."'";
         
$res=$this->db->insertar("grado",$campos);
              if (
$res=='OK')
              {
              
//guardo la cantidad de asignaturas
              
$cant=$dato[4];
              
$x=5;
              
//hago los insert de asignatura grado
              
do{
               
$seq=$this->db->retorna_netxval('gra_asig');
               
$campos="".$seq.",".$dato[$x].",".$dato[0]."";
               
$res=$this->db->insertar("grado_asignatura",$campos);
               
$x=$x+1;
               }while(
$res=='OK');
                 echo
"<center><hr>
                 <h3>Los Datos han sido Guardados exitosamente </h3></center>"
.$res;
              }
              else
              {
                  
$_SESSION['res']='ok';
                  echo
"<center><hr><img src='../Imagenes/error.gif' style='width:50px; height:50px; border:none;'/>
                  <h3>Error, Ya existe una asignatura con el Codigo</h3>
                  </center>"
.$_POST[cod_mat];
              }
        
$this->db->cerrarBase();
    } 
veras en la funcion donde verifico que se hayan chequeado la cantidad correcta de materias si funciona pero a la hora de guardar en la base de datos solo me reconoce un valor y ahi si nno se que pasa
de antemano muchas gracias por la ayuda