Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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.
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.
começa pelos formularios e listas(html)
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.
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.
^_^
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?
Bom gostaria de agradecer o empenho de todos principalmente ao Dii, conseguir finalizar o codigo obrigado a todos mais uma vez.
Qual o seu conhecimento de PHP/MySQL? Já tem algo pronto?