Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

conan19

Sistema de Venda de Ingressos php + mysql

Recommended Posts

Olá pessoal, sou novo aqui no fórum, atualmente estou desenvolvendo um sistema de venda de ingressos para um evento em php e mysql, a dúvida que tenho diz respeito a que estrutura de tabelas usar no banco de dados, são 4 dias de evento, 800 ingressos por dia é o máximo,

no momento da inscrição quero mostrar se há ingressos disponíveis para tal dia, ou se já estão esgotados...

pensei em criar duas tabelas +ou- assim:

tabela para guardar dados da pessoa:

 

CREATE TABLE dados
(
codigo int NOT NULL AUTO INCREMENT,
nome varchar(50) NOT NULL,
cpf varchar(20) NOT NULL,

email varchar(50) NOT NULL,

telefone varchar(20) NOT NULL,
PRIMARY KEY(codigo)
);

 

tabela para controle dos ingressos por dia:

a tabela dados possui uma chave estrangeira na tabela controle_ingressos.

 

CREATE TABLE controle_ingressos
(
ing_codigo int NOT NULL AUTO INCREMENT,
quarta varchar(10) NOT NULL,
quinta varchar(10) NOT NULL,
sexta varchar(10) NOT NULL,

sabado varchar(10) NOT NULL,

cod_dados int NOT NULL,
PRIMARY KEY(ing_codigo)

FOREIGN KEY (cod_dados)
REFERENCES dados (codigo),
);

 

exemplo de insert:

INSERT INTO dados(nome,cpf,rg,email,telefone) VALUES ('joao','XXX.XXX.XXX-XX','email','XXXX-XXXX');

INSERT INTO controle_ingressos(quarta,quinta,sexta,sabado,cod_dados) VALUES ('inscrito','inscrito','inscrito','inscrito',LAST_INSERT_ID());

 

 

e ai, o que acham, alguem teria uma solução melhor?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sugiro algo assim:

CREATE TABLE comprador
(
comprador_codigo int NOT NULL AUTO INCREMENT,
nome varchar(50) NOT NULL,
cpf varchar(20) NOT NULL,
email varchar(50) NOT NULL,
telefone varchar(20) NOT NULL,
PRIMARY KEY(codigo)
);


CREATE TABLE ingressos
(
ing_codigo int NOT NULL AUTO INCREMENT,
data_compra DATE,
comprador_codigo int NOT NULL,
PRIMARY KEY(ing_codigo),
FOREIGN KEY (comprador_codigo) REFERENCES comprador (comprador_codigo)
);

pois fica muito mais fácil gravar a data em que o ingresso foi comprado.

Compartilhar este post


Link para o post
Compartilhar em outros sites
  1. CREATE TABLE comprador
  2. (
  3. comprador_codigo int NOT NULL AUTO INCREMENT,
  4. nome varchar(50) NOT NULL,
  5. cpf varchar(20) NOT NULL,
  6. email varchar(50) NOT NULL,
  7. telefone varchar(20) NOT NULL,
  8. PRIMARY KEY(codigo)
  9. );
  10. CREATE TABLE ingressos
  11. (
  12. ing_codigo varchar(5) NOT NULL AUTO INCREMENT,
  13. data_compra DATE,
  14. comprador_codigo int NOT NULL,
  15. PRIMARY KEY(ing_codigo),
  16. FOREIGN KEY (comprador_codigo) REFERENCES comprador (comprador_codigo)
  17. );

Não sei se é o caso mas permite controle de ingressos do tipo fileira/cadeira (B52)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.