Foros del Web » Programando para Internet » PHP »

checkbox.. cargar y descargar array

Estas en el tema de checkbox.. cargar y descargar array en el foro de PHP en Foros del Web. Buenas a todos tengo el siguiente problema por un lado tengo un query a mi base de datos que me devuelve en un codigo. por ...
  #1 (permalink)  
Antiguo 23/11/2004, 07:59
Avatar de Chuty  
Fecha de Ingreso: noviembre-2002
Ubicación: el bar de la esquina
Mensajes: 609
Antigüedad: 21 años, 5 meses
Puntos: 2
checkbox.. cargar y descargar array

Buenas a todos tengo el siguiente problema
por un lado tengo un query a mi base de datos que me devuelve en un codigo.
por otro lado tengo un array que se cargo con los otros codigos.

Si el Codigo devuelto por el Query ya esta cargado en el array coloco un checkbox seleccionado y si no existe coloco un checkbox vacio.

Ahora como hago para que al seleccionar un checkbox vacio se me Agrege el Codigo al Array y al deseleccionar un checkbox se elimine el codigo del Array.

Bueno desde ya muchas gracias y saludos a todos
  #2 (permalink)  
Antiguo 23/11/2004, 08:34
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Y .. esos arrays que mencionas .. de que tipo son? .. son javascript o son de PHP?. Indica el código que usas para ver tu proceso completo.

Un saludo,
  #3 (permalink)  
Antiguo 23/11/2004, 09:13
Avatar de Chuty  
Fecha de Ingreso: noviembre-2002
Ubicación: el bar de la esquina
Mensajes: 609
Antigüedad: 21 años, 5 meses
Puntos: 2
Gracias Cluster

Código PHP:

<form method="POST" action="Adm_Dev1.php>
<?
$conex 
odbc_connect($_Server$_user$_passw); 
if(
$conex ) {
    
$consulta "select * from MIDATABASE.ONL_TRETFA ORDER BY COD";
        
$resultado odbc_do($conex$consulta);
        
$COD_CAF=1;
    while (
odbc_fetch_row($resultado)) {
        
$unoTFA odbc_result($resultado,1);
        
$dosTFA odbc_result($resultado,2);
        
$tresTFA odbc_result($resultado,3);
        
                 
$dos1 strlen($dosTFA);     
        if (
$dos1 >= 40){
           
$dos1 4;
        }
        
$tres1 strlen($tresTFA); 
        if (
$tres1 >= 40){
           
$tres1 40;
        }
        
$dosTFA substr ($dosTFA,0,$dos1 );
        
$tresTFA substr ($tresTFA,0,$tres1 );
        
$ResultTBL "$dosTFA $tresTFA ";
        
echo 
'<tr class="norm" selected="false" _className="norm" isGrid="true">';
echo 
'<td class="funtion1" align="left">';
                
         
$conexcaf odbc_connect($_Server$_user$_passw); 
             
$consultacaf "select FAC from MIDATABASE.onl_trecaf where COD='$dos' and FAC='$dosTFA'";
    
$resultadocaf odbc_do($conexcaf$consultacaf);
    
$CODCAF odbc_result($resultadocaf,1);
    
$DOCCOD'cod';
    
$DOCCOD$DOCCOD.$COD_CAF;
                 
    
$dosTFA substr ($dosTFA,0,$dos1 );
    
$CODCAF substr ($CODCAF,0,$dos1 );
             
$matrix[$COD_CAF]=$CODCAF
    if (
$CODCAF != $dosTFA ){
?>
<input type="checkbox" name="<? echo $DOCCOD ?>" value="<? echo $CODCAF ?>">
<?                                    }else{                            
?>                            
<input type="checkbox" name="<? echo $DOCCOD ?>" value="<? echo $CODCAF ?>"checked >
<?
    
}
echo 
'</td>';
echo 
'<td class="funtion1">';
        echo 
$dosTFA;
echo 
'</td>';
echo 
'<td class="funtion1">';
        echo 
$tresTFA;
echo 
'</td>';                
echo 
'</tr>';                            
$COD_CAF++;    
                
    }
odbc_free_result($resultado);
odbc_close($conex);
odbc_free_result($resultadocaf);
odbc_close($conexcaf);
}
?>
<input class="button" type="submit" value="Aplicar" name="B1">    
</form>
Bueno ese es parte del codigo que utilizo
Lo que no se como armar los checkbox para cargar o descargar los valores en el Array matrix segun la seleccion o deseleccion del checkbox

Bueno espero me puedas ayudar. desde ya muchas gracias y saludos
  #4 (permalink)  
Antiguo 23/11/2004, 09:44
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
No entendí bien que pretendes hacer exactamente.

El código que presentas desde PHP y tus consultas a tu BD obienes y representas los valores de tu BD (de tu "record-set" que obtienes) y en función de esto generas los checkbox que corresponde que aparezcan pre-seleccionados y los que no.

Ahora, cuando hablas de "arrays"? .. para que los necesitas?. Te refieres a almacenar en tu BD los cambios realizados de tus checkbox; es decir .. los que estaban marcados y ahora los desmarcastes .. que cambie el valor en el registro de tu BD .. y viceversa?

SI es así .. envia tus checkbox al script de proceso PHP que ya usas .. pero ahora tendrás que ejecutar una consulta SQL antes para ver que valor tenía y el valor nuevo para ver si corresponde eliminar un registro (caso del que el checkbox "marcado" siginifique crear un registro ...) o actaulizar un campo (si es que los guardas en un sólo campo los "codigos" que seleccionastes ... Deberías explicar también como gestionas las opciones seleccionadas en tu modelo de datos (tu BD) pero la base sería "comparar" lo que hay con lo que habría que quedar.

Un saludo,
  #5 (permalink)  
Antiguo 23/11/2004, 10:06
Avatar de Chuty  
Fecha de Ingreso: noviembre-2002
Ubicación: el bar de la esquina
Mensajes: 609
Antigüedad: 21 años, 5 meses
Puntos: 2
El tema de guardarlo en un Array es para que el usuario tenga una vista preliminar antes de enviar la Info, y el tema de que no envio los checkbox es que cuando no esta seleccionado y lo selecciono la info del checkbox no la recupero ya que el Form no lo pasa por el if ( ) calculo que sera por eso

Código PHP:

if ($CODCAF != $dosTFA ){
   echo 
'<input type="checkbox" name="$DOCCOD" value="$CODCAF">'

}else{                            
  echo 
'<input type="checkbox" name="$DOCCOD" value="$CODCAF"checked >'

  #6 (permalink)  
Antiguo 23/11/2004, 11:51
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Entonces .. usa una sesión para guardar DOS arrays:

Un array con los valores originales y otro para los que quedaron tras las modificaciones. Esto es para que puedas compararlos.

Lo que no veo es de donde sale tu $dosTFA .. para ese If() .. debería ser las selecciones que quedaron de tu checkbox .. por eso te comento lo de almacenar en una variabel de sesión esos datos "originales" y compararlos con los que envies.

Un saludo,
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 05:06.