Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
boa tarde! preciso de um auxilio dos amigos. imagine a seguinte situação: você entra num site onde são apresentadas as ofertas de diversos anunciantes. baseado nos melhores preços, você vai montando sua lista de compras conforme abaixo: produto x do anunciante A. produto y do anunciante A produto W do anunciante B produto K do anunciante C. produto Q do annunciante C
produto Z do anuciante A. produto XY do anunciante B. produto YZ do anunciante A. e por aí vai. meu problema é o seguinte, eu gostaria de imprimir os dados do anunciante, como endereço,telefone de contato,etc... UMA ÚNICA VEZ ao final da lista independente de qtas vzs ele aparece na lista. segue o código abaixo: <?php
session_start(). //session_destroy().?> <!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>Documento sem título</title>
<style rel="stylesheet" type="text/css" media="print">
#botao { display: none
}
</style>
<style>.total{font:Arial, Helvetica, sans-serif. font-size:18px. font-weight:bold. }.total2{font:Arial, Helvetica, sans-serif. font-weight:bold. font-style:italic. }.lista{ padding:4px. }
</style>
</head> <body>
<?phpfunction conexao(){ //conex�o com banco de dados mysql_connect($this->hostname, $this->login, $this->senha) or die("N�o foi poss�vel validar os dados".mysql_error()). mysql_select_db($this->banco) or die("N�o foi poss�vel conectar ao banco".mysql_error()). mysql_query("SET NAME 'utf-8'"). mysql_query("SET character_set_connection='utf-8'"). mysql_query("SET character_set_clien='utf-8'"). mysql_query("SET character_set_results='utf-8'"). } //mostrar carrinho de comprafunction carrinho (){ $soma=0. //verificar session if($_SESSION){ foreach($_SESSION as $nome=>$quantidade){ if ($quantidade>0){ if(substr($nome,0,9) == 'produtos_'){ // pegar id da session $id = substr($nome,9,(strlen($nome) -9)). $PD = mysql_query("SELECT id,id_anun, produto, valor FROM integrantes WHERE id=".mysql_real_escape_string((int)$id)). while($list = mysql_fetch_assoc($PD)){ $AN = mysql_query("SELECT `anunciantes`.`id_anun`, `anunciantes`.`nome_anun` FROM `anunciantes` WHERE id_anun=".mysql_real_escape_string($list['id_anun'])). $anun = mysql_fetch_assoc($AN). $subtotal = $quantidade * $list['valor']. $_SESSION['anun']=$list['id_anun']. echo ' <tr> <td class="lista total2">'.$anun['nome_anun'].'</td> <td class="lista total2">'.$list['produto'].'</td> <td class="lista total2">'.$quantidade.' X</td> <td class="lista total2">R$ '.number_format($list['valor'],2,',','.').'</td> <td class="lista total2"><a href="processa.php?add='.((int)$id).'"><img src="images/add.png" ="Aumentar Quantidade" width="20" height="20"></a></td> <td class="lista"><a href="processa.php?menos='.((int)$id).'"><img src="images/menos.png" ="Diminuir Quantidade" width="20" height="20"></a></td> <td class="lista"><a href="processa.php?del='.((int)$id).'"><img src="images/remove.png" ="Excluir item" width="20" height="20"></a></td> <td class="lista" class="total">R$ '.number_format($subtotal,2,',','.').'</td> <tr> </tr> </tr>'. echo $list['id_anun']. //echo $_SESSION['anun']. $end = mysql_query("SELECT DISTINCT `nome_anun` FROM `anunciantes` WHERE `id_anun` =".$list['id_anun']."HAVING id_anun = 1"). $imprime = mysql_fetch_assoc($end). //echo $imprime['nome_anun']. } } $soma += $subtotal. } } if($soma == 0){ echo '<td colspan="8" class="total">Sua lista de compras est� vazia! </td>'. }else{ echo '<tr> <tr> <td colspan="4"class="total"></td> <td colspan="2"class="total">TOTAL </td> <td colspan="2" class="total" align="right"> R$: '.number_format($soma,2,',','.').'</td> </tr> <tr> <td colspan="8"class="total"> </td> </tr> '. } }
} //fim class$conecta = new shopping(). $conecta->conexao(). function antiSQL($sql) { $seg = preg_replace("/(from|select|insert|delete|where|drop table|show tables|#|\*|--|\\\\)/","",$sql). //remove palavras que contenham a sintaxe sql $seg = trim($seg). //limpa espa�os vazios $seg = strip_tags($seg). // tira tags html e php $seg = addslashes($seg). //adiciona barras invertidas a uma string return $seg. }
if(isset($_GET['add'])){ $id_produto=$_GET['add']. $id_produto=antiSQL($id_produto). $id_produto=(int)$id_produto. $VER=(mysql_query("SELECT `integrantes`.`id` FROM `integrantes` WHERE id=".$id_produto)). $conta=mysql_num_rows($VER). if($conta==1) {
$_SESSION['produtos_'.$_GET['add']] += '1'. //(isset($_SESSION['produtos_'.$_GET['add']]))? $_SESSION['produtos_'.$_GET['add']] + 1: 1. header("Location:".$pagina). echo "Produto nao cadastrado". }
}if(isset($_GET['del'])){
$_SESSION['produtos_'.$_GET['del']]= '0'. //(isset($_SESSION['produtos_'.$_GET['del']]))? $_SESSION['produtos_'.$_GET['del']] == 0: 0. header('Location:'.$pagina). }if(isset($_GET['menos'])){
$_SESSION['produtos_'.$_GET['menos']]--. //(isset($_SESSION['produtos_'.$_GET['del']]))? $_SESSION['produtos_'.$_GET['del']] == 0: 0. header('Location:'.$pagina). }?>
</body>
</html> a parte que está entre as linhas 86 e 92 no código, é uma das inúmeras tentativas que fiz, onde eu consigo imprimir o id do anunciante, mas se tiverem sido selecionados 5 produtos desse anunciante, seu nome aparece cinco vzs. certo da atenção dos amigos no aguardo OBS: no código eu apaguei os dados de conexão ao banco.Carregando comentários...