Ir para conteúdo

Arquivado

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

Saulo Santos_132787

Mostrar arquivos em uma pagina apos upload com MYSQL

Recommended Posts

E ai galera olha preciso de um ajuda porque to no inicio do curso e criei um sistema de Upload de arquivos, agora preciso visualizar esses arquivos por usuário registrado por exemplo tem 5 usuários cada um deles ira ver o arquivo com o nome dele por exemplo:

 

Arquivos ...

 

Ronan.pdf

José.pdf

Ana.pdf

 

 

Usuários ...

 

Ronan

José

Ana

 

Obs: Já tenho um controle de usuário...

 

 

 

Preciso mostrar a cada usuário que logar seu próprio arquivo... alguém pode me ajudar ???

Como posso fazer isso ???

 

Obrigado...thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloque um modelo de seu banco de dados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você precisa criar uma associação entre arquivos e usuários. Por exemplo, na tabela "arquivos" no BD

 

id

path -> path no servidor

usuario_id -> id do dono do arquivo

 

Depois basta selecionar os arquivos filtrando pelo ID do usuário que acabou de se logar

Compartilhar este post


Link para o post
Compartilhar em outros sites

esse campo "upl" é o que? é o path ao diretório do usuário? se sim, basta recuperar o valor desse campo e usar uma função de leitura de diretórios, como scandir(), por exemplo

 

veja mais aqui:

http://www.php.net/filesystem

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola, eu preciso de fazer o seguinte procedimento...

 

Tenho um controle de Usuário na tabela "user" e esta cria de acordo com a foto abaixo...

 

bd-user.png

 

 

agora eu preciso fazer o seguinte também criei um sistema de Upload de arquivos que registra no banco de dados mais eu preciso que esse upload localize os usuários cadastrados na tabela "user" na areá de "login" e registrar na tabela "upload" que segui na imagem abaixo...

 

bd-upl.png

 

Preciso que faça esse processo descrito acima para a seguinte finalidade, Preciso criar também uma forma de mostrar esses arquivos que foram enviados para o servidor, porem preciso que apareça somente o arquivo do usuário conectado...

 

 

Preciso que alguém me ajude a fazer isso URGENTE, estou desesperado .....

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

É o seguinte eu olhei o post é o que preciso não é o que ele diz eu preciso do seguinte...

 

 

<html>

<head>

<?php

$host = "localhost"; //Servidor do mysql

$user = "cliente2_login"; //Usuario do banco de dados

$senha = "edc04d90"; //senha do banco de dados

$db = "cliente2_login"; //banco de dados

 

mysql_connect($host, $user, $senha) or die (mysql_error());

mysql_select_db($db) or die (mysql_error());

?>

</head>

<body>

 

<form name="enter" method="post" action="" enctype="multipart/form-data">

<p>Arquivo:

<input type="file" name="arquivo"/>

<input type="submit" name="enter" value="enviar"/>

</p>

<p>Usuários:

<select name="user">

<option value="Nenhum">Nenhum</option>

<? while($row = mysql_fetch_array("INSERT INTO user(upl)")) {?>

<option value="<? $row["user"]?>" <? if ($user == $row["user"]){echo "selected";} ?>>

<? $row["Nome"] ?>

</option>

<? } ?>

</select>

</p>

</form>

<?

if (isset ($_POST['enter'])){

$arquivo = $_FILES['arquivo']['name'];

 

// ler extensão de arquivo

preg_match("/\.(gif|bmp|png|jpg|jpeg|exe|zip|txt|mp3|mpg|wav|wma|doc|xls|ppt|htm|php|css|pdf){1}$/i", $arquivo["name"], $ext);

 

$sql = mysql_query("INSERT INTO upload(upl) VALUES('upl/$arquivo')");

 

(move_uploaded_file($_FILES['arquivo']['tmp_name'], "upl/".$arquivo));

 

}?>

<? $result = mysql_query("select * from ponto.sig_funcionarios where status='liberado' order by Nome"); ?>

</body>

</html>

esse é o sistema de upload que estou usando, eu preciso que esse sistema de upload que esta salvando na tabela abaixo....

 

bd-upl.png

 

 

busque no campo de "Usuário" na tabela abaixo...

 

bd-user.png

 

 

e que salve todo o precedimento na primeira tabela, caso necessário crio uma coluna na primeira tabela login para salvar também...

Compartilhar este post


Link para o post
Compartilhar em outros sites

primeiro, isto não existe:

while($row = mysql_fetch_array("INSERT INTO user(upl)")) 

o parâmetro de mysql_fetch_array() deve ser o retorno de mysql_query(), não uma string

 

 

segundo, é a mesma ideia, sim. A não ser que você esteja explicando errado. Você está postando duas tabelas de BD, mas não disse para que elas servem. Pelo que entendi, a primeira está relacionada com a segunda. O campo "upl" da segunda tem um path para um arquivo, certo? E o campo "id" dessa tabela salva o ID de quê? Se for do arquivo, está faltando um campo para relacionar com o id do usuário, dono do arquivo enviado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

primeiro, isto não existe:

while($row = mysql_fetch_array("INSERT INTO user(upl)")) 

o parâmetro de mysql_fetch_array() deve ser o retorno de mysql_query(), não uma string

 

 

segundo, é a mesma ideia, sim. A não ser que você esteja explicando errado. Você está postando duas tabelas de BD, mas não disse para que elas servem. Pelo que entendi, a primeira está relacionada com a segunda. O campo "upl" da segunda tem um path para um arquivo, certo? E o campo "id" dessa tabela salva o ID de quê? Se for do arquivo, está faltando um campo para relacionar com o id do usuário, dono do arquivo enviado.

 

É o seguinte a primeira tabela é do sistema de login do site, a segunda é o sistema de upload de arquivos do site o que eu preciso é o seguinte...

Preciso que o sistema de upload tenha um local para selecionar os usuários cadastrados no site na tabela de login, para que eu possa seleciona-los ao fazer o upload do arquivo de cada um deles, ao fazer o upload ira salvar na tabela de upload o caminho do arquivo e o usuário do arquivo para criar uma pagina que possa ver os arquivos porem cada usuário ao logar no site ira ver somente o arquivo dele ....

 

Entendeu...???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, issu eu entendu. O que não está clara é a modelagem do bd. Tem um tabela com "id" e "upl". Olhando só isso, não fica nada claro para que isso serve

 

Você quer relacionar usuários e arquivos, que estão em duas tabelas diferentes. Mas não criou um campo para relacioná-los. É isso que estou lhe dizendo que falta, por isso lhe passei o link. Você nunca vai conseguir relacionar essas tabelas se não criar esse campo de relacionamento

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, issu eu entendu. O que não está clara é a modelagem do bd. Tem um tabela com "id" e "upl". Olhando só isso, não fica nada claro para que isso serve

 

Você quer relacionar usuários e arquivos, que estão em duas tabelas diferentes. Mas não criou um campo para relacioná-los. É isso que estou lhe dizendo que falta, por isso lhe passei o link. Você nunca vai conseguir relacionar essas tabelas se não criar esse campo de relacionamento

 

Vi isso mesmo fazendo isso mudei algumas coisas na tabela de Upload....

 

Veja essa e a tabela de "Login" onde quero buscar somente os usuários cadastrados ou seja o "2-login" do usuário...

 

bd-user.png

 

 

para que na pagina de Upload apareça o nome do usuário.... veja....

 

upl.png

 

 

Quando clicar em enviar ele ira registrar na tabela "Upload" que esta de acordo com a imagem abaixo....

 

bd-upl.png

 

 

Apos salvar nessa tabela eu irei criar um sistema para mostrar os arquivos buscando nessa tabela o local que ela se encontra no "2-upl" e o qual usuario podera ver o arquivo na opção "3-login" . . .

 

agora creio que focou bem explicado e bem modelado .... ???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo mais ao invés de me enviar link para outro tipo de explicação poderia me falar o que tenho de fazer ?

como exemplo quais colunas, quais tabelas, para um melhor entendimento evitando assim explicações que não consigo compreender...

pois os outros tutoriais somente dizem de outras coisas e não o que realmente preciso....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo mais ao invés de me enviar link para outro tipo de explicação poderia me falar o que tenho de fazer ?

Não adianta eu tentar explicar, de novo, o que já foi explicado em um tutorial, onde foi dedicado tempo específico pra isso. Tenho pouco tempo e não explicarei tão bem como foi explicado no tutorial

 

 

como exemplo quais colunas, quais tabelas, para um melhor entendimento evitando assim explicações que não consigo compreender...

eu já falei que campo adicionar: um campo numérico, para relacionar com o ID do usuário. Nada de strings em relacionamentos de tabelas

 

 

pois os outros tutoriais somente dizem de outras coisas e não o que realmente preciso....

eles dizem exatamente o que você precisa: relacionamento de tabelas

Compartilhar este post


Link para o post
Compartilhar em outros sites

Intendi perfeitamente ...

 

esse relacionamento de tabelas eu irei fazer para obter os dados que preciso para mostrar os arquivos ao usuário mais no momento o que eu preciso e somente buscar os dados da tabela para poder fazer o upload e registrar os dados na outra tabela para apos isso fazer o relacionamento entre as tabelas...

Compartilhar este post


Link para o post
Compartilhar em outros sites

no seu <select>, insira o ID do usuário no atributo "value" da tag <option>. Asism, ao fazer o upload, você já terá o id do dono do arquivo, valor este que será salvo na tabela de arquivos, para criar o relacionamento com a tabela de usuários

Compartilhar este post


Link para o post
Compartilhar em outros sites

esse relacionamento de tabelas eu irei fazer para obter os dados que preciso para mostrar os arquivos ao usuário

 

exatamente! Essa solução deve ser feita através do uso de chaves estrangeiras.. Você deve pensar o seguinte:

O que tem na tabela usuário que é único para cada usuário? Você pode me dizer: O login!

Mas pelo o que eu estou percebendo, se eu quiser colocar 2 logins iguais eu poderei colocar...

 

Mas vamos pensar o certo agora: Pra que serveria o id, se não para identificar um usuário?

Ahh.. então o id vai ser a chave que ficará na tabela de uploads pra saber de que usuário aquele arquivo pertence. E eu respondo: Isso mesmo!

 

Agora iremos pensar na tabela upload: O que precisamos na tabela upload?

R: A string representando o caminho de um arquivo e um identificador pra saber de quem aquele arquivo pertente.

Esse identificador será o id da tabela usuário e o chamaremos de chave estrangeira, pois apenas faz referência a uma outra tabela.

 

---------------------------------

Agora você faz as tabelas seguindo este critério e depois manda mais dúvidas aí...

Compartilhar este post


Link para o post
Compartilhar em outros sites

DESCULPEM minha necessidade deste topico fujiu um pouco do que precisava, é o seguinte preciso de um codigo ou script que busque em meu banco de dados na tabela UPLOAD quando o usuario JOAO estiver conectado mostre os arquivos que foram postados para ele quando o usuario ANA estiver conectado ele mostra os arquivos dela. . . Minha tabela no MYSQL te 3 colunas "ID", "UPL" e "LOGIN" preciso que busque esses dados para quando o usuario se conectar ele localize somente os arquivos dele ...Obrigado...

Compartilhar este post


Link para o post
Compartilhar em outros sites

em momento algum o tópico fugiu do tema, mas vamos lá...

 

 

você precisa buscar o ID do usuário logado. Isso você faz durante a autenticação do usuário (login)

tendo o id, busque os arquivos do usuário, com uma sql parecida com esta:

 

select campos from uploads where user_id = id_do_usuario_logado;

 

 

ps: esse campo "login" da tabela "uploads" deve ser um inteiro, não uma string. se for string, você estará duplicando dados. (na verdade, até pode ser string, mas isso lhe dará dores de cabeça futuras)

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.