Foros del Web » Programando para Internet » PHP »

Problema...que sera??

Estas en el tema de Problema...que sera?? en el foro de PHP en Foros del Web. Hola a todos... Me dirijo a uds para pedirles una gran favor, el cual es que me ayuden con este problema. El asunto es el ...
  #1 (permalink)  
Antiguo 25/01/2010, 11:33
Avatar de JuanSe001  
Fecha de Ingreso: diciembre-2009
Mensajes: 46
Antigüedad: 14 años, 4 meses
Puntos: 1
Problema...que sera??

Hola a todos...

Me dirijo a uds para pedirles una gran favor, el cual es que me ayuden con este problema.

El asunto es el siguiente: Debo crear un grupo de checkbox dependiendo de un numero de filas, columnas y sillas. Como se pueden dar cuenta en el codigo page1.php

Código PHP:
<?php
session_start
();
?>

<div id="content">
        <p class="titleNameUser" style="text-align: right; margin-bottom: 6px;"><b>Usuario:<?php echo $_SESSION['usuario_sesion'];?></b></p>
        
        <?php
        $_SESSION
['numberSections']=$numSections=1;    
        
$_SESSION['numberRows']=$numRows 10;
        
$_SESSION['numberColumns']=$numColumns 11;
        
$_SESSION['numberSeats']=$numSeats=105;
        
?>        
        <div style="text-align:center;">
        <form id="formSeatingChart4" name="formSeatingChart4" method="post" action="page2.php" >
        <?php

        
if ($numSeats == ($numRows $numColumns))
        {
            for (
$i=0$i $numRows$i++)
            {
                for (
$j=0$j $numColumns$j++)
                {
                    
$seats$numColumns;
                    
$cont= ($seats*$i)+($j+);            
        
?>
                    <input type="checkbox"  name="CheckBox<?php echo $cont;?>" DISABLED>
        <?php
                
}
            
            echo 
"<br/>";
            }
        }
        else
        {
            for (
$i=0$i $numRows$i++)
            {
                for (
$j=0$j $numColumns$j++)
                {
                    
$seats$numColumns;
                    
$cont= ($seats*$i)+($j+);    
                    
        
?>
                    <input type="checkbox"  name="CheckBox<?php echo $cont;?>" >
        <?php
                
}
            
            echo 
"<br/>";
            }
        }
        
        
?>    
            
        
    
        <center><input type="button" id="" name="Siguiente" onClick="contarChecks(this.formSeatingChart4)" value="Siguiente"></center>
        </form>
        </div>
        
        <script language="JavaScript">
        function contarChecks() 
        {
            f=document.formSeatingChart4;
            resu = 0;
            for (var i = 0, total = f.elements.length; i < total; i ++)
            {
                if (f.elements[i].type == "checkbox" && f.elements[i].checked)
                {
                    resu ++;
                }    
            }
            
            
            if( <?php echo $numSeats;?> == (<?php echo $numRows $numColumns;?> )-resu)
            {
                f.submit();
            }
            else
            {
                alert("faltan"+(((<?php echo $numRows $numColumns;?>)-(<?php echo $numSeats;?>))-resu)+ "sillas");
            }    
        }
        </script>
                
    </div>
Luego de crear esas sillas, debo seleccionar algunos checkbox para eliminarlos y que en el page2.php desaparezcan. Este page2.php ya no son checkbox sino que son text.

Código PHP:
<?php
session_start
();
    
$numSections=$_SESSION['numberSections'];
    
$numColumns=$_SESSION['numberColumns'];
    
$numRows=$_SESSION['numberRows'];
    
$totalSeats$numRows $numColumns;
    echo 
$totalSeats;
    for (
$i=1$i<= $totalSeats$i++)
    {
        
$indice"CheckBox".$i;// lo hago por que los name del formulario se llaman asi CheckBox1, CheckBox2...CheckBoxN
        
$checkBox[$i] = $_POST[$indice];// paso lo que obtengo por el post al array checkBox[]
        
$_SESSION['checkBox[$i]'] = $checkBox[$i];
        if (
$checkBox[$i] == "on")// determino si el checkbox esta seleccionado o no
        
{
            
$deleteSeats[$i]= $checkBox[$i];// intento meter el numero del Checkbox seleccionado en el array...pero aqui esta el problema..como que no los asigna
            
$_SESSION['deleteSeats[$i]']= $deleteSeats[$i];

            
            
//$j++;
            //echo $j;
            //echo $deleteSeats[$j];
        
}
        else
        {
            
$checkBox[$i] = "off";
            
$seatsOff[$i]= $checkBox[$i];
            
$_SESSION['deleteSeats[$i]']= $seatsOff[$i];
        }
    }

?>
    <div id="content">
        <p class="titleNameUser" style="text-align: right; margin-bottom: 6px;"><b>Usuario:<?php echo $_SESSION['usuario_sesion'];?></b></p>        
        <div style="text-align:center;">
        <form id="formSeatingChart5" name="formSeatingChart5" method="post" action="page3.php" >
        <?php
        
        
for ($k=0$k $numRows$k++)
        {
            for (
$j=0$j $numColumns$j++)
            {
                
$seats$numColumns;
                
$cont= ($seats*$k)+($j+1);
                if(
$deleteSeats[$cont] == "on")                
                {
                    
$_SESSION['deleteSeats']=$deleteSeats[$cont];

        
?>
                <input style="width: 30px; visibility:hidden; margin-left: 15*<?php$j;?>px;" type="text" id="inputSC5"  name="seating"/>
                <?php
                
}
                else
                {
                    
$_SESSION['deleteSeats']=$deleteSeats[$cont];
                
?>                
                <input   style="width: 30px; margin-left: 15*<?php$j;?>px;" id="inputSC4" type="text" name="seating" onKeyPress=" return acceptNum(event)"/>
        <?php
                
}
            }
            echo 
"<br/>";
        }
        
?>        
        <center><input type="submit" id="" name="Siguiente"  value="Siguiente"></center>
        </form>
        </div>
    </div>
Y por ultimo que estos checkbox seleccionados en page1.php no se muestren en page3.php.

Código PHP:
<?php
session_start
();
?>
    <div id="content">
        <p class="titleNameUser" style="text-align: right; margin-bottom: 6px;"><b>Usuario:<?php echo $_SESSION['usuario_sesion'];?></b></p>
        <?php
        $numRows 
$_SESSION['numberRows'];
        
$numColumns $_SESSION['numberColumns'];
        
$numSeats=$_SESSION['numberSeats'];
        
$deleteSeats=$_SESSION['deleteSeats'];
        
$seatsOff=$_SESSION['seatsOff'];
        
?>        
        <div style="text-align:center;">
        <form id="formSeatingChart6" name="formSeatingChart6" method="post" action="" >
        <?php
        
for ($k=0$k $numRows$k++)
        {
        echo 
$k;
            for (
$j=0$j $numColumns$j++)
            {
                
$seats$numColumns;
                
$cont= ($seats*$k)+($j+1);
                echo 
$j;
                if(
$deleteSeats[$cont] == "on")                
                {
                    
$_SESSION['deleteSeats']=$deleteSeats[$cont];
        
?>
                <input style="visibility:hidden; margin-left: 15*<?php$j;?>px;" type="checkbox"  name="CheckBox<?php echo $cont;?>" disabled>
                <?php
                
}
                else
                {
                    
$_SESSION['deleteSeats']=$deleteSeats[$cont];
                
?>                
                <input style="margin-left: 15*<?php$j;?>px;" type="checkbox"  name="CheckBox<?php echo $cont;?>" disabled>
        <?php
                
}
            }
            echo 
"<br/>";
        }
        
?>    
        <center><input type="submit" id="" name="Siguiente"  value="Siguiente"></center>
        </form>
        </div>
    </div>
Todo esto se realiza muy bien si uds ejecutan cada una de estas paginas...el error se da cuando yo selecciono el ultimo checkbox, ya que este lo elimina en page2.php pero no se elimina en page3.php.

Yo se que esta muy largo el mensaje...pero la verdad no sabia como mas hacer para que uds lo vieran...espero me puedan colaborar y si tienen que mover el tema o necesita modificacion de una la hare.

Muchas Gracias a todos

JuanSe001

Etiquetas: Ninguno
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 06:29.