Ver Mensaje Individual
  #3 (permalink)  
Antiguo 03/02/2010, 12:36
nat_chan07
 
Fecha de Ingreso: enero-2010
Mensajes: 62
Antigüedad: 14 años, 4 meses
Puntos: 1
Respuesta: php gtk - crear tabla con datos de un array

continuacion
Código PHP:
    $field_header = array('TgrpA''TgrpB''Duracion'); // note 3

    // Creates the view to display the list store
    
$view = new GtkTreeView($model); // note 4
    
$scrolled_win->add($view); // note 5

     // Creates columns
    
for ($col=0$col<count($field_header); $col++) {
        
$cell_renderer = new GtkCellRendererText();
        
$column = new GtkTreeViewColumn($field_header[$col],
            
$cell_renderer'text'$col);
        
$view->append_column($column);
    }

    
//pupulates the data


     
for ($row=0$row<count($data); $row++) {
        
$values = array();
        for (
$col=0$col<count($data[$row]); ++$col) {
            
$values[] = $data[$row][$col];

        }
        
$model->append($values); // note 6
        //print_r (array_values($values));
    
}


}


class 
entel extends base_module {
    function 
setup($vbox) {
        
$this->dialog->set_size_request(800600);
        
$title = new GtkLabel("Entel 2");
        
$vbox->pack_start($title00);
        
$vbox->pack_start(new GtkLabel(), 00);
        
$flat_file_db 'C:\Users\Nat\Desktop\proyectoGTK\php-gtk2\en-2-2.txt'// note 1
        
$handle = @fopen($flat_file_db"r");

        
//array entel 2
        
$array_TgrpA = array();
        
$array_TgrpB = array();
        
$array_Nadi142 = array();
        
$array_Fecha = array();
        
$array_Hora = array();
        
$array_Durac = array();
        
$array_NadiB = array();
        
$array_number = array();
        if (
$handle) {
        while (!
feof($handle)) {
        
$buffer fgets($handle);
                   
$TgrpA substr("$buffer",16);
                   
$TgrpB substr("$buffer",77);
                   
$Nadi142 substr("$buffer",309);
                   
$Fecha substr("$buffer",808);
                   
$Hora substr("$buffer",898);
                   
$Durac substr("$buffer",985);
                   
$NadiB substr("$buffer",10715);
                   
$number substr("$buffer"1073);

    
array_push($array_TgrpA$TgrpA);
    
array_push($array_TgrpB$TgrpB);
    
array_push($array_Nadi142$Nadi142);
    
array_push($array_Fecha$Fecha);
    
array_push($array_Hora$Hora);
    
array_push($array_Durac$Durac);
    
array_push($array_NadiB$NadiB);
    
array_push($array_number$number);

                 }
    
$data = array($array_TgrpA,
        
$array_TgrpB,
        
$array_Durac);

    
//numbers
    
$array_count_number array_count_values($array_number); // muestra cuantas veces se repite el mismo valor
    
$array_keys_number array_keys($array_count_number);   // muestra las llaves de los numeros buscados con $array_count_number
   /*
    //TgrpA
    $array_count_TgrpA = array_count_values($array_TgrpA);
    $array_keys_TgrpA = array_keys($array_count_TgrpA);
    //TgrpB
    $array_count_TgrpB = array_count_values($array_TgrpB);
    $array_keys_TgrPB = array_keys($array_count_TgrpB);*/



function obtenerUbicacionIguales($NumeroIndice$array_number)
{
    
$resultado = array();
    for(
$i 0$i count($array_number); $i++)
        if(
$array_number[$i] == $NumeroIndice// Si el numero indice buscado es igual al indice en la posicion actual
            
$resultado[] = $i// Agregar la posicion / ubicacion en el resultado.
    
return $resultado;
}


//OBTENER VALORES 1
function obtenerValoresTgrpA($NumeroIndice$array_number$array_TgrpA)
{
    
$resultado = array();
    for(
$i 0$i count($array_number); $i++)
        if(
$array_number[$i] == $NumeroIndice// Si coincide el indice con el numero indice requerido
            
$resultado[] = $array_TgrpA[$i]; // Agregar la palabra correspondiente en el resultado.
    
return $resultado;
}

function 
obtenerValoresTgrpB($NumeroIndice$array_number$array_TgrpB)
{
    
$resultado = array();
    for(
$i 0$i count($array_number); $i++)
        if(
$array_number[$i] == $NumeroIndice// Si coincide el indice con el numero indice requerido
            
$resultado[] = $array_TgrpB[$i]; // Agregar la palabra correspondiente en el resultado.
    
return $resultado;
}

function 
obtenerValoresNadi142($NumeroIndice$array_number$array_Nadi142)
{
    
$resultado = array();
    for(
$i 0$i count($array_number); $i++)
        if(
$array_number[$i] == $NumeroIndice// Si coincide el indice con el numero indice requerido
            
$resultado[] = $array_Nadi142[$i]; // Agregar la palabra correspondiente en el resultado.
    
return $resultado;
}

function 
obtenerValoresNadiB($NumeroIndice$array_number$array_NadiB)
{
    
$resultado = array();
    for(
$i 0$i count($array_number); $i++)
        if(
$array_number[$i] == $NumeroIndice// Si coincide el indice con el numero indice requerido
            
$resultado[] = $array_NadiB[$i]; // Agregar la palabra correspondiente en el resultado.
    
return $resultado;
}

function 
obtenerValoresDurac($NumeroIndice$array_number$array_Durac)
{
    
$resultado = array();
    for(
$i 0$i count($array_number); $i++)
        if(
$array_number[$i] == $NumeroIndice// Si coincide el indice con el numero indice requerido
            
$resultado[] = $array_Durac[$i]; // Agregar la palabra correspondiente en el resultado.
    
return $resultado;
}

// FIN OBTENER VALORES1

       
display_table($vbox$data);
                 }
    }
}

class 
softswitch extends base_module {
    function 
setup($vbox) {
        
$this->dialog->set_size_request(800600);
        
$vbox->pack_start(new GtkLabel(get_class($this)));
    }
}



class 
main extends base_module {
    function 
setup($vbox) {
        
//define menu definition
        
$menu_definition = array(
        
'_Archivo' => array('_Cerrar'),
        
'_Aplicaciones' => array( 'Entel''SoftSwitch')
        );
        
$this->setup_menu($vbox$menu_definition);
        
$vbox->pack_start(new GtkLabel('Menu Principal'));


    }

    
// shows the buttons at bottom of windows only for main_menu
    
function show_buttons($vbox) {
        global 
$modules;
        
$hbox = new GtkHBox();
        
$vbox->pack_start($hbox00);
        
$hbox->pack_start(new GtkLabel());
        foreach(
$this->main->modules as $module) {
            if (
$module=='main') continue; // skip the main_menu button
            
$button = new GtkButton(strtoupper(substr($module,0,1)).substr($module,1)); // cap 1st letter
            
$button->set_size_request(8032); // makes all button the same size
            
if ($module == get_class($this)) { // sets the color of the respective button
                
$button->modify_bg(Gtk::STATE_NORMALGdkColor::parse("#95DDFF"));
                
$button->modify_bg(Gtk::STATE_ACTIVEGdkColor::parse("#95DDFF"));
                
$button->modify_bg(Gtk::STATE_PRELIGHTGdkColor::parse("#95DDFF"));
            }
            
$hbox->pack_start($button00);
            
$hbox->pack_start(new GtkLabel());
            
$button->connect('clicked', array(&$this->main,'on_clicked'), $module); // event handler to handle button click
        
}
    }

    
// setup menu
    
function setup_menu($vbox$menus) {
        
$menubar = new GtkMenuBar();
        
$vbox->pack_start($menubar00);
        foreach(
$menus as $toplevel => $sublevels) {
            
$menubar->append($top_menu = new GtkMenuItem($toplevel));
            
$menu = new GtkMenu();
            
$top_menu->set_submenu($menu);
            foreach(
$sublevels as $submenu) {
                if (
$submenu=='<hr>') {
                    
$menu->append(new GtkSeparatorMenuItem());
                } else {
                    
$menu->append($menu_item = new GtkMenuItem($submenu));
                    
$menu_item->connect('activate', array(&$this->main'on_menu_select'));
                }
            }
        }
    }
}

?>