Ver Mensaje Individual
  #4 (permalink)  
Antiguo 27/07/2006, 17:47
Avatar de nosoynadie
nosoynadie
 
Fecha de Ingreso: noviembre-2005
Ubicación: dando vueltas por aquí
Mensajes: 206
Antigüedad: 18 años, 5 meses
Puntos: 1
Hola, siento haber tardado pero he estado liado.

Te he preparado un pequeño código que ilustra el modo de trabajar con las matrices asociativas multidimensionales. Para acercar este ejemplo a tu código debes modificarlo de modo que con Javascript puedas añadir o quitar filas a 'la matriz' que el usuario va a rellenar (que no es más que una tabla de datos) (pregunta a los chicos del foro de Javascript que allí te ayudarán).

El código es el siquiente:
Código PHP:
<?php
if(empty($_POST)){
    
$cols = array('voc_type''importance_raiting''ranking''query_tat');
    
$rows = array('Response_time','Quality_reply','use_of_tool');
    
$Arr = array();
    
srand((double)microtime()*1000000);
    foreach(
$cols as $c=>$v){
        foreach(
$rows as $m=>$n){
            
$Arr[$v][$n] = rand(1,9);
        }
    }
    
reset($cols); reset($rows); reset($Arr);
    
$numCols count($cols); $numRows count($rows);
    echo 
'<form name="frmTabla" method="post" action="'.$_SERVER['PHP_SELF'].'">';
    echo 
'<table cellspacing="1" cellpadding="0" style="margin:auto;width:40%;border:.1em solid #ccc;text-align:center;">';
        echo 
'<tr>';
            echo 
'<td>&nbsp;</td>';
            while(list(
$c$v) = each($cols)){
                echo 
'<td style="background-color:#FF9966;">' .$v'</td>';
            }
        echo 
'</tr>';
        
$cont 0;
        foreach(
$rows as $c=>$v){
            echo 
'<tr>';
                echo 
'<td style="background-color:#66CC99;">'.$rows[$cont].'</td>';
                foreach(
$cols as $m=>$n){
                    echo 
'<td><input type="text" name="'.$n.'-'.$v.'" value="' $Arr[$n][$v] . '" size="1" maxlength="1" /></td>';
                }
            echo 
'</tr>';
            
$cont++;
        }
    echo 
'</table>';
    echo 
'<p style="text-align:center;"><input type="submit" name="btnSave" value="Guardar" /></p>';
    echo 
'</form>';
}
else{
    
array_pop($_POST);
    while(list(
$c$v) = each($_POST)){
        
$tmp explode("-"$c);
        
$Arr[$tmp[0]][$tmp[1]] = $v;
    }
    echo 
'<pre>';
        
print_r($Arr);
    echo 
'</pre>';
}
?>
Copiale integro en un nuevo documento, ejecutalo y mira tanto la pantalla de inicio (la que el usuario controlaría, añadiendo o eliminando filas-columnas, y dando valores) como la pantalla que te llega a tí cuando lo ha enviado (el array asociativo multidimensional con todos los datos, que te permitirá un fácil manejo de los mismos).

Creo que si analizas este código, entiendes cómo se usan los arrays multidimensionales (y un poquito de JavaScript) ya tienes tu aplicación en marcha Suerte!!
__________________
http://www.nosoynadie.net/