cassiombc 0 Denunciar post Postado Setembro 27, 2012 Galera estou realizando um cadastro de um cliente com os dados corretos so que na hora que ele inser no bd uma dos valores é alterado, e se caso eu realize um novo cadastro ele repete o valor no mesmo campo ex. O meu cliente tem o cnpj e outros dados, ao inserir um cliente novo o cnpj ele nao insere de acordo com o informado. quando é realizado a inserção de um novo cliente o cnpj é igual ao anterior e tambem nao confere com o informado. Segue minhas classes. Minha classe Cliente (App/Model) <?php class Application_Model_DbTable_Cliente extends Zend_Db_Table_Abstract { protected $_name = 'clientes'; public function getCliente($id) { $id = (int) $id; $row = $this->fetchRow('id = ' . $id); if (!$row) { throw new Exception("Could not find row". $id); } return $row->toArray(); } public function addCliente($cnpj, $nome, $razao, $tel1, $tel2, $email, $contato, $cidade, $estado, $endereco) { $data = array( 'cnpj' => $cnpj, 'nome' => $nome, 'razao' => $razao, 'tel1' => $tel1, 'tel2' => $tel2, 'email' => $email, 'contato' => $contato, 'cidade' => $cidade, 'estado' => $estado, 'endereco' => $endereco, ); $this->insert($data); } public function updateCliente($id,$cnpj, $nome, $razao, $tel1, $tel2, $email, $contato, $cidade, $estado, $endereco) { $data = array( 'cnpj' => $cnpj, 'nome' => $nome, 'razao' => $razao, 'tel1' => $tel1, 'tel2' => $tel2, 'email' => $email, 'contato' => $contato, 'cidade' => $cidade, 'estado' => $estado, 'endereco' => $endereco, ); $this->update($data, 'id= ' .(int)$id, (int) $cnpj, $nome, $razao, (int) $tel1, (int) $tel2, $email, $contato, $cidade, $estado, $endereco); } public function deleteCliente($id) { $id2 =(int)@$id; $this->delete('id ='.$id2); } } Minha classe Indexcontroller(App/module/admin/Controller) public function admcadastroclienteAction() { $usuario = Zend_Auth::getInstance()->getIdentity(); $this->view->usuario = $usuario; $form = new Application_Form_Admcadastrocliente(); $this->view->form = $form; if ($this->getRequest()->isPost()) { $formData = $this->getRequest()->getPost(); if ($form->isValid($formData)) { $cnpj = $form->getValue('cnpj'); $nome = $form->getValue('nome'); $razao = $form->getValue('razao'); $tel1 = $form->getValue('tel1'); $tel2 = $form->getValue('tel2'); $email = $form->getValue('email'); $contato = $form->getValue('contato'); $cidade = $form->getValue('cidade'); $estado = $form->getValue('estado'); $endereco = $form->getValue('endereco'); $cliente = new Application_Model_DbTable_Cliente(); $cliente->addCliente($cnpj, $nome, $razao, $tel1, $tel2, $email, $contato, $cidade, $estado, $endereco); $this->render('clientesucesso'); } else { $form->populate($formData); } } } Meu form admcadastrocliente(app/form) <?php class Application_Form_Admcadastrocliente extends Zend_Form { public function init() { $this->setName('Cliente'); $id = new Zend_Form_Element_Hidden('id'); $id->addFilter('Int'); $cnpj = new Zend_Form_Element_Text('cnpj'); $cnpj->setLabel('CNPJ') ->setRequired(true) ->addFilter('Int') ->addValidator('NotEmpty'); $nome = new Zend_Form_Element_Text('nome'); $nome->setLabel('Nome') ->setOptions(array('size' => '50')) ->setRequired(true) ->addFilter('StripTags') ->addFilter('StringTrim') ->addValidator('NotEmpty'); $razao = new Zend_Form_Element_Text('razao'); $razao->setLabel('Razao') ->setRequired(true) ->setOptions(array('size' => '50')) ->addFilter('StripTags') ->addFilter('StringTrim') ->addValidator('NotEmpty'); $telefone1 = new Zend_Form_Element_Text('tel1'); $telefone1->setLabel('Telefone1(Ex. XX-XXXX-XXXX)') ->setRequired(true) ->addFilter('Int') ->addValidator('NotEmpty'); $telefone2 = new Zend_Form_Element_Text('tel2'); $telefone2->setLabel('Telefone2(Ex. XX-XXXX-XXXX)') ->setRequired(true) ->addFilter('Int') ->addValidator('NotEmpty'); $email = new Zend_Form_Element_Text('email'); $email->setLabel('E-mail') ->setOptions(array('size' => '40')) ->setRequired(true) ->addFilter('StripTags') ->addFilter('StringTrim') ->addValidator('NotEmpty'); $contato = new Zend_Form_Element_Text('contato'); $contato->setLabel('Contato') ->setRequired(true) ->addFilter('StripTags') ->addFilter('StringTrim') ->addValidator('NotEmpty'); $cidade = new Zend_Form_Element_Text('cidade'); $cidade->setLabel('Cidade') ->setRequired(true) ->addFilter('StripTags') ->addFilter('StringTrim') ->addValidator('NotEmpty'); //Baixar o banco de ado do correiso $estado = new Zend_Form_Element_Select('estado'); $estado->setLabel('Estado') ->setMultiOptions(array( 'AC' => 'AC', 'AL' => 'AL', 'AP' => 'AP', 'AM' => 'AM', 'BA' => 'BA', 'CE' => 'CE', 'DF' => 'DF', 'GO' => 'GO', 'MA' => 'MA', 'MT' => 'MT', 'MS' => 'MS', 'MG' => 'MG', 'PA' => 'PA', 'PB' => 'PB', 'PR' => 'PR', 'PE' => 'PE', 'PI' => 'PI', 'RJ' => 'RJ', 'RN' => 'RN', 'RS' => 'RS', 'RO' => 'Ro', 'RR' => 'RR', 'SC' => 'SC', 'SP' => 'SP', 'SE' => 'SE', 'TO' => 'TO', )); $endereco = new Zend_Form_Element_Text('endereco'); $endereco->setLabel('Endereço') ->setOptions(array('size' => '50')) ->setRequired(true) ->addFilter('StripTags') ->addFilter('StringTrim') ->addValidator('NotEmpty'); $submit = new Zend_Form_Element_Submit('submit'); $submit->setAttrib('id', 'submitbutton'); $this->addElements(array($nome, $razao, $cnpj, $telefone1, $telefone2, $email, $contato, $cidade, $estado, $endereco, $submit)); } } e o valor que ele gera é sempre 2147483647 Compartilhar este post Link para o post Compartilhar em outros sites
cassiombc 0 Denunciar post Postado Setembro 28, 2012 nao sei se alguem vai gostar da ideia mas a solução que encontrei foi alterar o valor da tabela de int para String. POde fechar o topico. Compartilhar este post Link para o post Compartilhar em outros sites