biza 1 Denunciar post Postado Setembro 26, 2011 Amigos estou fazendo um sistema que cada vez que a pessoa adiciona um produto eu queria que ele me grava-se uma session, com um array dos itens contidos nesse produto. Por favor me ajudem , ja estou morto de cansaço, todo o dia nisso.. foreach ($_SESSION["pro_d"] as $produtos => $each_item_p) { $item_p = $each_item_p['item_p']; $sql = mysql_query("SELECT tbl_produto.id_produto, tbl_produto.produto, tbl_produto.preco, tbl_produto.peso, tbl_imagem_produto.produto_id, tbl_imagem_produto.imagem1 FROM tbl_produto JOIN tbl_imagem_produto WHERE tbl_produto.id_produto = tbl_imagem_produto.produto_id AND tbl_produto.id_produto=".mysql_real_escape_string((int)$item_p)); while ($row = mysql_fetch_array($sql)) { $produto = $row["produto"]; $preco_p = $row["preco"]; $peso_p = $row["peso"]; $imagem_p = $row["imagem1"]; } A minha ideia é passar todos os dados das linhas que ele for criando para ontra pagina tipo isso : Array ( [0] => Array ( [item_p] => 25 [quantity_p] => 1 ) [1] => Array ( [item_p] => 8 [quantity_p] => 1 ) ) Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Setembro 26, 2011 Ué, a session você transporta ela pra qualquer página que inicie às funções de sessão, digo, qualquer página que você inicia a session, você pode pode recuperar o valor das mesmas. Compartilhar este post Link para o post Compartilhar em outros sites
biza 1 Denunciar post Postado Setembro 26, 2011 Ué, a session você transporta ela pra qualquer página que inicie às funções de sessão, digo, qualquer página que você inicia a session, você pode pode recuperar o valor das mesmas. Amigo é o seguinte , para cada produto com a sessão iniciada como "pro_d" eu faço um select , o que pretendo fazer é dessas linhas resultantes do select criar uma nova sessão que contém todos os atributos do produto imagina : produto 1 Array ( [0] => Array ( [item_p] => 25 [quantity_p] => 1 [peso_p] => 1)\ produto 2 Array ( [1] => Array ( [item_p] => 26 [quantity_p] => 2 [peso_p] => 5) Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Setembro 26, 2011 Certo, agora que não está entendendo sou eu, tem como explicar melhor ? :o Compartilhar este post Link para o post Compartilhar em outros sites
biza 1 Denunciar post Postado Setembro 26, 2011 Certo, agora que não está entendendo sou eu, tem como explicar melhor ? :o Assim Andre estou fazendo uma loja on-line , tenho uma pagina que processa todas as compras efectudas por cada produto de sessão iniciada com o nome de "pro_d" que equivale ao item 25 por exemplo que é o id do produto eu vou fazer im selecrt de procura na base de dados, com o while eu trago todos os dados da base de dados , o que pretendo é com esses novos dados iniciar nova sessão para os passar para outra folha para fazer o resumo da compra, percebeu? Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Setembro 26, 2011 Certo, entendi, e porque você não seta em outra sessão durante o while ? <?php foreach ( $_SESSION["pro_d"] as $produtos => $each_item_p ) { $item_p = $each_item_p['item_p']; $sql = mysql_query("SELECT tbl_produto.id_produto, tbl_produto.produto, tbl_produto.preco, tbl_produto.peso, tbl_imagem_produto.produto_id, tbl_imagem_produto.imagem1 FROM tbl_produto JOIN tbl_imagem_produto WHERE tbl_produto.id_produto = tbl_imagem_produto.produto_id AND tbl_produto.id_produto=".mysql_real_escape_string((int)$item_p)); while ($row = mysql_fetch_array($sql)) { $produto = $row["produto"]; $preco_p = $row["preco"]; $peso_p = $row["peso"]; $imagem_p = $row["imagem1"]; $_SESSION[ 'produto' ] = $produto; $_SESSION[ 'preco' ] = $preco; // ... } } Compartilhar este post Link para o post Compartilhar em outros sites
biza 1 Denunciar post Postado Setembro 26, 2011 Certo, entendi, e porque você não seta em outra sessão durante o while ? <?php foreach ( $_SESSION["pro_d"] as $produtos => $each_item_p ) { $item_p = $each_item_p['item_p']; $sql = mysql_query("SELECT tbl_produto.id_produto, tbl_produto.produto, tbl_produto.preco, tbl_produto.peso, tbl_imagem_produto.produto_id, tbl_imagem_produto.imagem1 FROM tbl_produto JOIN tbl_imagem_produto WHERE tbl_produto.id_produto = tbl_imagem_produto.produto_id AND tbl_produto.id_produto=".mysql_real_escape_string((int)$item_p)); while ($row = mysql_fetch_array($sql)) { $produto = $row["produto"]; $preco_p = $row["preco"]; $peso_p = $row["peso"]; $imagem_p = $row["imagem1"]; $_SESSION[ 'produto' ] = $produto; $_SESSION[ 'preco' ] = $preco; // ... } } Já fiz isso andre o problema é que na outra pagina como resgato os dados , imagina que a pessoa adicionou 5 produtos com essas caracteristicas como falo para que ele mostre 5 vezes produtos diferentes com as caracteristicas? Fiz desta forma para criar nova sessão: <?php foreach ( $_SESSION["pro_d"] as $produtos => $each_item_p ) { $item_p = $each_item_p['item_p']; $sql = mysql_query("SELECT tbl_produto.id_produto, tbl_produto.produto, tbl_produto.preco, tbl_produto.peso, tbl_imagem_produto.produto_id, tbl_imagem_produto.imagem1 FROM tbl_produto JOIN tbl_imagem_produto WHERE tbl_produto.id_produto = tbl_imagem_produto.produto_id AND tbl_produto.id_produto=".mysql_real_escape_string((int)$item_p)); while ($row = mysql_fetch_array($sql)) { $produto = $row["produto"]; $preco_p = $row["preco"]; $peso_p = $row["peso"]; $imagem_p = $row["imagem1"]; $produtos['produto']= $produto; $produtos['preco']= $preco; $_SESSION['produtos']=$produtos; // ... } } A sessão criada não me guarda as 5 sessoes distintas Na pagina que voce viu na imagem tenho o seguinte código: foreach ($_SESSION['produtos'] as $pro) { echo'<div id="caixa_produto"> <div id="imagem_produto"></div> <div id="nome_produto">Descritivo:</div> <div id="caixa_detalhe"> <div id="item_produto_A">Quantidade:</div><div id="item_produto_B"></div> <div id="item_produto_A">Preço/Unit:</div><div id="item_produto_B"> EUR</div> <div id="item_produto_A">Peso Kg:</div> <div id="item_produto_B"> Kg</div> <div style="clear: both;"></div> <div id="item_produto_A">Preço Total:</div> <div id="item_produto_B">EUR</div> <div id="item_produto_A">Entrega:</div><div id="item_produto_B"></div> <div id="item_produto_A">Tax. Transp.:</div><div id="item_produto_B"></div> </div> <div style="clear: both;"></div> </div>'; } ?> que estarei a fazer de errado , ou que não estarei a fazer Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Setembro 27, 2011 Entendi, mas pra isso, você teria que gravar em um array multi-dimensional. <?php foreach ( $_SESSION["pro_d"] as $produtos => $each_item_p ) { $item_p = $each_item_p['item_p']; $x = 0 ; $sql = mysql_query("SELECT tbl_produto.id_produto, tbl_produto.produto, tbl_produto.preco, tbl_produto.peso, tbl_imagem_produto.produto_id, tbl_imagem_produto.imagem1 FROM tbl_produto JOIN tbl_imagem_produto WHERE tbl_produto.id_produto = tbl_imagem_produto.produto_id AND tbl_produto.id_produto=".mysql_real_escape_string((int)$item_p)); while ($row = mysql_fetch_array($sql)) { $produtos['produto']= $produto; $produtos['preco']= $preco; // ... } $_SESSION[ $x ] = $produtos; ++$x; } <?php foreach ($_SESSION['produtos'] as $pro) { echo'<div id="caixa_produto"> <div id="imagem_produto"></div> <div id="nome_produto">Descritivo:</div> <div id="caixa_detalhe"> <div id="item_produto_A">Quantidade:</div><div id="item_produto_B"></div> <div id="item_produto_A">Preço/Unit:</div>', $pro[ 'preco' ] ,'<div id="item_produto_B"> EUR</div> <div id="item_produto_A">Peso Kg:</div> <div id="item_produto_B"> Kg</div> <div style="clear: both;"></div> <div id="item_produto_A">Preço Total:</div> <div id="item_produto_B">EUR</div> <div id="item_produto_A">Entrega:</div><div id="item_produto_B"></div> <div id="item_produto_A">Tax. Transp.:</div><div id="item_produto_B"></div> </div> <div style="clear: both;"></div> </div>'; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
biza 1 Denunciar post Postado Setembro 27, 2011 Caro andre na pagina de resumo continuo a não obter qualquer produto . fiz um print_r e mostra o seguinte : Array ( [produtos] => Array ( [produto] => Branco Colheita Selec.2009 ) ou seja em 4 produtos adicionados é o ultimo produto que se adicionou não esta a fazer o array de produtos($sessoes) estes são os codigos utilizador: Pagina 1: foreach ($_SESSION["pro_d"] as $each_item_p) { $item_p = $each_item_p['item_p']; $x = 0 ; $sql = mysql_query("SELECT tbl_produto.id_produto, tbl_produto.produto, tbl_produto.preco, tbl_produto.peso, tbl_imagem_produto.produto_id, tbl_imagem_produto.imagem1 FROM tbl_produto JOIN tbl_imagem_produto WHERE tbl_produto.id_produto = tbl_imagem_produto.produto_id AND tbl_produto.id_produto=".mysql_real_escape_string((int)$item_p)); while ($row = mysql_fetch_array($sql)) { $produto = $row["produto"]; $preco_p = $row["preco"]; $peso_p = $row["peso"]; $imagem_p = $row["imagem1"]; $produtos['produto'] = $produto; $produtos['preco'] = $preco_p; } $_SESSION[ $x ] = $produtos; ++$x; } ?> Pagina 2: <?php $dir1="produtos/img_pro/"; foreach ($_SESSION['produtos'] as $pro) { echo'<div id="caixa_produto"> <div id="imagem_produto"></div> <div id="nome_produto">Descritivo: '.$_SESSION['produtos']['produto'].'</div> <div id="caixa_detalhe"> <div id="item_produto_A">Quantidade:</div><div id="item_produto_B"></div> <div id="item_produto_A">Preço/Unit:</div><div id="item_produto_B"> EUR</div> <div id="item_produto_A">Peso Kg:</div> <div id="item_produto_B"> Kg</div> <div style="clear: both;"></div> <div id="item_produto_A">Preço Total:</div> <div id="item_produto_B">EUR</div> <div id="item_produto_A">Entrega:</div><div id="item_produto_B"></div> <div id="item_produto_A">Tax. Transp.:</div><div id="item_produto_B"></div> </div> <div style="clear: both;"></div> </div>'; } ?> Já nem sei que fazer, obrigado por seu tempo dispensado Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Setembro 27, 2011 Está errado, veja da forma que eu fiz, e a que você fez, na exibição. Compartilhar este post Link para o post Compartilhar em outros sites
biza 1 Denunciar post Postado Setembro 27, 2011 Eu sei andre mais uma vez me desculpa, mas olha ai , fiz ai tudo direitinho, o primeiro codigo resulta nisso dessa primeira pagina: Codigo 1: foreach ($_SESSION["pro_d"] as $each_item_p) { $item_p = $each_item_p['item_p']; $x = 0 ; $sql = mysql_query("SELECT tbl_produto.id_produto, tbl_produto.produto, tbl_produto.preco, tbl_produto.peso, tbl_imagem_produto.produto_id, tbl_imagem_produto.imagem1 FROM tbl_produto JOIN tbl_imagem_produto WHERE tbl_produto.id_produto = tbl_imagem_produto.produto_id AND tbl_produto.id_produto=".mysql_real_escape_string((int)$item_p)); while ($row = mysql_fetch_array($sql)) { $produto = $row["produto"]; $preco_p = $row["preco"]; $peso_p = $row["peso"]; $imagem_p = $row["imagem1"]; $produtos['produto'] = $produto; $produtos['preco'] = $preco_p; } $_SESSION[ $x ] = $produtos; ++$x; Codigo 2: <?php $dir1="produtos/img_pro/"; foreach ($_SESSION['produtos'] as $pro) { echo'<div id="caixa_produto"> <div id="imagem_produto"></div> <div id="nome_produto">Descritivo:</div> <div id="caixa_detalhe"> <div id="item_produto_A">Quantidade:</div><div id="item_produto_B"></div> <div id="item_produto_A">Preço/Unit:</div><div id="item_produto_B">', $pro[ 'preco' ] ,' EUR</div> <div id="item_produto_A">Peso Kg:</div> <div id="item_produto_B"> Kg</div> <div style="clear: both;"></div> <div id="item_produto_A">Preço Total:</div> <div id="item_produto_B">EUR</div> <div id="item_produto_A">Entrega:</div><div id="item_produto_B"></div> <div id="item_produto_A">Tax. Transp.:</div><div id="item_produto_B"></div> </div> <div style="clear: both;"></div> </div>'; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
biza 1 Denunciar post Postado Setembro 28, 2011 Resolvido Resolvido Compartilhar este post Link para o post Compartilhar em outros sites