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>