1
I have a problem and the solution I am trying to apply does not seem to me to be the most suitable, I need to show some results of certain products limiting this display, I have the following sql
that generates the grupos
product:
SELECT
agrGrupoPrecoCialAgr.Descricao,
agrAgroProduto.Nome,
agrPrecoComercialAgr.DataValidadeInicial,
agrPrecoComercialAgr.HoraValidadeInicial,
agrPrecoComercialAgr.DataValidadeFinal,
agrPrecoComercialAgr.HoraValidadeFinal,
agrPrecoComercialAgr.PrecoFinal,
agrPrecoComercialAgr.IdAgroProduto
FROM
agrGrupoPrecoCialAgr
INNER JOIN agrPrecoComercialAgr
ON agrGrupoPrecoCialAgr.IdGrupo = agrPrecoComercialAgr.IdGrupo
INNER JOIN agrAgroProduto
ON agrPrecoComercialAgr.IdAgroProduto = agrAgroProduto.IdAgroProduto
WHERE
agrPrecoComercialAgr.IdUnicoop = 33
AND agrGrupoPrecoCialAgr.MostraPainel = 1
AND agrPrecoComercialAgr.DataValidadeInicial = '$dataCalendario'
AND agrGrupoPrecoCialAgr.IdGrupo = '$idGrupo'
AND agrGrupoPrecoCialAgr.Descricao <> 'GOIAS'
AND agrGrupoPrecoCialAgr.Ativo = 1
ORDER BY
agrGrupoPrecoCialAgr.Ordem ASC,
agrPrecoComercialAgr.IdAgroProduto ASC
With this data I’m mounting a xml
do { // NOME DO PRODUTO $nome = str_replace("", "", $rstPreco['Nome']); $nome = str_replace("", "", $nome); // PREÇO DO PRODUTO $preco = number_format( $rstPreco['PrecoFinal'], $casasDecimais, ',', '.' ); // IDENTIFICAÇÃO DO PRODUTO $IdAgroProduto = $rstPreco['IdAgroProduto']; if ($preco == "0,00"){ $preco = "F.M."; } // MOSTRA PREÇOS APARTIR DAS 13:00 HS. // LIMITAR A EXIBIÇÃO NESSE MOMENTO if ($hora >= $rstPreco['HoraValidadeInicial'] && $hora \r\n"); fwrite($fp, "".$IdAgroProduto."\r\n"); fwrite($fp, "$nome\r\n"); fwrite($fp, "$preco\r\n"); fwrite($fp, "\r\n"); } else { fwrite($fp, "\r\n"); fwrite($fp, "".$IdAgroProduto."\r\n"); fwrite($fp, "$nome\r\n"); fwrite($fp, "N.D\r\n"); fwrite($fp, "\r\n"); } } while ($rstPreco = mysql_fetch_assoc($conPreco));
From the amount of records obtained I can not display all, so I was trying to make a if
with all the id´s
which I can show you, but it didn’t turn out very well, so I’d like some suggestions on how to fix this.
What I tried to do was this:
do {
// NOME DO PRODUTO
$nome = str_replace("<b>", "", $rstPreco['Nome']);
$nome = str_replace("</b>", "", $nome);
// PREÇO DO PRODUTO
$preco = number_format( $rstPreco['PrecoFinal'], $casasDecimais, ',', '.' );
// IDENTIFICAÇÃO DO PRODUTO
$IdAgroProduto = $rstPreco['IdAgroProduto'];
if ($preco == "0,00"){
$preco = "F.M.";
}
// MOSTRA PREÇOS APARTIR DAS 13:00 HS.
if ($hora >= $rstPreco['HoraValidadeInicial'] && $hora <= $rstPreco['HoraValidadeFinal']){
if($IdAgroProduto == 1 || $IdAgroProduto == 74 || $IdAgroProduto == 70 || $IdAgroProduto == 195 || $IdAgroProduto == 196 || $IdAgroProduto == 197|| $IdAgroProduto == 368 || $IdAgroProduto == 75 || $IdAgroProduto == 429 || $IdAgroProduto == 430) {
fwrite($fp, "<cotacoes>\r\n");
fwrite($fp, "<codigo>".$IdAgroProduto."</codigo>\r\n");
fwrite($fp, "<nome>$nome</nome>\r\n");
fwrite($fp, "<valor>$preco</valor>\r\n");
fwrite($fp, "</cotacoes>\r\n");
}
} else {
fwrite($fp, "<cotacoes>\r\n");
fwrite($fp, "<codigo>".$IdAgroProduto."</codigo>\r\n");
fwrite($fp, "<nome>$nome</nome>\r\n");
fwrite($fp, "<valor>N.D</valor>\r\n");
fwrite($fp, "</cotacoes>\r\n");
}
}
} while ($rstPreco = mysql_fetch_assoc($conPreco));
what condition or conditions of the records you want to display?
– Marllon Nasser
Hello @Marllonnasser, I need to show the products listed in this IF I made, but I found the scheme I made can be improved.
– adventistapr
what the assignment of
$hora
?– Marllon Nasser
you can make a Where agrPrecoComercialAgr.Idagroproduct in (select * from productcan);
– Jasar Orion