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
Código:
Codigo del grid (Clientesgrid.php)/** * 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={};
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>