viniciuscrn Postado Fevereiro 8, 2011 Denunciar Share Postado Fevereiro 8, 2011 Pessoal, é o seguinte venho me batendo com isso há alguns dias:Estou fazendo um sitemazinho de Caixa de Supermercado. E minha dúvida está na hora da venda:Tenho este arquivo que mostra os produtos já adicionados, e a busca por um novo produto:___________________________________________________________________________<?phpsession_start();$vprod = $_POST["txtprod"];$chave = array_keys($vprod);for($i=0;$i<sizeof($chave);$i++){ $indice = $chave[$i]; $cesta[$indice][descricao] = $vprod[$indice][$descricao]; }$_SESSION[cesta] = $cesta;$chavecesta = array_keys($_SESSION[cesta]);for($i=0;$i<sizeof($chavecesta);$i++){ $indice = $chavecesta[$i]; echo $_SESSION[cesta][indice][descricao];}?><html> <body> <table border=1" width="600"> <form name="formpesquisaprodutovenda" method="post" action="../../Acoes/Venda/PesquisaProdutoVenda.php"> <tr> <td>Informe o Produto:</td> <td><input type="text" name="nomep" size="20"></td> <td><input type="submit" value="pesquisar"></td> </tr> </form> </table> </body></html>___________________________________________________________________________e tenho este outro que mostra os produtos pesquisados e os adicionam no arquivo anterior:___________________________________________________________________________<?phpinclude("../../Conexao/Conexao.php");$nomep = $_POST['nomep];$query = "select * from produto where descricao like '%$nomep'";$result = mysql_query($query,$conexao);if(mysql_num_rows($result)== 0){ ?>Nenhum produto com esta descricao!<br><?php}else{?><table border="1"> <form name="formpesquisaproduto" method="post" action="../../Web/Venda/FormNovaVenda.php"> <tr> <td>Descricao</td> <td>preço</td> <td>Quantidade</td> <td>Acao</td> </tr><?phpwhile($linha = mysql_fetch_array($result)){ $i=0; $produto[$i][descricao] = $linha[descricao]; $produto[$i][preço] = $linha[preço]; $chave = array_keys($produto); $indice = $chave[$i]; $descricao = $produto[$indice][descricao]; $preço = $produto[$indice][preço]; ?> <tr> <td><input name="txtprod[<?php echo $indice?>][descricao]" value="<?php echo $descricao;?>"</td> <td><input name="txtprod[<?php echo $indice?>][preço]" value="<?php echo $preço;?>"</td> <td><input type="text" name="quant" size="1" value="1"></td> <td><input type="submit" value="add"></td> </tr><?php$i++; }}?> </form></table><a href="../../Web/Venda/FormNovaVenda.php">voltar</a>___________________________________________________________________________Quero apenas que alguém me diga como ficar a listagem dos produtos um abaixo do outro no primeiro aquivo, pois já tentei de varias formas e não consegui. Obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Cardon Postado Fevereiro 8, 2011 Denunciar Share Postado Fevereiro 8, 2011 echo $_SESSION[cesta][indice][descricao]."<br>"; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 viniciuscrn Postado Fevereiro 8, 2011 Autor Denunciar Share Postado Fevereiro 8, 2011 echo $_SESSION[cesta][indice][descricao]."<br>";mas eu coloquei este echo no for, mas não imprime! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 viniciuscrn Postado Fevereiro 8, 2011 Autor Denunciar Share Postado Fevereiro 8, 2011 echo $_SESSION[cesta][indice][descricao]."<br>"; mas eu coloquei este echo no for, mas não imprime! Só para organizar, modifiquei este arquivo que mostra os produtos, só que a session não está guardando o array dos produtos, ela só está exibindo o último: <?php session_start(); $vprod = $_POST["txtprod"]; $_SESSION[cesta] = $vprod; $chavecesta = array_keys($_SESSION[cesta]); for($i=0;$i<sizeof($chavecesta);$i++){ $indice = $chavecesta[$i]; echo $_SESSION[cesta][$indice][descricao]; echo $_SESSION[cesta][$indice][preço]; } ?> <html> <body> <table border="1" width="600"> <form name="formpesquisaprodutovenda" method="post" action="../../Acoes/Venda/PesquisaProdutoVenda.php"> <tr> <td>Informe o Produto:</td> <td><input type="text" name="nomep" size="20"></td> <td><input type="submit" value="pesquisar"></td> </tr> </form> </table> </body> </html> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Cardon Postado Fevereiro 10, 2011 Denunciar Share Postado Fevereiro 10, 2011 (editado) Como que é que você esta mandando o campo "txtprod" para o php?É um input text, checkbox, combobox?É um array?vamos supor que você estja enviando de um checkbox em array<input type='checkbox' name='txtprod[]' /> obs.: mais se emcaixa com o seu php. Você esta recebendo ele certo. <?php session_start(); $vprod = $_POST["txtprod"]; //joga o valor para uma variavel da session $_SESSION['cesta'] = $vprod;//coloque as aspas //agora a session 'cesta' esta se apresentando assim $_SESSION['cesta'][0] = 'valor' //Depois você cria um novo array com as chaves do array dentro da session cesta $chavecesta = array_keys($_SESSION[cesta]);//não intendi pra que... //por último o loop para imprimir os valores. porem podemos usar o foreach para isso foreach($_SESSION[cesta] as $i=>$val){ echo $val."<br>"; //ou echo $val['descricao']."<br>";//porem não tem indicacao para esse indice. } Editado Fevereiro 10, 2011 por Cardon Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 viniciuscrn Postado Fevereiro 11, 2011 Autor Denunciar Share Postado Fevereiro 11, 2011 o txtprod vem de um input: <td><input name="txtprod[<?php echo $indice;?>][descricao]" value="<?php echo $descricao;?>"</td> só que agora o arquivo está funcionando, só que imprime apenas o primeiro produto da Session, quero saber como façou para exibir todos os produtos que estão nela, segue o código: <?php session_start(); $vprod = $_POST["txtprod"]; $_SESSION['cesta'] = $vprod; $chavecesta = array_keys($_SESSION['cesta']); for($i=0;$i<sizeof($chavecesta);$i++){ $indice = $chavecesta[$i]; echo $i; echo $_SESSION['cesta'][$indice][descricao]; echo $_SESSION['cesta'][$indice][preço]; } ?> <html> <body> <table border="1" width="600"> <form name="formpesquisaprodutovenda" method="post" action="../../Acoes/Venda/PesquisaProdutoVenda.php"> <tr> <td>Informe o Produto:</td> <td><input type="text" name="nomep" size="20"></td> <td><input type="submit" value="pesquisar"></td> </tr> </form> </table> </body> </html> Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
viniciuscrn
Pessoal, é o seguinte venho me batendo com isso há alguns dias:
Estou fazendo um sitemazinho de Caixa de Supermercado. E minha dúvida está na hora da venda:
Tenho este arquivo que mostra os produtos já adicionados, e a busca por um novo produto:
___________________________________________________________________________
<?php
session_start();
$vprod = $_POST["txtprod"];
$chave = array_keys($vprod);
for($i=0;$i<sizeof($chave);$i++){
$indice = $chave[$i];
$cesta[$indice][descricao] = $vprod[$indice][$descricao];
}
$_SESSION[cesta] = $cesta;
$chavecesta = array_keys($_SESSION[cesta]);
for($i=0;$i<sizeof($chavecesta);$i++){
$indice = $chavecesta[$i];
echo $_SESSION[cesta][indice][descricao];
}
?>
<html>
<body>
<table border=1" width="600">
<form name="formpesquisaprodutovenda" method="post" action="../../Acoes/Venda/PesquisaProdutoVenda.php">
<tr>
<td>Informe o Produto:</td>
<td><input type="text" name="nomep" size="20"></td>
<td><input type="submit" value="pesquisar"></td>
</tr>
</form>
</table>
</body>
</html>
___________________________________________________________________________
e tenho este outro que mostra os produtos pesquisados e os adicionam no arquivo anterior:
___________________________________________________________________________
<?php
include("../../Conexao/Conexao.php");
$nomep = $_POST['nomep];
$query = "select * from produto where descricao like '%$nomep'";
$result = mysql_query($query,$conexao);
if(mysql_num_rows($result)== 0){
?>
Nenhum produto com esta descricao!<br>
<?php
}else{
?>
<table border="1">
<form name="formpesquisaproduto" method="post" action="../../Web/Venda/FormNovaVenda.php">
<tr>
<td>Descricao</td>
<td>preço</td>
<td>Quantidade</td>
<td>Acao</td>
</tr>
<?php
while($linha = mysql_fetch_array($result)){
$i=0;
$produto[$i][descricao] = $linha[descricao];
$produto[$i][preço] = $linha[preço];
$chave = array_keys($produto);
$indice = $chave[$i];
$descricao = $produto[$indice][descricao];
$preço = $produto[$indice][preço];
?>
<tr>
<td><input name="txtprod[<?php echo $indice?>][descricao]" value="<?php echo $descricao;?>"</td>
<td><input name="txtprod[<?php echo $indice?>][preço]" value="<?php echo $preço;?>"</td>
<td><input type="text" name="quant" size="1" value="1"></td>
<td><input type="submit" value="add"></td>
</tr>
<?php
$i++;
}
}
?>
</form>
</table>
<a href="../../Web/Venda/FormNovaVenda.php">voltar</a>
___________________________________________________________________________
Quero apenas que alguém me diga como ficar a listagem dos produtos um abaixo do outro no primeiro aquivo, pois já tentei de varias formas e não consegui. Obrigado.
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.