Bom, é o seguinte: tenho que montar um site que tem uma organização de produtos assim:
Categoria => Subcategoria => Produto
Daí, na página da Subcategoria, por exemplo, de Conectores hidráulicos, há diversos produtos, que são todos conectores hidráulicos, mas por exemplo: Conector hidráulico 1/8, Conector hidráulico 1/6, e assim por diante.
Cada produto, além de um ID (PRIMARY KEY e AUTO_INCREMENT), possui um código (VARCHAR(6)) interno, que é usado pela empresa. Na página da Subcategoria, eu listo todos os produtos da respectiva subcategoria e um campo (input) ao lado de cada um, que deve ser preenchido pelo usuário, e é relativo a quantidade daquele produto (daquela linha) que o usuário quer adicionar no orçamento. Explicando melhor:
Conectores Hidráulicos
|Quantid. | Código | Produto |
==============================
| INPUT | 300001 | Conector Hidráulico de 1/8 |
| INPUT | 300002 | Conector Hidráulico de 1/6 |
...
E assim por diante...
No fim dessa tabela, há um botão "Enviar" para que o usuário adicione os produtos que ele deseja com suas respectivas quantidades a um carrinho. A minha dúvida é em relação a parte da $_SESSION e do $_POST. Primeiramente, como que eu faço para pegar somente as quantidades que foram preenchidas na hora do $_POST? Porque eu estou imaginando aquilo estruturado da seguinte maneira:
Certo? Daí, como que eu faço para percorrer todos os campos, uma vez que eu não sei quantos produtos existem naquela subcategoria? (a não ser que eu faça um SELECT do banco de dados, e etc., mas eu acho que há outra maneira de fazer isso, certo?!)
A outra questão é: ok, já peguei os valores do $_POST e tudo mais (supondo...). A partir disso, o próximo passo seria adicionar numa $_SESSION, cada campo em cada posição de um "vetor" de $_SESSION, correto? Por exemplo:
Dessa maneira, teriamos algo como $_SESSION["nome"][0], $_SESSION["nome"][1], $_SESSION["nome"][2], tantos quantos fossem os produtos que o usuário adicionou, certo? Mas e a exclusão? Digamos que o usuário resolva excluir um produto dessa lista de orçamento. Como que eu faria para:
1º) Descobrir qual é a posição em que este produto se encontra?
2º) Os elementos que estiverem na frente desse, devem ser deslocados? Por exemplo: tenho $_SESSION["nome"][0], $_SESSION["nome"][1] e $_SESSION["nome"][2] armazenados (e suas respectivas qtdes. e ID's, mas enfim...). Digamos que o usuário resolva remover o item [1]. O item [2] AUTOMATICAMENTE passará a ser indexado de item [1] ou não? Porque, senão, como eu faria na hora de listar? Já que esse vetor passaria a ter só dois elementos, mas um na posição 0 e outro na posição 2?? (O FOR nunca chegaria ao 2º, dado que ele começaria do 0 e, além do 0, só percorreria mais uma posição: o 1, que foi excluído.)
Tá meio confuso, mas eu estarei de olho aqui, qualquer dúvida, só perguntarem...
Pergunta
Vithor
Oi galera!
Bom, é o seguinte: tenho que montar um site que tem uma organização de produtos assim:
Categoria => Subcategoria => Produto
Daí, na página da Subcategoria, por exemplo, de Conectores hidráulicos, há diversos produtos, que são todos conectores hidráulicos, mas por exemplo: Conector hidráulico 1/8, Conector hidráulico 1/6, e assim por diante.
Cada produto, além de um ID (PRIMARY KEY e AUTO_INCREMENT), possui um código (VARCHAR(6)) interno, que é usado pela empresa. Na página da Subcategoria, eu listo todos os produtos da respectiva subcategoria e um campo (input) ao lado de cada um, que deve ser preenchido pelo usuário, e é relativo a quantidade daquele produto (daquela linha) que o usuário quer adicionar no orçamento. Explicando melhor:
Conectores Hidráulicos
|Quantid. | Código | Produto |
==============================
| INPUT | 300001 | Conector Hidráulico de 1/8 |
| INPUT | 300002 | Conector Hidráulico de 1/6 |
...
E assim por diante...
No fim dessa tabela, há um botão "Enviar" para que o usuário adicione os produtos que ele deseja com suas respectivas quantidades a um carrinho. A minha dúvida é em relação a parte da $_SESSION e do $_POST. Primeiramente, como que eu faço para pegar somente as quantidades que foram preenchidas na hora do $_POST? Porque eu estou imaginando aquilo estruturado da seguinte maneira:
Certo? Daí, como que eu faço para percorrer todos os campos, uma vez que eu não sei quantos produtos existem naquela subcategoria? (a não ser que eu faça um SELECT do banco de dados, e etc., mas eu acho que há outra maneira de fazer isso, certo?!) A outra questão é: ok, já peguei os valores do $_POST e tudo mais (supondo...). A partir disso, o próximo passo seria adicionar numa $_SESSION, cada campo em cada posição de um "vetor" de $_SESSION, correto? Por exemplo:Dessa maneira, teriamos algo como $_SESSION["nome"][0], $_SESSION["nome"][1], $_SESSION["nome"][2], tantos quantos fossem os produtos que o usuário adicionou, certo? Mas e a exclusão? Digamos que o usuário resolva excluir um produto dessa lista de orçamento. Como que eu faria para:
1º) Descobrir qual é a posição em que este produto se encontra?
2º) Os elementos que estiverem na frente desse, devem ser deslocados? Por exemplo: tenho $_SESSION["nome"][0], $_SESSION["nome"][1] e $_SESSION["nome"][2] armazenados (e suas respectivas qtdes. e ID's, mas enfim...). Digamos que o usuário resolva remover o item [1]. O item [2] AUTOMATICAMENTE passará a ser indexado de item [1] ou não? Porque, senão, como eu faria na hora de listar? Já que esse vetor passaria a ter só dois elementos, mas um na posição 0 e outro na posição 2?? (O FOR nunca chegaria ao 2º, dado que ele começaria do 0 e, além do 0, só percorreria mais uma posição: o 1, que foi excluído.)
Tá meio confuso, mas eu estarei de olho aqui, qualquer dúvida, só perguntarem...
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.