Entendi, então ai vai.
Função que monta o array.
function MontaARRAY_Filme(){
global $filme;
$sql = mysql_query("select * from filme");
$total = mysql_num_rows($sql);
while($dados = mysql_fetch_array($sql)){
$cod = $dados["idFilme"];
//MONTA O ARRAY DE FILMES
$filme[$cod][CODIGO] = $dados["idFilme"];
$filme[$cod][TITULO] = $dados["titulo"];
$filme[$cod][PRECO] = $dados["preco"];
$filme[$cod][CAPA] = $dados["capa"];
$filme[$cod][IMAGEM] = $dados["imagem"];
}//FIM WHILE
}//FIM DA FUNCAO
Chamando a função na página para montar o array e em seguida listando.
<?php
//chamada da funcao para montar o array
MontaARRAY_Filme();´
?>
<form action="carrinho.php" method="post" name="frmCarrinho">
<input type="hidden" name="opc_efetivar">
<input type="hidden" name="indice_filme">
<?php
//PEGA A CHAVE DO ARRAY
$chave = array_keys($filme_top1);
for ($i=0; $i<sizeof($chave); $i++){
$indice = $chave[$i];
$codigo_filme = $filme[$indice][CODIGO];
$titulo_filme = $filme[$indice][TITULO];
$preco_filme = $filme[$indice][PRECO];
$capa_filme = $filme[$indice][CAPA];
$imagem_filme = $filme[$indice][IMAGEM];
?>
<!-- titulo -->
<b><? echo $titulo_filme; ?></b>
<img src="images/filme/<? echo $imagem_filme; ?>" width="173" height="126" alt="Foto de Destaque">
<br>
<? echo $preco_filme; ?>
<br>
<a href="java script: enviar('INC', '<? echo $indice; ?>');" class="a_btn_alugar">Adicionar ao carrinho</a>
<input type="hidden" name="filme_inp_hid[<? echo $indice;?>][CODIGO]" value="<? echo $codigo_filme; ?>">
<input type="hidden" name="filme_inp_hid[<? echo $indice;?>][TITULO]" value="<? echo $titulo_filme; ?>">
<input type="hidden" name="filme_inp_hid[<? echo $indice;?>][PRECO]" value="<? echo $preco_filme; ?>">
<input type="hidden" name="filme_inp_hid[<? echo $indice;?>][CAPA]" value="<? echo $capa_filme; ?>">
<input type="hidden" name="filme_inp_hid[<? echo $indice;?>][QTDE]" value="1">
<?php
}
?>
</form>
Agora quando ele clica em adicionar ao carrinho ele chama o a função JS. Mas segue outras funções para vc montar as outras partes, de remover e tals.
function enviar(opcao, indice) {
//OPÇÃO INCLUIR SELECIONADA
if(opcao == 'INC') {
var ind= indice;
frmCarrinho.opc_efetivar.value = 1;
frmCarrinho.indice_filme.value = ind;
frmCarrinho.submit();
}//FECHA IF
//OPÇÃO EXCLUIR SELECIONADA
if(opcao == 'E') {
var ind= indice;
var frm = document.forms["frmCarrinho"];
frm.opc_excluir.value = 1;
frm.indice_filme.value = ind;
frm.submit();
}//FECHA IF
//OPÇÃO ATUALIZAR SELECIONADA
if(opcao == 'A') {
var frm = document.forms["frmCarrinho"];
frm.opc_atualizar.value = 1;
frm.submit();
}//FECHA IF
//OPÇÃO FINALIZAR SELECIONADA
if(opcao == 'F') {
frmCarrinho.opc_finalizar.value = 1;
frmCarrinho.action = "carrinho_finalizar.php";
frmCarrinho.submit();
}//FECHA IF
}//FECHA FUNCTION
Por último a página do carrinho com as funções. No caso que estamos fazendo de adicionar ele está chamando a opção efetivar.
<?
//INICIALIZA A SESSÃO
session_start();
//VERIFICA SE TEM PRODUTO NO CARRINHO PARA PUXAR
if(count($_SESSION[cesta]) > 0) {
//PEGA A CHAVE DO ARRAY
$chave = array_keys($_SESSION[cesta]);
//PEGA OS DADOS DA SESSÃO
for($i=0; $i<sizeof($chave); $i++) {
//ÍNDICE
$indice = $chave[$i];
//ATRIBUI
$cesta[$indice][CODIGO] = $_SESSION[cesta][$indice][CODIGO];
$cesta[$indice][TITULO] = $_SESSION[cesta][$indice][TITULO];
$cesta[$indice][PRECO] = $_SESSION[cesta][$indice][PRECO];
$cesta[$indice][CAPA] = $_SESSION[cesta][$indice][CAPA];
$cesta[$indice][QTDE] = $_SESSION[cesta][$indice][QTDE];
}//FECHA FOR
}//FECHA IF
//VERIFICA SE A OPÇÃO ATUALIZAR FOI SELECIONADA
if($_POST[opc_atualizar]) {
//RECEBE OS PRODUTOS CHECADOS PARA ATUALIZAÇÃO
$v_atualiza = $_POST[a_prod];
//PEGA A CHAVE DO ARRAY
$chave = array_keys($v_atualiza);
//EXIBE
for($i=0; $i<sizeof($chave); $i++) {
//PEGA O INDICE DO PRODUTO
$indice = $chave[$i];
//ALTERA A QUANTIDADE DO PRODUTO SELECIONADO
$_SESSION[cesta][$indice][QTDE] = $v_atualiza[$indice][QTDE];
}//FECHA FOR
}//FECHA IF
//VERIFICA SE A OPÇÃO EXCLUIR FOI SELECIONADA
elseif($_POST[opc_excluir]) {
//RECEBE OS PRODUTOS CHECADOS PARA EXCLUSÃO
$indice = $_POST[indice_filme];
//DESTRÓI A VARIÁVEL ESPECIFICADA
unset($_SESSION[cesta][$indice]);
}//FECHA IF
//RECEBE O PEDIDO DO USUÁRIO
elseif($_POST[opc_efetivar]) {
$v_prod = $_POST[filme_inp_hid];
$indice = $_POST[indice_filme];
if(!empty($v_prod[$indice][QTDE]) ) {
//GRAVA NO ARRAY CESTA
$cesta[$indice][CODIGO] = $v_prod[$indice][CODIGO];
$cesta[$indice][TITULO] = $v_prod[$indice][TITULO];
$cesta[$indice][PRECO] = $v_prod[$indice][PRECO];
$cesta[$indice][CAPA] = $v_prod[$indice][CAPA];
$cesta[$indice][QTDE] = $v_prod[$indice][QTDE];
}//FECHA IF
//GRAVA NA SESSÃO
$_SESSION[cesta] = $cesta;
}//FECHA ELSE
?>
<html>
<head>
<title>Carrinho com Session</title>
<link href="css/estilo.css" rel="stylesheet" type="text/css">
<script src="js/scripts.js" type="text/javascript"></script>
<script src="js/scripts_validacao.js" type="text/javascript"></script>
</head>
<body>
<table border="0" cellpadding="0" cellspacing="0" height="0" width="600" class="table_bc2">
<tr>
<td valign="top">
<?
//EXIBE O CARRINHO SE TIVER PRODUTOS
if(count($_SESSION[cesta]) > 0) {
?>
<form name="frmCarrinho" method="post">
<input type="hidden" name="opc_excluir">
<input type="hidden" name="opc_atualizar">
<input type="hidden" name="opc_finalizar">
<input type="hidden" name="indice_filme">
<table border="0" cellpadding="10" cellspacing="5" height="100%" width="590">
<tr>
<td bgcolor="#c4e100" style="padding-left:10px;"><b>Descrição</b></td>
<td bgcolor="#c4e100" style="padding-left:10px;"><b>Quantidade</b></td>
<td bgcolor="#c4e100" style="padding-left:10px;"><b>Remover Item</b></td>
<td bgcolor="#c4e100" style="padding-left:10px;"><b>Preço Unitário R$</b></td>
</tr>
<?
//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 width="250"> <b><? echo $_SESSION[cesta][$indice][TITULO]; ?></b></td>
<td align="center" width="100"><input type="text" name="a_prod[<? echo $indice; ?>][QTDE]" value="<? echo $_SESSION[cesta][$indice][QTDE]; ?>" class="box2" size="3"></td>
<td align="center" width="125"><a href="java script: enviar('E', '<? echo $indice; ?>');"><img src="images/excluir.png" width="32" height="32" alt="EXCLUIR" align="absmiddle" border="0" name="excluir"></a></td>
<td align="center" width="125"><b><? echo $_SESSION[cesta][$indice][PRECO]; ?></b></td>
</tr>
<?
}//FECHA FOR
?>
<tr>
<td bgcolor="#c4e100" style="padding-left:10px;" colspan="4" align="right">
<table border="0" cellpadding="0" cellspacing="0" height="0" width="100%">
<tr>
<td align="left"><input type="Button" value="Atualizar" class="atualizar" onClick="java script: enviar('A');"></td>
<td align="right"><span class="total"><b>TOTAL: R$<b><? echo number_format($total,2,',','.'); ?></b></span></td>
</tr>
<tr>
<td><br><br></td>
</tr>
<tr>
<td><input type="Button" value="Finzalizar" class="finalizar" onClick="java script: enviar('F');"></td>
</tr>
</table>
</td>
</tr>
</table>
</form>
<?
}//FECHA IF(count)
else { ?>
<table width="90%" height="248" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td align="center"><span class="atencao_2">Desculpe, mas no momento você não possui nenhum produto.</span></td>
</tr>
</table>
<?
}//FECHA ELSE (count)?>
</td>
</tr>
</table>
</body>
</html>
Acho que está todo ai.
Edição feita por: wesley.tome, 12/12/2006, 23:23.
.................