Ir para conteúdo

POWERED BY:

Arquivado

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

VagnerMelo

[Resolvido] cadastro de produtos por cliente

Recommended Posts

Olá a todos do IMASTERS, gente eu preciso de ajudar , gostaria de saber como eu posso fazer um codigo em PHP + MYSQL que este código fara a seguinte função.

 

1º Quando o cliente clicar no botãoo adicionar cadastra o produto.

2º O produto so pode ser adicionado 1 vez por cada usuario.

3º O produto cadastrado exibir apenas para o usuario que cadastrou ele.

 

Um exemplo mais fiel é no site do walmart.com onde os usuarios podem visualizar os produtos que foi adquirido, espero que eu tenha me expressado corretamente.

 

Obrigado a todos e que eu seja bem vindo a IMASTERS :D.

 

até logo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual o seu conhecimento de PHP/MySQL? Já tem algo pronto?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sei manipular bem php e mysql tenho um bom conhecimento, ainda não tenho nada pronto arrespeito desse assunto mas já tenho o sistema de login com seasson funcionando 100% porem não sei como desevolver esta pagina.

Compartilhar este post


Link para o post
Compartilhar em outros sites

começa pelos formularios e listas(html)

Compartilhar este post


Link para o post
Compartilhar em outros sites

a baixo segue a pagina onde lista o item 1 da tabela para ser adicionado pelo cliente.

 

<?php
require_once('../config/conn.php');
$query = mysql_query("SELECT * FROM produtos");
$usuario = mysql_fetch_object($query);
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Formulario de listagem</title>
</head>

<body>
<form action="add_prd.php" method="post">
<table width="100%" border="1">
 <tr>
   <td width="20%">Imagem</td>
   <td width="15%">Valor</td>
   <td width="10%">Quant.</td>
   <td width="10%">Status</td>
   <td width="45%">Adicionar Produto</td>
 </tr>
 <tr>
   <td name="imagem"><?php ?></td>
   <td name="valor"><?php echo $usuario->valor; ?></td>
   <td name="quant"><?php echo $usuario->quant; ?></td>
   <td>x</td>
   <td><input name="add_prod" type="submit" value="Adicionar produto" /></td>
 </tr>
</table>
</form>
</body>
</html>

 

Pagina que faz o insert do produto da tabela meus_produtos

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>add_prod</title>
</head>

<body>
<?
require "../config/conn.php";

$inserir=mysql_query("insert into meus_produtos (imagem,valor,quant) values ('$_POST[imagem]','$_POST[valor]','$_POST[quant]')");

echo "PRODUTO ADICIONADO A SUA LISTA DE COMPRAS";

?>


</body>
</html>

[/code]

 

essas são as paginas que pega e faz o insert do produto agora eu preciso saber como faço para esse produto ser inserido uma unica fez por cliente e que cada cliente tenha o produto na sua lista de meus produtos individualmente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fácil.

 

Como está a sua tabela no Banco de Dados? Pense da seguinte forma.

 

Usuario
id
nome
usuario
senha
...

 

Produto
id
id_usuario ( Levando em consideração que ele adicionará somente 1 produto ! )
nomeProduto
valorProduto
...

 

Na hora que ele for adicionar um produto , você vai fazer o seguinte.

 

$query = "INSERT INTO Produto(id, id_usuario, nomeProduto, valorProduto) 
VALUES (NULL, {$id_usuario}, 'Tomate', '33.50')"

 

Beleza, entendeu como é a lógica de inserção? Para mostrar somente o produto que ele cadastrou fará o seguinte:

 

SELECT * FROM Usuario
INNER JOIN Produto ON (Produto.id_usuario = Usuario.id)
WHERE Produto.id_usuario = {$id_usuario}

 

Foi utilizado Inner Join e Where para otimizar a Query na hora que ela for iniciada. Ou pode fazer dessa forma tbm mais simples.

 

SELECT * FROM Produto
WHERE Produto.id_usuario = {$id_usuario}

 

E para permitir que somente 1 usuário envie produtos , você vai ter que fazer uma Query Simples ( Igual nessa linha de cima ) e colocar dentro da função mysql_num_rows(), se ela retornar 0 é porque ele não tem produto algum cadastro, se retornar 1 ou mais é porque ele já tem produto cadastrado.

 

^_^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado Dii, vou realizar o testo e montar o codigo como você disse e ver o resultado assim que termina eu volto aqui obrigado até já.

 

Dii, eu fiquei meio perdindo na parte ,

 


$query =mysql_query("SELECT * FROM cadastro
INNER JOIN meus_produtos ON meus_produtos.id_usuario = id_usuario WHERE meus_produtos.id_usuario = {$id_usuario}");
$usuario = mysql_fetch_row($query);

echo $id_usuario->id_usuario;


Bom Dii, eu fiz esse comando mas eu não entendir muito bem como funciona pq eu nunca usei o comando INNER JOIN,;

 

porem a parte do registro com o id do usuario e id do produtos ja esta funcionando agora fiquei preso nessa parte de como chmar o produto cadastro pro id do usuario.

 

cadastro = onde fica os cadastros dos meus clientes,

meus_produtos = tabela onde estou realizando a adição do produto

 

o campo id do produto esta definido como id_produto int auto_increment chave primaira

o campo id do cliente esta definido como id_usuario.

 

como devo fazer agora?

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.