Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde.
Tenho uma tabela de produtos, estou fazendo um foreach para exibi-los, e tenho os produtos orçados pelo cliente, a tela em questão é onde ele pode editar o orçamento, tenho que carregar os produtos marcados por ele e a quantidade, mas não estou compreendendo como posso fazer a comparação para checar os produtos.
foreach ($this->produtos as $prod) :
if ($i == 0 || $i % 2 == 0) :
echo '<div class="form-group">';
endif;
$checked="";
foreach ($this->orcamento['items'] as $item) :
//$checked = $prod['id_produto'] === $item['id_produto'] ? "checked" : "";
if (in_array($item, $prod)) {
$checked = "checked";
}
endforeach;
?>
<div class="col-sm-3">
<div class="checkbox">
<label>
<input <?php echo $checked; ?> value="<?php echo $prod['id_produto']; ?>" name="prod_<?php echo $prod['id_produto']; ?>" id="ckprod-<?php echo $prod['id_produto']; ?>" type="checkbox"><?php echo $prod['nome']; ?>
</label>
</div>
</div>
<div class="col-sm-2">
<input value="<?php //echo $item['qtd']; ?>" type="text" name="qtd_<?php echo $prod['id_produto']; ?>" id="qtd_<?php echo $prod['id_produto']; ?>" placeholder="Quantidade" class="form-control">
</div>
<?php
if ($i % 2 != 0 || $i == count($this->produtos) - 1) :
echo '</div>';
endif;
$i++;
endforeach;Eu quero comparar se o id do produto que to rodando no foreach é igual ao id do produto que ta no item do pedido, se for igual marco o item como checado.
Jean pelo que entendi, não precisa de frech ou qualquer coisa que rode array, apenas uma função in "array()";
creio eu que os itens do pedido estão em BD certo?! se for assim é só no loop do BD usar esta função, ex:
$selecao = "select * from pedido where cod_ped = ".$id;
$exec = mysql_query($selecao);
for($i=0;$i<mysql_num_rows($exec);$i++){
$linha = mysql_fetch_array($exec);
//agora vem a parte de comparação
if(in_array($linha['cod_prod'], $array)){
$status = "checkado";
}else{
$status = "nao_checado";
}
}Espero ter ajudado
Olá Jean!
Há uma forma bem mais fácil:
primeiro, use a função count() para determinar o numero de elementos que um array / matriz tenha;
segundo, faça um loop for usando como referência o numero de elementos de um array dados pela função count()
vou mostrar um exemplo disso:
o grande truque tá em, como visto dentro do for, é referenciar a coluna['coluna'] e também colocar o numero(chave) [$i].serve tanto para array, tanto para mattrizes
qualquer coisa de um grito
espero ter ajudado :D
ah sim, como eh o tpo de comparação que vc quer fazer?!