Ir para conteúdo
Fórum Script Brasil
  • 0

Contar campos iguais de um array


Esley

Pergunta

Olá, estou criando um sistema de ERP e estou com o seguinte problema, segue o código:

<?php
$Atributos = array();
                
$queryAtrib = mysql_query("SELECT IdAtributo FROM itens_venda WHERE IdProduto = '$IdProduto'
AND IdVenda = '$IdVenda';");
                
while($resultQueryAtrib = mysql_fetch_array($queryAtrib)){
    $Atributos[] = $resultQueryAtrib['IdAtributo'];
}
                
$Atributos = implode (",",$Atributos);

echo $Atibutos;
?> 

O resultado está mostrando assim: AAABC e preciso que mostre assim (3)A, (1)B, (1)C . Porém não estou conseguindo.

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Olá amigo tudo bem?

Deixa ver se eu intendi.

Você quer que os atributos apareção com os id.

Correto Se for isso vou tentar melhorar seu codigo.

<?php
$Atributos = array();
                
$queryAtrib = mysql_query("SELECT IdAtributo FROM itens_venda WHERE IdProduto = '$IdProduto'
AND IdVenda = '$IdVenda';");
    
Atibutos = "";
$i = 0;         
while($resultQueryAtrib = mysql_fetch_array($queryAtrib)){
    $Atibutos .= $i . $resultQueryAtrib['IdAtributo'];
    $i++;
}
 
echo $Atibutos;
?> 

Eu acho que é isso que você está querendo.

caso não seja manda um email

tiago.agenor@gmail.com que de dou uma ajuda.

Link para o comentário
Compartilhar em outros sites

  • 0

<script type='text/javascript'>window.mod_pagespeed_start = Number(new Date());</script>

Olá amigo tudo bem?

Deixa ver se eu intendi.

Você quer que os atributos apareção com os id.

Correto Se for isso vou tentar melhorar seu codigo.

<?php
$Atributos = array();
                
$queryAtrib = mysql_query("SELECT IdAtributo FROM itens_venda WHERE IdProduto = '$IdProduto'
AND IdVenda = '$IdVenda';");
    
Atibutos = "";
$i = 0;         
while($resultQueryAtrib = mysql_fetch_array($queryAtrib)){
    $Atibutos .= $i . $resultQueryAtrib['IdAtributo'];
    $i++;
}
 
echo $Atibutos;
?> 

Eu acho que é isso que você está querendo.

caso não seja manda um email

tiago.agenor@gmail.com que de dou uma ajuda.

Olá amigo. O problema que estou tendo, é que preciso agrupar e mostrar a quantidade e os valor iguais de um array, porém não estou conseguindo.
O resultado está aparecendo assim (exemplo):
AAABC
E o que preciso é assim:
3 - A (três valores A iguais)
1 - B (um valor B )
1 - C (um valor C )
Desde já, agradeço pelo ajuda.
Link para o comentário
Compartilhar em outros sites

  • 0
Utilize o código que o Tiago me passou por e-mail e funcionou perfeitamente, fiz algumas modificações e ficou assim:
_____________________________________________________________
$Atributos = array();
$queryAtrib = mysql_query("SELECT IdAtributo FROM itens_venda WHERE
IdentificadorProduto = '$IdentificadorProduto' AND
IdentificadorVenda = '$IdentificadorVenda';");
while($resultQueryAtrib = mysql_fetch_array($queryAtrib)){
$IdentificadorAtrib = $resultQueryAtrib['IdAtributo'];
$selectDescAtrib = mysql_query("SELECT DescricaoAtributo FROM itens_atributos
WHERE Identificador = '$IdentificadorAtrib';");
$retornoDescAtrib = mysql_fetch_array($selectDescAtrib);
if(isset($Atributos[$retornoDescAtrib['DescricaoAtributo']])){
$Atributos[$retornoDescAtrib['DescricaoAtributo']]++;
}else{
$Atributos[$retornoDescAtrib['DescricaoAtributo']] = 1;
}
}
foreach($Atributos as $chave => $Quantidade){
$html .= $chave.' - '.$Quantidade.' itens<br>';
}
_____________________________________________________________
Porém ele está retornando o seguinte resultando onde os valores estão pretos e deveria apresentar a quantidade de produtos em vermelho para bater com a soma dos itens:
Atributos
TotalItens
P - 2 itens (6 itens)
P - 1 itens (2 itens)
11
P - 1 itens (3 itens)

Na tabela do banco, os dados foram inseridos assim:

DescricaoAtributo
QtdProduto
P
5
P
4
P
2
Alguém poderia me ajudar nesse último problema.
Desde já agradeço.
Link para o comentário
Compartilhar em outros sites

  • 0

Consegui resolver meu problema, segue o código para quem precisar posteriormente:

$Atributos	= array();
$QtdAtrib	= array();

$queryAtrib = mysql_query("SELECT IdAtributo, QtdProduto FROM itens_venda WHERE
						  IdentificadorProduto = '$IdentificadorProduto' AND 
						  IdentificadorVenda = '$IdentificadorVenda';");

while($resultQueryAtrib = mysql_fetch_array($queryAtrib)){
	$IdentificadorAtrib = $resultQueryAtrib['IdAtributo'];
	
	$selectDescAtrib = mysql_query("SELECT DescricaoAtributo FROM itens_atributos WHERE Identificador = '$IdentificadorAtrib';");
	$retornoDescAtrib = mysql_fetch_array($selectDescAtrib);
	
	$Atributos[] = $retornoDescAtrib['DescricaoAtributo'];
	
	$QtdAtrib[] = $resultQueryAtrib['QtdProduto'];
}

foreach(array_combine($Atributos, $QtdAtrib) as $DescAtrib => $Quantidade){
	if($Quantidade > 1){
		$html .= $DescAtrib.' - '.$Quantidade.' Itens<br>';
	}else{
		$html .= $DescAtrib.' - '.$Quantidade.' Item<br>';
	}
}

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...