Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Carcleo

Busca no array. Como fazer

Recommended Posts

Olá pessoal.

Bom dia!

 

Tenho um array php com essa estrutura:


Array
(
   [0] => Array
       (
           [0] => 98
           [1] => 18
           [2] => 1
           [3] => 1
           [4] => 01_BRANCO
           [5] => 3_4
           [6] => 12
       )

   [1] => Array
       (
           [0] => 132
           [1] => 18
           [2] => 1
           [3] => 2
           [4] => 01_BRANCO
           [5] => M
           [6] => 12
       )

   [2] => Array
       (
           [0] => 99
           [1] => 18
           [2] => 1
           [3] => 6
           [4] => 01_BRANCO
           [5] => P
           [6] => 34
       )

   [3] => Array
       (
           [0] => 100
           [1] => 18
           [2] => 2
           [3] => 1
           [4] => Preta
           [5] => 3_4
           [6] => 5
       )

   [4] => Array
       (
           [0] => 101
           [1] => 18
           [2] => 2
           [3] => 6
           [4] => Preta
           [5] => P
           [6] => 6
       )

)

Tenho um array JavaScript com essa estrutura:

par_escolhido = Array(cor_marcada, tamanho_marcado);

Onde cor_marcada e tamanho_marcado são números. No caso, valores vindos de radio buttons selecionados.

 

Preciso buscar nessa variável php, uma combinação

 

do índice 2 com o índice 1 do arra JavaScript

do índice 3 com o índice 2 do arra JavaScript

 

Fazer essa verificação em todos os índices primários do array php.

 

Só que preciso fazer essa verificação em JavaScript para saber se exite uma combinação válida de cor e tamanho para o produto que o cliente escolheu.

 

Como eu faria isso?

 

Obrigado a quem puder ajudar!

 

Carlos Rocha

 

Consegui uma função me retorna uma matri js a partir de uma matriz php;

 

Ele retornou uma matriz js desse jeito.

pares = new Array(); 
pares[0] = new Array(); 
pares[0][0] = '98'; 
pares[0][1] = '18'; 
pares[0][2] = '1'; 
pares[0][3] = '1'; 
pares[0][4] = '01_BRANCO'; 
pares[0][5] = '3_4'; 
pares[0][6] = '12'; 
pares[1] = new Array(); 
pares[1][0] = '132'; 
pares[1][1] = '18'; 
pares[1][2] = '1'; 
pares[1][3] = '2'; 
pares[1][4] = '01_BRANCO'; 
pares[1][5] = 'M'; 
pares[1][6] = '12'; 
pares[2] = new Array(); 
pares[2][0] = '99'; 
pares[2][1] = '18'; 
pares[2][2] = '1'; 
pares[2][3] = '6'; 
pares[2][4] = '01_BRANCO'; 
pares[2][5] = 'P'; 
pares[2][6] = '34'; 
pares[3] = new Array(); 
pares[3][0] = '100'; 
pares[3][1] = '18'; 
pares[3][2] = '2'; 
pares[3][3] = '1'; 
pares[3][4] = 'Preta'; 
pares[3][5] = '3_4'; 
pares[3][6] = '5'; 
pares[4] = new Array(); 
pares[4][0] = '101'; 
pares[4][1] = '18'; 
pares[4][2] = '2'; 
pares[4][3] = '6'; 
pares[4][4] = 'Preta'; 
pares[4][5] = 'P'; 
pares[4][6] = '6';

Agora, preciso arranjar uma forma de vericar se o array js

par_escolhido = Array [1,1]

[code]

possui combinação nesse array grande

 

Se os indices 2 e 3 do array pares, são iguais aos indices 1 e 2 do array par_escolhido.

 

Como faria isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que sim.

 

Veja o contexto:

<?php
	$cores_tamanhos_string =
	"select 
		 estoque.id_estoque,
		 estoque.id_produto,
		 estoque.id_cor,
		 estoque.id_tamanho,
		 cores.nome_cores,
		 tamanhos.nome_tamanhos,
		 estoque.estoque
	  from estoque
	  inner join cores on cores.id_cores = estoque.id_cor
	  inner join tamanhos on tamanhos.id_tamanhos = estoque.id_tamanho
	  where estoque.id_produto =".$_GET["id_produtos"]." and estoque.estoque!=0 
	  order by cores.nome_cores, tamanhos.nome_tamanhos";

	$cores_tamanhos_query = $conexao->query($cores_tamanhos_string);
	$cores_tamanho_array = $cores_tamanhos_query->fetch_all();

	$cores_array= array();
	$tamanhos_array= array();


	foreach($cores_tamanho_array as $cores_tamanho)
	{
		array_push($cores_array,$cores_tamanho[2]);
		array_push($cores_array,$cores_tamanho[4]);
		array_push($tamanhos_array,$cores_tamanho[3]);
		array_push($tamanhos_array,$cores_tamanho[5]);
	}
?>
<script>
function verifica_estoque(form)
{
  for (i=0;i<document.getElementsByName('cor[]').length;i++)
  {
   if(document.getElementsByName('cor[]').item(i).checked)
   {
  		  marcado_cor = i;
      cor_marcada= document.getElementsByName('cor[]').item(i).value;
   }
  }
  if(window.cor_marcada===undefined) 
  {  
   alert('Escolha uma cor!');
   document.getElementsByName('cor[]').item(0).checked=true;
   return (false);
  }

  for (j=0;j<document.getElementsByName('tamanho[]').length;j++)
  {
   if(document.getElementsByName('tamanho[]').item(j).checked)
   {
      tamanho_marcado = document.getElementsByName('tamanho[]').item(j).value;
   }
  }
  if(window.tamanho_marcado===undefined) 
  {
   alert('Escolha um tamanho!');
   document.getElementsByName('tamanho[]').item(0).checked=true;
   return (false);	   
  }
  par_escolhido = Array(cor_marcada, tamanho_marcado);
  //alert(par_escolhido);
  pares = <?php echo get_javascript_array($cores_tamanho_array, "pares");?>
  for (k=0;k<pares.length;k++)
  {
    if((pares[k][2]==par_escolhido[0]) && (pares[k][3]==par_escolhido[1]))
 {
	achei="achei";
 }
  }
  if(window.achei===undefined) 
  {
   alert('Desculpe!\nEssa combinação cor/tamanho não temos no momento!\nPor favor! Escolha outra combinação.');
   return (false);	   
  }
  form.submit();
}
</script>
<form id="compra" name="compra" action="verifica_produto.php?acao=verifica_produto" method="post">
<input type="hidden" name="id_produto" id="id_produto" value="<?php echo $_GET["id_produtos"];?>" />
<table width="500px" border="0" cellspacing="1" cellpadding="1" align="center">
 <tr>
   <td colspan="3">Opçes disponíveis para este produto</td>
 </tr>
 <tr>
   <td align="center">CORES:</td>
   <td align="center">TAMANHOS:</td>
   <td rowspan="2" align="center" valign="middle"><input type="button" id="enviar" name="enviar" value="COMPRAR" onclick="return verifica_estoque(this.form)" /></td>
 </tr>
 <tr>
   <td>
   <?php
  $cores_unique = array_values(array_unique($cores_array));

  for($i=0;$i<count($cores_unique);$i++)
  {
	  echo "<input type='radio' value='$cores_unique[$i]' id='$cores_unique[$i]' name='cor[]' tabindex='1' />   ".$cores_unique[$i+1]."<br />";
	  $i++;
  }
?>
   </td>
   <td>
   <?php
  $tamanhos_unique = array_values(array_unique($tamanhos_array));

  for($l=0;$l<count($tamanhos_unique);$l++)
  {
	  echo "<input type='radio' value='$tamanhos_unique[$l]' id='$tamanhos_unique[$l]' name='tamanho[]' tabindex='2' />   ".$tamanhos_unique[$l+1]."<br />";
	  $l++;
  }
?>    
   </td>
 </tr>
</table>
</form>
<?php } } ?>

Obrigado pela atenção

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.