public function votar(Codigo $cod, JuradoPopular $jpop) { $stmt = $this->db->prepare("INSERT INTO vota_pop values(?,?)"); $stmt->execute(array($jpop->getId(), $cod->getId())); $stmt2 = $this->db->prepare("UPDATE pincho set num_votos=(num_votos + 1) where FK_establecimiento_pinc=?"); $stmt2->execute(array($cod->getEstablecimiento())); }
protected function processForm(sfWebRequest $request, sfForm $form) { $form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName())); if ($form->isValid()) { $peticion = $form->save(); $newCodigo = new Codigo(); $newCodigo->setIdUser($form->getObject()->getIdUser()); $newCodigo->setNumero($form->getObject()->getNumero() * -1); $newCodigo->setBarrio($form->getObject()->getBarrio()); $newCodigo->setCalle1($form->getObject()->getCalle1()); $newCodigo->setCalle2($form->getObject()->getCalle2()); $newCodigo->setNumCasa($form->getObject()->getNumCasa()); $newCodigo->setObservacion($form->getObject()->getObservacion()); try { $newCodigo->save(); $peticion->delete(); $this->redirect('codigo/editagregar?id=' . $newCodigo->getId()); } catch (Exception $e) { $this->redirect('peticionCodigo/edit?id=' . $peticion->getId()); } } }
/** * Genera un codigo para el pincho * * @param Pincho $idPincho id del pincho al que se le generarĂ¡ un nuevo codigo * @throws PDOException si existe un error con la base de datos * @throws Exception si se inserta mas de una tupla en la base de datos * @return boolean. Devuelve true (1) si se ha producido la insercion, false (0) en caso contrario */ public function crearCodigo($idPincho, $autoincremental) { //Generacion del codigo //$autoincremental=$this->totalCodigos($idPincho); $key = ''; $claves = array(); $pattern = '1234567890abcdefghijklmnopqrstuvwxyz'; $max = strlen($pattern) - 1; for ($i = 0; $i < 3; $i++) { $key .= $pattern[mt_rand(0, $max)]; } $claves[0] = "{$idPincho}" . "{$autoincremental}" . "{$key}"; //$key=''; //$autoincremental++; //Creacion del codigo con el valor que acaba de generarse $codigo = new Codigo($claves[0]); //Insercion en la base de datos $stmt = $this->db->prepare("INSERT INTO codigo(idcodigo, pincho_idpincho) values (?,?)"); $stmt->execute(array($codigo->getId(), $idPincho)); $count = $stmt->rowCount(); switch ($count) { case 0: return false; break; case 1: return true; break; default: //throw new Exception ( "Error al realizar la insercion en la BD" ); return false; break; } }