neotheone 0 Denunciar post Postado Setembro 29, 2007 Fala pessoal! Tenho a seguinte dúvidaEstou montando um formulario de cadastro, onde nem todos os campos são obrigatórios, ou seja, alguns podem ficar vazios, porém quando esse campo vazio for gravado no MySQL eu gostaria que ele adicionasse tracinhos "-----------". A minha pergunta é a seguinte:Tem como pré-definir isso dentro do MySQL, ou só mesmo fazendo tratamento com programação?Pois eu queria que o próprio MySQL tratasse disso.valew Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Setembro 29, 2007 Elaborei um código para tal, segue abaixo: Não modifique nada, apenas coloque o seu usuário do DB e a senha, e coloque o nome do DB. Primeiro criamos a tabela: CREATE TABLE tabela ( campo1 varchar(10) NOT NULL, campo2 varchar(10) NOT NULL) ENGINE=MyISAM DEFAULT CHARSET=utf8; Agora vamos ao código: <form name="frm" method="post" action="">Nome<input type="text" name="nome">Nome2<input type="text" name="nomea"><input type="submit" name="ok"></form><?php$link=mysql_connect("localhost","USUÁRIO_DB","SENHA_DB");mysql_select_db("BANCO_DE_DADOS",$link);$nome= $_POST['nome'];$nomea=$_POST['nomea'];$branco="-----------";if(($nome != "") and ($nomea != "")){$inserir=mysql_query("INSERT INTO tabela (campo1,campo2) VALUES ('$nome','$nomea')");}elseif(($nome == "") and ($nomea == "")){$inserir=mysql_query("INSERT INTO tabela (campo1,campo2) VALUES ('$branco','$branco')");}elseif(($nome != "") and ($nomea =="")){$inserir=mysql_query("INSERT INTO tabela (campo1,campo2) VALUES ('$nome','$branco')");}elseif(($nome == "") and ($nomea !="")){$inserir=mysql_query("INSERT INTO tabela (campo1,campo2) VALUES ('$branco','$nomea')");}?> http://forum.imasters.com.br/public/style_emoticons/default/shifty.gif Compartilhar este post Link para o post Compartilhar em outros sites
Wagner Bianchi 0 Denunciar post Postado Setembro 30, 2007 Bom, você pode tratar isso no código como o The Cod fez ou automatizar a coisa e escrever mesno código adicionando uma restrição de domínio na criação da tabela. Observe o CREATE TABLE: CREATE TABLE tabela ( campo1 varchar(10) NULL DEFAULT '---------', campo2 varchar(10) NULL DEFAULT '---------' ) ENGINE=MyISAM; ...você pode colocar o seu INSERT de forma a pegar os valores que fora informados ou não. Caso campo1 seja informado e campo 2 não, o registro ficará da seguinte forma: mysql> SELECT * FROM t; +--------+--------+ | campo1 | campo2 | +--------+--------+ | wagner | ------ | +--------+--------+ 1 row IN SET (0.00 sec) Colocar direto no banco pode lhe dar mais performance em relação a telas que fazer interface do sistema com o mundo externo, quanto menos IF's, melhor! Abração!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Setembro 30, 2007 Legal Wagner Bianchi... :) Compartilhar este post Link para o post Compartilhar em outros sites