function updateInscripciones($id) { // miramos las pruebas en las que el perro esta inscrito $res = $this->__select("Inscripciones.*", "Inscripciones,Pruebas", "(Pruebas.ID=Inscripciones.Prueba) AND (Pruebas.Cerrada=0) AND (Perro={$id})", "", ""); if (!is_array($res)) { return $this->conn->error; } // actualizamos los datos de inscripcion de la prueba foreach ($res['rows'] as $inscripcion) { procesaInscripcion($inscripcion['Prueba'], $inscripcion['ID']); } return ""; }
/** * Remove all inscriptions of IDPerro in non-closed jornadas from provided prueba * @return {string} "" on success; null on error */ function delete($idperro) { $this->myLogger->enter(); $p = $this->pruebaID; if ($idperro <= 0) { return $this->error("Invalid Perro ID"); } // fase 0: obtenemos el ID de la inscripcion $res = $this->__selectAsArray("ID", "Inscripciones", "(Perro={$idperro}) AND (Prueba={$p})"); if (!is_array($res)) { return $this->error("Inscripciones::delete(): El perro con id:{$idperro} no esta inscrito en la prueba:{$p}"); } $i = $res['ID']; // fase 1: actualizamos la DB para indicar que el perro no esta inscrito en ninguna jornada $sql = "UPDATE Inscripciones SET Jornadas = 0 WHERE (ID={$i})"; $res = $this->query($sql); if (!$res) { return $this->error($this->conn->error); } // fase 2: eliminamos informacion del perro en los ordenes de salida y tabla de resultados procesaInscripcion($p, $i); // fase 3: finalmente eliminamos el perro de la tabla de inscripciones $sql = "DELETE FROM Inscripciones WHERE (ID={$i})"; $res = $this->query($sql); if (!$res) { return $this->error($this->conn->error); } $this->myLogger->leave(); return ""; }