Guía 26 – Gestión de registros seleccionados de página LIST

Este ejemplo es bastante simple pero parece que a los desarrolladores de PHPRunner, en algunos casos nos cuesta recordar lo fácil que lo hace el producto para tratar los registros que previamente hemos seleccionado en una página LIST.

El ejemplo tiene como objetivo registrar si un registro se ha archivado o no, con que actualiza un campo en el registro con esta información y además crea un registro en la tabla de archivados, con la información del registro original.

Para el ejemplo me he fijado estos requisitos:

  • Se actualizará el registro seleccionado, indicado que el registro se ha “archivado” y se creará un registro copia del anterior, en la tabla de “archivados”.
  • Se crearán 2 botones uno para “Archivar” y otro “Des-archivar” que hace la operación contraria.
  • No se hará la operación si el registros está en el estado que se solicita debe quedar.

Objetivo

Facilitar la compresión y disponer de un ejemplo para el tratamiento de los registros seleccionados en una página de tipo LIST.

DEMO: https://fhumanes.com/guia26

Solución Técnica

Como se indicó, este ejemplo es muy simple. Lo único que se ha hecho es definir 2 botones para ejecutar las  funciones.

En la codificación de los botones de 3 estados, la codificación del estado Server queda:

$result["txt"] = "No se ha actualizado ningún registro";
while ( $data = $button->getNextSelectedRecord() ) {
  $id = $data['id_guia26_usuario'];
  $nombre = $data['NombreyApellidos'];
  $status = $data['Estatus'];
  // Control de si ya tiene registro de copia
  $rs2 = DB::Query("SELECT count(*) registros FROM guia26_copia where guia26_usuario_id = $id ");
  $data2 = $rs2->fetchAssoc();
  if ( $data2['registros'] == 0 ) { // Hay que hacer el registro copia y actualizar el estatus
      $data3 = array();
      $data3["guia26_usuario_id"] = $id;
      $data3["FechaAlta"]  = now();
      DB::Insert("guia26_copia", $data3 );

      $data4 = array();
      $keyvalues4 = array();
      $data4["Estatus"] = "1";
      $keyvalues4["id_guia26_usuario"] = $id;
      DB::Update("guia26_usuario", $data4, $keyvalues4 );
      $result["txt"] = "Los registro/s han sido actualizado/s";
      }
}

Os dejo el ejemplo para que lo podáis instalar en vuestros Windows.

Para cualquier duda o lo que necesitéis, contactar conmigo a través de mi email: [email protected]

 

Adjuntos

Archivo Tamaño de archivo Descargas
zip Backup de la base de datos 1 KB 260
zip PHPRunner 10.5 34 KB 190

Blog personal para facilitar soporte gratuito a usuarios de PHPRunner