Array
(
)

Gargalho com PHP em MYSQL

PHP
Abraão Marques
   - 12 jun 2012

Olá, pessoal! Boa tarde a todos.
Bem, preciso de uma orientação de quem puder me ajudar.
Eu preciso criar um sistema para uma empresa de eventos. E consiste da seguinte forma: eles cadastram as fotos do evento que fez numa área administrativa, de modo que os usuários, desse evento, ao acessar essa área consigam ver apenas as fotos que foram cadastradas para ele. Como será tudo num banco de dados e pensei em fazer da seguinte forma:
Criar uma forma para upload das fotos e, no mesmo script, deixar a rotina para criação da tabela no banco de dados dinamicamento, CREATE TABLE, que terá o nome do evento que ele cadastrou, onde as imagens serão cadastradas e o nome do usuário e senha de acesso já será criado por ele mesmo. Porém, eu me deparei com o seguinte gargalo: se o cara enviar 200 fotos e eu configurar para enviar apenas 10 por vez, por exemplo, então ele ficaria criando a tabela toda vez que ocorrer o envio, devido a rotina criada. O que, também, poderia gerar um conflito devido no primeiro envio, já ter sido criado um tabela com aquele nome.
Alguém saberia me orientar no que devo fazer? Não precisa me dá um arquivo pronto, porque eu me viro com isso depois. Mas, orientar-me num caminho que posso seguir para resolver isso. É que não conseguindo pensar numa lógica para isso.

Valeu,
Abração a todos!!!

Joel Rodrigues
   - 12 jun 2012

Uma tabela para cada evento? Não, não, não.
Use apenas UMA TABELA, identificando o evento em cada registro, por exemplo, através de um código.
Eu sugiro, ainda, que você não salve as fotos no banco, pois o mesmo iria crescer rapidamente e você começaria a perder desempenho. Salve as fotos em pastas distintas (aí sim, pode ser uma pasta por evento, criada dinamicamente).

Boa sorte.

Fernando
   - 12 jun 2012

Sugestão:

Crie 3 tabelas, uma de participantes, fotos, eventos, no caso vc teria as tabelas com estruturas mais ou menos assim:

Tabela Fotos:
id
id_evento
foto

Tabela participantes
id
nome
email
...

Tabela eventos
id nao // auto increment
id_participante

Então para cada evento criado, vc gera um id, grava na tabela eventos o id do evento + id de participantes,
na hora de poder acessar a foto vc verifica se o participante faz parte daquele evento na tabela eventos, se sim
habilita a visualização senão nega o acesso.

Luxu
   - 15 jun 2012

E só pra reforçar salve o caminho da foto no banco e armazene-a numa pasta do próprio sistema limitando o tamanho da foto para que não mandem fotos de tamanhos astronômicos, se quiser tenho um exemplo q fiz na faculdade nesse último ano usando exatamente isso que vc ker, mas é beem básico e a questão de segurança terá q mudar totalmente...

Abraão Marques
   - 18 jun 2012

Joel Rodrigues e Fernando, muito obrigado pela a ajuda de vocês e desculpe-me pela demora na resposta. Estou com tantos trabalhos que está difícil até de abrir os e-mails! Graças a Deus!

Luxu, pow, fera, valeu pela dica!

Tem como, então, disponibilizar-me esse script que fez pra mim?

Se puder, envia para o meu e-mail: marques.abraao@gmail.com!!!!

Abração a todos aí!