Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, estou fazendo um insert via PHP de um sistema de pedidos para o banco Mysql. Porém precisaria que o sistema "travasse" quando o usuário tentar cadastrar um pedido com numero ja existente, mas caso o campo número do pedido estiver vazio no banco, ele permitir cadastrar. Alguém tem algum exemplo de como posso fazer isso?
No primeiro momento pode permitir numero do pedido vazio, onde o usuário alterará e preencherá depois.
$search = mysql_query("SELECT * FROM pedidos WHERE num_pedido = '$num_pedido'");
if((mysql_num_rows($search) == 0) && (mysql_num_rows($search) <> "")){
echo '<script type="text/javascript">
alert("Número pedido já existente");
</script>';
echo "<script> window.location = history.go(-1);</script>";
}else{
$sql = "INSERT INTO `pedidos` ( `num_pedido`, `modelo` , `versao` , `cor` , `opcionais` , `anomodelo` , `sf` , `dn` , `edicao` , `anofaturamento`, `datadeintencao` , `status`)
VALUES ('$num_pedido', '$modelo', '$versao', '$cor', '$opcionais' , '$anomodelo' , '$sf', '$dn' , '$edicao' , '$anofaturamento', '$datadeintencao' , '$status')";
$consulta = mysql_query($sql);
echo '<script type="text/javascript">
alert("Pedido inserido com sucesso!");
</script>';
//Atualize a página
echo '<script type="text/javascript">location.replace("inicio.php");</script>';
}
Cadastro do Banco abaixo:
CREATE TABLE IF NOT EXISTS `pedidos` (
id int(5) unsigned zerofill NOT NULL,
num_pedido varchar(5) NOT NULL,
modelo varchar(2000) NOT NULL,
versao varchar(2000) NOT NULL,
cor varchar(2000) NOT NULL,
opcionais varchar(2000) NOT NULL,
anomodelo varchar(2000) NOT NULL,
sf varchar(2000) NOT NULL,
dn varchar(2000) NOT NULL,
edicao varchar(2000) NOT NULL,
chaveopcional varchar(500) NOT NULL,
chavecor varchar(500) NOT NULL,
status varchar(2000) NOT NULL,
anofaturamento varchar(2000) NOT NULL,
ponto varchar(2000) NOT NULL,
chassi varchar(2000) NOT NULL,
valorfaturamentomaximo varchar(2000) NOT NULL,
varejamento varchar(2000) NOT NULL,
datadeintencao varchar(2000) NOT NULL,
datadecoleta varchar(2000) NOT NULL,
datafaturamento varchar(2000) NOT NULL,
recebido varchar(2000) NOT NULL,
extra varchar(2000) NOT NULL,
conferido varchar(2000) NOT NULL,
pendentedealer varchar(2000) NOT NULL,
valornfdealer varchar(2000) NOT NULL,
datachegada varchar(2000) NOT NULL,
jachegouprevisaobreve varchar(2000) NOT NULL,
faltandochassi varchar(2000) NOT NULL,
faltandovalornf varchar(2000) NOT NULL,
buscapedido varchar(2000) NOT NULL,
emestoque varchar(2000) NOT NULL,
precovenda varchar(2000) NOT NULL,
margem varchar(2000) NOT NULL,
parareceber varchar(2000) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=latin1;
ALTER TABLE `pedidos`
ADD PRIMARY KEY (`id`), ADD UNIQUE KEY `num_pedido` (`num_pedido`);
ALTER TABLE `pedidos`
MODIFY `id` int(5) unsigned zerofill NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=21;Carregando comentários...