Ir para conteúdo

POWERED BY:

Arquivado

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

Eduardo Sodre

cadastro do carrinho

Recommended Posts

Bom galera eh o seguinte

 

to desenvolvendo um carrinho de compras

 

o carrinho funciona beleza

daew na hora q vai efetivar a compra

 

eu to tendo problemas com o insert

 

pois se no carrinho tiver 5 produtos diferentes

eu naum sei como fazer pra cadastrar

alguem pode dar uma ideia aew

 

ou me explicar???

 

eu sei q da pra cadastrar assim

 

produto | produto | produto .....

 

mas e na hora do recordset

 

e como cadastrar assim?

 

vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você vai salvar os produtos no banco de dados? Aconselho usar sessão, e só salvar após finalizar a compra. A não ser que você deseje fazer estatísticas de compras não finalizadas ou algo assim.

 

Para salvar no banco, eu criaria duas tabelas: uma com as informações da compra, como data, cliente etc. Na outra eu colocaria só os produtos de cada aquisição. Esta última teria um campo (id_compra, por exemplo) relacionado à tabela de compras.

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim eh isso mesmo q eu vou fazer

 

eu so vou cadastrar na finalização da compra

 

mas naum sei como faço para os valores irem todos eles separados

nao sei se tbm precisa ser separado

mas na hora de fazer o record como q e?

Compartilhar este post


Link para o post
Compartilhar em outros sites
CREATE TABLE `produto` (
  `id` int(11) NOT NULL auto_increment,
  `nome` text NOT NULL,
  `de` text,
  `por` text NOT NULL,
  `dep` text NOT NULL,
  `ativo` text NOT NULL,
  `destaque` text NOT NULL,
  `descricao` text,
  `data` date default NULL,
  `hora` time NOT NULL,
  `atualizacao` date NOT NULL,
  `foto_foto` text,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=42;

Como está seu banco de dados? Poste as estruturas das tabelas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

consegui cadastrar do jeito q queria produtos assim por exemplo

 

lapis | borracha | caderno

 

mas no recordset naum consigo puxar eles descontatenado

 

como faço???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou com o mesmo problema, tenho 4 tabelas, uma com os produtos cadastrados e outra com os clientes, ao clicar em comprar o produto, ele cria uma cópia do produto para a tabela carrinho.

 

Gostaria de ao clicar em concluir, pegar todos os registro da tabela carrinho de tal usuário e inserir na tabela compras_finalizadas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas como voce faz o record

 

pq o q eu quero aqui eh fazer o record com os produtos separados

 

pq qndo insiro na tabela insere os produtos todos juntos

naum sei separar eles depois

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está cadastrando os produtos no mesmo campo, usando "|" como separador? Veja o meu primeiro post. O ideal é reestruturar essa tabela, para que seja inserido um produto em cada resgitro. No máximo, você poderia colocar os produtos num array e usar serialize(), mas isso poderia gerar problemas futuros para as consultas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na tabela carrinho estão todas as compras que estão sendo efetuadas, mais fiz um select que só mostra os produtos de tal usuário pela sua sessão.

 

A minha dificuldade no inicio era para inserir vários registros de uma única vez, mais eu já fiz isto com o script abaixo

 

<?php

function produto()

{

$produto[] = "monitor";

$produto[] = "teclado";

return $produto;

}

$preco = number_format($row_rs_produto_carrinho['preco'],2,",",".");

$quantidade = $row_rs_produto_carrinho['qtd'];

$subtotal = number_format($row_rs_produto_carrinho['preco']*$row_rs_produto_carrinho['qtd'],2,",",".");

 

$produto = $row_rs_produto_carrinho['nome'];

?>

<?

$produtos = produto();

for ($i=0 ; $i < sizeof($produtos) ; $i++)

{

$sql="INSERT INTO compra_cliente (produto) VALUES ('$produtos')";

mysql_query($sql);

}

 

 

?>

 

Agora como eu faço para colocar o array com os nomes dos produtos que estão assim

 

Agora como eu faço para colocar o array com todos os nomes dos produtos que estão assim

 

$row_rs_produto_carrinho['nome']

dentro do

 

$produto[] = "monitor";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gere o array dentro do loop que lê os resultados da consulta.

 

Por exemplo

 

PHP
$sql = mysql_query("Select nome From tabela");

$produtos = array();

while ($f = mysql_fetch_object($sql))

{

    $produtos[] = $f->nome;

}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?
	  //PEGA A CHAVE
	  $chave_cesta  =  array_keys($_SESSION[cesta]);

	  //EXIBE OS PRODUTOS DA CESTA
	  for($i=0; $i<sizeof($chave_cesta); $i++) { 
		 $indice   =   $chave_cesta[$i]; 
		 
		 //ATRIBUI CONTEUDO A VAR QUE VAI SER USADO NO EMAIL
		$id_prod .=$_SESSION[cesta][$indice][CODIGO]."/"; 
		$quantidade .=$_SESSION[cesta][$indice][QTDE]."/";
		$produtos .=$_SESSION[cesta][$indice][ARTISTA]."/";
		 
		 //SUBTOTAIS DE CADA PRODUTO
		 $subtotal =   $_SESSION[cesta][$indice][QTDE] * ereg_replace(",",".",$_SESSION[cesta][$indice][PRECO]);
		 
		 //TOTAL GERAL
		 $total   +=   $subtotal;
		 ?>
		 <tr>
			<td height="25"><font face='Arial' size='2'><? echo $_SESSION[cesta][$indice][QTDE]; ?></font></td>
			<td height="25"><font face='Arial' size='2'><? echo $_SESSION[cesta][$indice][ARTISTA]; ?></font></td>
			<td height="25"><font face='Arial' size='2'>R$ <? echo $_SESSION[cesta][$indice][PRECO]; ?></font></td>
			<td width="18%" height="25"><font face='Arial' size='2'> R$ <? echo number_format($subtotal,2,',','.'); ?></font></td>
		 </tr>
		 <?
		 }//FECHA FOR ?>

no meu carrinho pra finalizar eh assim q aparece os produtos

 

daew como eu disse eu tava cadastrando eles com um caractere para separalos

 

mas e se eu quiser fazer q nem o MARCOSOFTHARD

 

como tenho q fazer?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se quiser fazer a mesma coisa, use a lógica do meu post anterior, inserindo os valores no array por meio do loop for. Mas no seu caso $_SESSION['cesta'] já é um array.

 

Use aspas nos índices dos arrays, quando forem string. Em vez de $SESSION[cesta], use $SESSION['cesta'].

Compartilhar este post


Link para o post
Compartilhar em outros sites

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "frmFinalizar")) {
for($i=0; $i<sizeof($chave_cesta); $i++) {
  $insertSQL = sprintf("INSERT INTO venda (id_cli, id_prod, quantidade, nome, endereco, produtos, total, situacao, pasta, data) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, NOW())",
					   GetSQLValueString($_POST['id_cli'], "int"),
					   GetSQLValueString($_POST['id_prod'], "text"),
					   GetSQLValueString($_POST['quantidade'], "text"),
					   GetSQLValueString($_POST['nome'], "text"),
					   GetSQLValueString($_POST['endereco'], "text"),
					   GetSQLValueString($_POST['produtos'], "text"),
					   GetSQLValueString($_POST['v_total'], "text"),
					   GetSQLValueString($_POST['situacao'], "text"),
					   GetSQLValueString($_POST['pasta'], "text"));

  mysql_select_db($database_VNGT, $VNGT);
  $Result1 = mysql_query($insertSQL, $VNGT) or die(mysql_error());
}

fiz assim pra cadastrar

 

e aqui pega os produtos

 

<?
	  //PEGA A CHAVE
	  $chave_cesta  =  array_keys($_SESSION[cesta]);

	  //EXIBE OS PRODUTOS DA CESTA
	  for($i=0; $i<sizeof($chave_cesta); $i++) { 
		 $indice   =   $chave_cesta[$i]; 
		 
		 //SUBTOTAIS DE CADA PRODUTO
		 $subtotal =   $_SESSION[cesta][$indice][QTDE] * ereg_replace(",",".",$_SESSION[cesta][$indice][PRECO]);
		 
		 //TOTAL GERAL
		 $total   +=   $subtotal;
		 ?>
		 <tr>
			<td height="25"><font face='Arial' size='2'><? echo $_SESSION[cesta][$indice][QTDE]; ?></font></td>
			<td height="25"><font face='Arial' size='2'><? echo $_SESSION[cesta][$indice][ARTISTA]; ?></font></td>
			<td height="25"><font face='Arial' size='2'>R$ <? echo $_SESSION[cesta][$indice][PRECO]; ?></font></td>
			<td width="18%" height="25"><font face='Arial' size='2'> R$ <? echo number_format($subtotal,2,',','.'); ?></font></td>
		 </tr>
		 <?
		 }//FECHA FOR ?>
		 <tr>
			<td height="25" colspan="2">  </td>
			<td height="25" bgcolor="#FF0000"><span class="style5">  Total à pagar: </span></td>
			<td height="25" bgcolor="#FFF0F0" class="style2">   R$ <b><? echo number_format($total,2,',','.'); ?></b></td>
		 </tr>
		</table>
		 
		 <form action="<?php echo $editFormAction; ?>" name="frmFinalizar" method="POST" onSubmit="return finaliza();">
			<input type="hidden" name="opc_enviar" value="1">
			<input type="hidden" name="produtos" value="<? echo $_SESSION[cesta][$indice][ARTISTA]; ?>">
			<input type="hidden" name="v_total" value="<? echo number_format($total,2,',','.'); ?>">
			<input type="hidden" name="id_cli" value="<?php echo $row_cliente['id']; ?>">
			<input type="hidden" name="nome" value="<?php echo $row_cliente['nome']; ?>">
			<input type="hidden" name="endereco" value="<?php echo $row_cliente['endereco']; ?>">
			<input type="hidden" name="id_prod" value="<? echo $_SESSION[cesta][$indice][CODIGO]; ?>">
			<input type="hidden" name="quantidade" value="<? echo $_SESSION[cesta][$indice][QTDE]; ?>">
			<input type="hidden" name="situacao" value="Em espera">
			<input type="hidden" name="pasta" value="Não lidas">
			<input type="hidden" name="data" value="Não lidas">

mas naum cadastra nada

ql o erro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

q erro q ta dando??

aparece algum erro no mysql???

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.