Ver Mensaje Individual
  #7 (permalink)  
Antiguo 07/06/2010, 16:12
warbandit69
 
Fecha de Ingreso: diciembre-2008
Ubicación: http://www.solucionesrios.tk/
Mensajes: 413
Antigüedad: 15 años, 4 meses
Puntos: 19
Respuesta: Problemas con Arreglo dentro de otro Arreglo

Cita:
Iniciado por pateketrueke Ver Mensaje
en todo caso no crees que la solución esta en poner los saltos de linea y espacios desde tu función??
Tienes toda la razón, hice los saltos de linea dentro de la función php y listo (es demasiado extraño y engorroso a veces mezclar javascript con php)

Y aqui la solución, una función php para generar grids con extjs :apla uso:

Código PHP:

function grid_scroll_bar($titulo,$consulta,$div,$campos,$campos_hint,$alto,$ancho,$hostname_obras,$database_obras,$username_obras,$password_obras,$columnas) {
    
$obras mysql_pconnect($hostname_obras$username_obras$password_obras) or trigger_error(mysql_error(),E_USER_ERROR);  //Se usan rutas persistentes
    
mysql_select_db($database_obras$obras);
    
$query_gridsql sprintf($consulta);
    
$gridsql mysql_query($query_gridsql$obras) or die(mysql_error());
    
$row_gridsql mysql_fetch_assoc($gridsql);
    
$totalRows_gridsql mysql_num_rows($gridsql);
    
$campo explode(",",$campos);
    
$total_campos count($campo);
    
$ancho_columnas $ancho/$total_campos;
    
$grid "<script type='text/javascript'>
    "
;
    
$grid .= "Ext.onReady(function(){
        "
;
    
$grid .= "var myData = [
    "
;
    
$l 0;
    do {
        
$arreglo_indices = array();
        
$l++;
        
$grid .= "[";
        for (
$i 0$i $total_campos$i++) {
            
$id_campo $campo[$i];
            
$arreglo_indices[] =  "'".$row_gridsql[$id_campo]."'";
        }
        if (
count($arreglo_indices) > 0) {
            
$arreglo1 implode(",",$arreglo_indices);
            
$grid .= $arreglo1;
        }
        
        if (
$totalRows_gridsql != $l) {
            
$grid .= "],";
        } else {
            
$grid .= "]";
        }
    } while(
$row_gridsql mysql_fetch_assoc($gridsql));
    
$grid .= "];";
    
// create the data store
    
$grid .= "var store = new Ext.data.Store({
        "
;
    
$grid .= "proxy: new Ext.ux.data.PagingMemoryProxy(myData),
    "
;
    
$grid .= "remoteSort:true,
    "
;
    
$grid .= "sortInfo: {field:'".$campo[0]."', direction:'DESC'},
    "
;
    
$grid .= "reader: new Ext.data.ArrayReader({
        "
;
    
$grid .= "fields: [
    "
;
    
//Empezar ciclo
    
for ($j 0$j $total_campos$j++) {
        
$arreglo_nombres[] = "{name:'".$campo[$j]."'}
        "
;
    }
    
$grid .= implode(",",$arreglo_nombres);
    
//Finalizar ciclo
      
$grid .= "]
    "
;
    
$grid .= "})
    "
;
    
$grid .= "})
    "
;
    
// create the Grid
    
$grid .= "var grid = new Ext.grid.GridPanel({
        "
;
    
$grid .= "store: store,
    "
;
    
$grid .= "    columns: [
    "
;
    
//Empezar el ciclo
    
for ($k 1$k $total_campos$k++) {
        
$arreglo_campos[] = "{header: \"".$campo[$k]."\", width: ".$ancho_columnas.", sortable: true, dataIndex: '".$campo[$k]."'}
        "
;
    }
    
//Finalizar ciclo
    
$grid .= "{id: \"".$campo[0]."\", width: ".$ancho_columnas.",  sortable: true, dataIndex: '".$campo[0]."'}, 
    "
.implode(",",$arreglo_campos);
    
$grid .= "    ],
    "
;
    
$grid .= "   stripeRows: true,
    "
;
    
$grid .= "    autoExpandColumn: '".$campo[0]."',
    "
;
    
$grid .= "    height:".$alto.",
    "
;
    
$grid .= "   width:".$ancho.",
    "
;
    
$grid .= "   frame:true,
    "
;
    
$grid .= "   title:'".$titulo."',
    "
;
    
$grid .= "  plugins: new Ext.ux.PanelResizer({
        "
;
    
$grid .= "       minHeight: 100
    "
;
    
$grid .= "   }),
    "
;
    
$grid .= "bbar: new Ext.PagingToolbar({
        "
;
    
$grid .= "pageSize: 10,
    "
;
    
$grid .= "store: store,
    "
;
    
$grid .= "displayInfo: true,
    "
;
    
$grid .= "plugins: new Ext.ux.ProgressBarPager()
    "
;
    
$grid .= "   })
    "
;
    
$grid .= "});
    "
;
    
$grid .= "grid.render('".$div."');
    "
;
    
$grid .= "store.load({params:{start:0, limit:".$columnas."}});
    "
;
    
$grid .= "});
    "
;
    
$grid .= "</script>";

    return 
$grid;

__________________
http://www.solucionesrios.tk/

Visita mi Web!