Foros del Web » Programando para Internet » Jquery »

Grid con java, no actualiza datos.

Estas en el tema de Grid con java, no actualiza datos. en el foro de Jquery en Foros del Web. Buenos dias. Tengo un problema. Modifique el codigo de un grid que encontre por internet y no logro que funcione. Solo me muestra los datos ...
  #1 (permalink)  
Antiguo 08/04/2013, 06:39
 
Fecha de Ingreso: abril-2012
Mensajes: 15
Antigüedad: 12 años
Puntos: 0
Grid con java, no actualiza datos.

Buenos dias. Tengo un problema. Modifique el codigo de un grid que encontre por internet y no logro que funcione. Solo me muestra los datos en el grid, de ahi en mas no funciona nada.

Mil gracias a lo que ayudan en estos foros!!

Codigo del de la tabla (index.php)

Código PHP:
<?php
/**
 * Autor: Lucas Forchino
 * Web: http://www.tutorialjquery.com
 *
 */
include_once ("clase.php");// incluyo las clases a ser usadas
$action='index';
if(isset(
$_POST['action']))
{
$action=$_POST['action'];}


$view= new stdClass(); // creo una clase standard para contener la vista
$view->disableLayout=false;// marca si usa o no el layout , si no lo usa imprime directamente el template




// para no utilizar un framework y simplificar las cosas uso este switch, la idea
// es que puedan apreciar facilmente cuales son las operaciones que se realizan
switch ($action)
{
    case 
'index':
        
$view->materiales=Material::getMateriales(); // tree todos los materiales
        
$view->contentTemplate="templates/clientesGrid.php"// seteo el template que se va a mostrar
        
break;
    case 
'refreshGrid':
        
$view->disableLayout=true// no usa el layout
        
$view->materiales=Material::getMateriales();
        
$view->contentTemplate="templates/clientesGrid.php"// seteo el template que se va a mostrar
        
break;
    case 
'saveClient':
        
// limpio todos los valores antes de guardarlos
        // por ls dudas venga algo raro
        
$id=intval($_POST['codmat']);
        
$codarea=cleanString($_POST['codarea']);
        
$codrubro=cleanString($_POST['codrubro']);
        
$codsubrub=cleanString($_POST['codsubrub']);
        
$secuencia=cleanString($_POST['secuencia']);
        
$nombre=cleanString($_POST['nombre']);
        
        
$material=new Material($codmat);
        
$material->setcodarea($codarea);
        
$material->setcodrubro($codrubro);
        
$material->setcodsubrub($codsubrub);
        
$material->setsecuencia($secuencia);
        
$material->setnombre($nombre);
        
$material->save();
        break;
        
    case 
'newClient':
        
$view->client=new Material();
        
$view->label='Nuevo Material';
        
$view->disableLayout=true;
        
$view->contentTemplate="templates/clientForm.php"// seteo el template que se va a mostrar
        
break;
    case 
'editClient':
        
$editId=intval($_POST['id']);
        
$view->label='Editar Material';
        
$view->client=new Material($editId);
        
$view->disableLayout=true;
        
$view->contentTemplate="templates/clientForm.php"// seteo el template que se va a mostrar
        
break;
    case 
'deleteClient':
        
$codmat=intval($_POST['codmat']);
        
$client=new Material($codmat);
        
$client->delete();
        die; 
// no quiero mostrar nada cuando borra , solo devuelve el control.
        
break;
    default :
}

// si esta deshabilitado el layout solo imprime el template
if ($view->disableLayout==true)
{include_once (
$view->contentTemplate);}
else
{include_once (
'templates/layout.php');} // el layout incluye el template adentro
Codigo del java (functions.js):
Código:
/**
 * Autor: Lucas Forchino
 * Web: http://www.tutorialjquery.com
 *
 */
$(document).ready(function(){ //cuando el html fue cargado iniciar

    //añado la posibilidad de editar al presionar sobre edit
    $('.edit').live('click',function(){
        //this = es el elemento sobre el que se hizo click en este caso el link
        //obtengo el codigomat que guardamos en data-id
        var id=$(this).attr('data-id');
        //preparo los parametros
        params={};
        params.id=id;
        params.action="editClient";
        $('#popupbox').load('index.php', params,function(){
            $('#block').show();
            $('#popupbox').show();
        })

    })

    $('.delete').live('click',function(){
        //obtengo el id que guardamos en data-id
        var id=$(this).attr('data-id');
        //preparo los parametros
        params={};
        params.id=id;
        params.action="deleteClient";
        $('#popupbox').load('index.php', params,function(){
            $('#content').load('index.php',{action:"refreshGrid"});
        })

    })

    $('#new').live('click',function(){
        params={};
        params.action="newClient";
        $('#popupbox').load('index.php', params,function(){
            $('#block').show();
            $('#popupbox').show();
        })
    })


    $('#client').live('submit',function(){
        var params={};
        params.action='saveClient';
        params.id=$('#id').val();
        params.codarea=$('#codarea').val();
        params.codrubro=$('#codrubro').val();
        params.codsubrub=$('#codsubrub').val();
        params.secuencia=$('#secuencia').val();
		params.nombre=$('#nombre').val();
        $.post('index.php',params,function(){
            $('#block').hide();
            $('#popupbox').hide();
            $('#content').load('index.php',{action:"refreshGrid"});
        })
        return false;
    })


    // boton cancelar, uso live en lugar de bind para que tome cualquier boton
    // nuevo que pueda aparecer
    $('#cancel').live('click',function(){
        $('#block').hide();
        $('#popupbox').hide();
    })


})

NS={};
Codigo del grid (Clientesgrid.php)
Código PHP:
<div class="bar">
    <a id="new" class="button" href="javascript:void(0);">Nuevo Material</a>

</div>


<table>
    <thead>
        <tr>
            <th>Codigo</th>
            <th>Area</th>
            <th>Rubro</th>
            <th>Subrubro</th>
            <th>Secuencia</th>
            <th>Nombre</th>
            <th>Editar</th>
            <th>Borrar</th>
        </tr>
    </thead>
    <tbody>
    
        <?php foreach ($view->materiales as $material):  // uso la otra sintaxis de php para templates ?>
            <tr>
                <td><?php echo $material['codmat'];?></td>
                <td><?php echo $material['codarea'];?></td>
                <td><?php echo $material['codrubro'];?></td>
                <td><?php echo $material['codsubrub'];?></td>
                <td><?php echo $material['secuencia'];?></td>
                <td><?php echo $material['nombre'];?></td>
                <td><a class="edit" href="javascript:void(0);" data-id="<?php echo $material['codmat'] ;?>"> Editar </a></td>
              
                <td><a class="delete" href="javascript:void(0);" data-id="<?php echo $material['codmat'];?>">Borrar</a></td>
            </tr>
        <?php endforeach;?>
        
    </tbody>
</table>

POr ultimo el cartel de modificacion de datos: (clientForm.php)

Código PHP:
<h2><?php echo $view->label ?></h2>
<form name ="client" id="client" method="POST" action="index.php">
    <input type="hidden" name="id" id="id" value="<?php print $view->client->getId() ?>">
       <div>
        <label>Codigo</label>
        <input type="text" name="codmat" id="codmat"value = "<?php print $view->client->getId() ?>">
    </div>
   
    <div>
        <label>Area</label>
        <input type="text" name="codarea" id="codarea" value = "<?php print $view->client->getCodarea() ?>">
    </div>
    <div>
        <label>Rubro</label>
        <input type="text" name="codrubro" id="codrubro"value = "<?php print $view->client->getCodrubro() ?>">
    </div>
    <div>
        <label>Subrubro</label>
        <input type="text" name="codsubrub" id="codsubrub" value = "<?php print $view->client->getCodsubrub() ?>">
    </div>
    <div>
        <label>Secuencia</label>
        <input type="text" name="secuencia" id="peso" value = "<?php print $view->client->getSecuencia() ?>">
    </div>
        <div>
        <label>Nombre</label>
        <input type="text" name="nombre" id="nombre" value = "<?php print $view->client->getNombre() ?>">
    </div>
    <div class="buttonsBar">
        <input id="cancel" type="button" value ="Cancelar" />
        <input id="submit" type="submit" name="submit" value ="Guardar" />
    </div>
</form>
  #2 (permalink)  
Antiguo 09/04/2013, 03:27
Avatar de Kamae  
Fecha de Ingreso: abril-2008
Ubicación: Barcelona (Catalunya)
Mensajes: 307
Antigüedad: 16 años
Puntos: 13
Respuesta: Grid con java, no actualiza datos.

Hola buenas

¿No te da ningún tipo de error ni nada? El código es extenso y sin pistas como para revisarlo bien, aunque no llevo mucho trasteando con POO quizás me equivoque, pero yo revisaría el clientForm.php. Me sorprende que empieces con un $view->label; cuando $view no está instanciado en ese fichero.

De hecho iría si haces un "include" de clientForm, pero si haces un "load" o similar no. Tú haces un $view->contentTemplate="templates/clientForm.php";, pero no sé si eso implica lo mismo que una inclusión o que un "load". Prueba a poner una chorrada en texto plano en ese fichero y a ver si te lo carga.

¿Tienes los errores activados?

Siento no poder ayudarte más por el momento, saludos
  #3 (permalink)  
Antiguo 09/04/2013, 08:03
 
Fecha de Ingreso: abril-2012
Mensajes: 15
Antigüedad: 12 años
Puntos: 0
Respuesta: Grid con java, no actualiza datos.

Es que, no encuentro el error. Soy nuevo usando el Jquery y la verdad que como copie el codigo y lo cambie para que funcione con mi db supongo que en algun lado me comi algo. abre la pantalla popup de modificacion de datos pero no trae nada mas que el titulo. No aparece ningun error ni nada.

La verdad que no se que puede ser. lo unico que tengo difeerente que creo que puede ser el problema es que la variabla codmat es un alfanumerico y no un integer como en el origial. Estoy perdido en esto.

Si alguno tiene un codigo mas simple agradeceria que me lo pase asi lo puedo usar.

Muchas gracias,
  #4 (permalink)  
Antiguo 09/04/2013, 08:24
 
Fecha de Ingreso: abril-2012
Mensajes: 15
Antigüedad: 12 años
Puntos: 0
Respuesta: Grid con java, no actualiza datos.

Cita:
Iniciado por Wainman Ver Mensaje
Es que, no encuentro el error. Soy nuevo usando el Jquery y la verdad que como copie el codigo y lo cambie para que funcione con mi db supongo que en algun lado me comi algo. abre la pantalla popup de modificacion de datos pero no trae nada mas que el titulo. No aparece ningun error ni nada.

La verdad que no se que puede ser. lo unico que tengo difeerente que creo que puede ser el problema es que la variabla codmat es un alfanumerico y no un integer como en el origial. Estoy perdido en esto.

Si alguno tiene un codigo mas simple agradeceria que me lo pase asi lo puedo usar.

Muchas gracias,
LEs explico que quiero hacer. Quiero que me muestre una tabla (grilla) con todos los materiales que hay y que pueda modificar los datos desde ahi, como para gilizar la correccion y cambios.

Etiquetas: grid, java, javascript, php
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 14:02.