Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
O que tô tentando fazer é o seguinte: puxar dados de um mysql e a partir dele formar as virgulas (como produto: P, M e G, etc).
O código atual que utilizo é este:
echo "<Br>"; if ($produtoP>"0") echo "P "; if ($produtoM>"0") echo "M "; if ($produtoG"0") echo "G "; if ($produtoGG>"0") echo "GG"; if ($produtoP=="0" && $produtoM=="0" && $produtoG=="0" && $produtoGG=="0") echo "Esgotado.";
Ele faz a verificação se existe estoque para o tamanho do produto e, se existir, retorna com o echo com o tamanho do produto que ainda há em estoque (No caso acima fica sem virgula, mais ou menos assim, ex: P M G (existem produtos do tamanho P, M e G no estoque).
Eu estava modificando para este:
echo "<Br>"; if ($produtoP>"0" && $produtoM=="0" && $produtoG=="0" && $produtoGG=="0") echo "P.";
echo "<Br>"; if ($produtoP>"0" && $produtoM>"0" && $produtoG=="0" && $produtoGG=="0") echo "P e M.";
echo "<Br>"; if ($produtoP>"0" && $produtoM>"0" && $produtoG>"0" && $produtoGG=="0") echo "P, M e G.";
echo "<Br>"; if ($produtoP>"0" && $produtoM>"0" && $produtoG>"0" && $produtoGG>"0") echo "P, M, G e GG.";
echo "<Br>"; if ($produtoP>"0" && $produtoM=="0" && $produtoG>"0" && $produtoGG>"0") echo "P, G e GG.";
echo "<Br>"; if ($produtoP>"0" && $produtoM=="0" && $produtoG>"0" && $produtoGG=="0") echo "P e G.";
echo "<Br>"; if ($produtoP>"0" && $produtoM=="0" && $produtoG=="0" && $produtoGG>"0") echo "P e GG.";
No código acima só fiz a do tamanho P (e ainda está incompleto), e se eu fizer as outras vai ficar gigantesco o código.
Tem como simplificar tudo isso? Mostrando a virgula corretamente de acordo com os produtos existentes no estoque?
ate mais...
acho que estou fazendo errado, testei de varias maneiras e sempre retorna erro:
Notice: Undefined variable: array_tipos in c:\easyphp1.8\www\produto.php on line 39
Warning: implode(): Bad arguments. in c:\easyphp1.8\www\produto.php on line 39
Faça um pesquisa no banco que retorne somente os tamanhos que tenham no estoque e imprima.
Eu já faço isso, Victor Cometti.
Ele retorna mas retorna sem virgula, sem 'e'. Sem formatação.
Edit:
Consegui com o código do ESerra.
Porém, há um probleminha.. (ver ultimo post)
//varre as linhas
while ($linha = mysql_fetch_assoc($sql)){
$tamanhos[] = $linha['tamanho'];
}acho q isso resolve
O código do ESerra funcionou tranquilo, mas quando adicionei alguns códigos mysql ele misturou tudo.. :(
Não entendi bem o seu codigo, Victor...
abraço
Edit: no erro que informei no código do ESerra, ele faz o seguinte:
coloquei o ORDER by id asc.
No código 1, ele lista corretamente. No código 2, ele repete o estoque do código 1 e lista o do código 2.
Ficando assim:
/applications/core/interface/imageproxy/imageproxy.php?img=http://s13.postimage.org/54gy5miz9/Sem_t_tulo.jpg&key=c8297162f26871022a47ab201ea48ffc18bb564cc4fa89ed9433fbe0670bcfc7" alt="Sem_t_tulo.jpg" />
A CAMISA 1, existe M, G e GG. Já a CAMISA 2 existe P, M e GG.
Ele está retornando na camisa 2: M, G, GG, P, M e GG (o negrito seria da camisa 1)
como está sua pesquisa no banco?
A cada volta do laço você eve dar um unset no array.
Consegui Victor Cometti. ^_^
Obrigado novamente, ESerra. :grin:
poste como conseguiu
Monta tudo em um array...
if ($produtoP>"0"){ $array_tipos[] = 'P'; }
if ($produtoM>"0"){ $array_tipos[] = 'M'; }
...
if($produtoGG>"0"){ $array_tipos[] = 'GG'; }
echo implode(', ', $array_tipos);