Ir para conteúdo

POWERED BY:

Arquivado

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

bernardweger

como inserir for dentro de array

Recommended Posts

Olá pessoa, estou tentando executar o seguinte código más estou com uma puga atrás da orelha de como inserir um for no array de images, segue codigo

Alguem por favor conseguiria me dar uma luz, Obrigado!


		$cURL = curl_init('https://api.mercadolibre.com/items/'.$idprodmercado[$i].'/variations?access_token='.$token.'');
		curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
				$dados = array(
					"price" => "250",
					"available_quantity" => "3",
					"picture_ids" => array(
						"$fotoimgex[0]",
						"$fotoimgex[1]",
						"$fotoimgex[2]",
						"$fotoimgex[3]"

					),
					"attribute_combinations" => array(
						array(
							"name" => "Tamanho",
							"value_name" => "G"
						)
			

					)

				);
		curl_setopt($cURL, CURLOPT_POST, true);
		curl_setopt($cURL, CURLOPT_POSTFIELDS, json_encode($dados));
		$resultado = curl_exec($cURL);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo me surgiu outro problema, para aproveitar o mesmo coloquei aqui

		$cURL = curl_init('https://api.mercadolibre.com/items/'.$idprodmercado[$i].'/variations?access_token='.$token.'');
		curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
				$dados = array(
					"price" => "250",
					"available_quantity" => "3",
					"picture_ids" =>
						$idfotospost,
					"attribute_combinations" => array(
						array(
							"name" => "Tamanho",
							"value_name" => "G"
						)
			

					)

				);
		curl_setopt($cURL, CURLOPT_POST, true);
		curl_setopt($cURL, CURLOPT_POSTFIELDS, json_encode($dados));
		$resultado = curl_exec($cURL);

Blz, consegui colocar a criança ai já com o merge, agora ele me gera outro problema, o arquivo precisar com json_encode, só que no final do meu código lá no postfields eu já possuo um json_encode que acaba codificando duas vezes a mesma variável e seu eu inserir sem o primeiro json_enconde $idfoto, ele não aceita, falando que precisa ser codificado, Você teria alguma outra solução?

ele me retorna assim com dois encodes = [\"248605-MLB25066745862_092016\"]

estava vendo aqui e talvez isso me resolveria

foreach ( $fotoimg as $fotoimge[] ){
$fotoimgex[0] = $fotoimge[0]->id;
$fotoimgex[1] = $fotoimge[1]->id;
$fotoimgex[2] = $fotoimge[2]->id;
$fotoimgex[3] = $fotoimge[3]->id;
$fotoimgex[4] = $fotoimge[4]->id;
$fotoimgex[5] = $fotoimge[5]->id;

}
$idfotospost = array_merge($fotoimgex);

ao pegar a variável $fotoimgex[0] eu já adiciono as " " que me faltam, como fazer isso

echo "/"$fotoimgex[0]"/";

Obrigado Amigo

Desde já agradeco sua ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Foreach ta errado

$idfotospost = array();
foreach ( $fotoimg as $fotoimge ){
  $idfotospost[] = 'Recebe @var';
}

depois lá no array $idfotospost

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo, Desde já agradeco sua ajuda, más ele não compila, montei desta forma:

$fotoimg = $stringitem->pictures;
$idfotospost = array();
foreach ( $fotoimg as $fotoimge ){
$idfotospost[0] = $fotoimge[0]->id;
$idfotospost[1] = $fotoimge[1]->id;
$idfotospost[2] = $fotoimge[2]->id;
$idfotospost[3] = $fotoimge[3]->id;
$idfotospost[4] = $fotoimge[4]->id;
$idfotospost[5] = $fotoimge[5]->id;

}
$idfotospost = array_merge($idfotospost);
echo $idfotospost;

Compartilhar este post


Link para o post
Compartilhar em outros sites
foreach ( $fotoimg as $key => $fotoimge ){
$idfotospost[$key] = $fotoimge[$key]->id;
$idfotospost[$key] = $fotoimge[$key]->id;
$idfotospost[$key] = $fotoimge[$key]->id;
$idfotospost[$key] = $fotoimge[$key]->id;
$idfotospost[$key] = $fotoimge[$key]->id;
$idfotospost[$key] = $fotoimge[$key]->id;

}

Tente dessa forma

Compartilhar este post


Link para o post
Compartilhar em outros sites

desta forma que você me enviou ele não compila também... desta forma complica

foreach ( $fotoimg as $key => $fotoimge[] ){
$idfotospost[$key] = $fotoimge[$key]->id;
$idfotospost[$key] = $fotoimge[$key]->id;
$idfotospost[$key] = $fotoimge[$key]->id;
$idfotospost[$key] = $fotoimge[$key]->id;
$idfotospost[$key] = $fotoimge[$key]->id;
$idfotospost[$key] = $fotoimge[$key]->id;

}

Irei colocar para vocês o código mais completo... Por favor não sei como sair daqui kkk

$resultitem=curl_exec($chitem);
$stringitem = json_decode($resultitem);
$category_id = $stringitem->category_id;
$fotoimg = $stringitem->pictures;
$contapictures = count($stringitem->pictures);
$idfotospost = array();
foreach ( $fotoimg as $key => $fotoimge[] ){
$idfotospost[$key] = $fotoimge[$key]->id;
$idfotospost[$key] = $fotoimge[$key]->id;
$idfotospost[$key] = $fotoimge[$key]->id;
$idfotospost[$key] = $fotoimge[$key]->id;
$idfotospost[$key] = $fotoimge[$key]->id;
$idfotospost[$key] = $fotoimge[$key]->id;

}
$idfotospost = array_merge($idfotospost);
echo $idfotospost;




$urlcategoria= "https://api.mercadolibre.com/categories/$category_id";
$chcategoria = curl_init();

curl_setopt($chcategoria, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($chcategoria, CURLOPT_RETURNTRANSFER, true);
curl_setopt($chcategoria, CURLOPT_URL,$urlcategoria);
$resultcategoria=curl_exec($chcategoria);
$stringcategoria = json_decode($resultcategoria);
$tipocategoria = $stringcategoria->attribute_types;
			if($tipocategoria == none){
				$contavariacoes = count($stringitem->variations);
				for ($ii = 0; $ii < $contavariacoes; $ii++) {
				$idvariacao[$ii] = $stringitem->variations[$ii]->id;
    				$url = "https://api.mercadolibre.com/items/$idprodmercado[$i]/variations/$idvariacao[$ii]?access_token=$token";
    				$ch = curl_init();
    				curl_setopt($ch, CURLOPT_URL,$url);
    				curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE");
    				curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
   				curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    				$result = curl_exec($ch);
				}



		$cURL = curl_init('https://api.mercadolibre.com/items/'.$idprodmercado[$i].'/variations?access_token='.$token.'');
		curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
				$dados = array(
					"price" => "250",
					"available_quantity" => "3",
					"picture_ids" => array(
						$idfotospost
					),
					"attribute_combinations" => array(
						array(
							"name" => "Tamanho",
							"value_name" => "G"
						)
			

					)

				);

		curl_setopt($cURL, CURLOPT_POST, true);
		curl_setopt($cURL, CURLOPT_POSTFIELDS, json_encode($dados));
		$resultado = curl_exec($cURL);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, vamos por parte, ve o que retorna e posta aqui novamente!

echo "<pre>";
print_r( $fotoimg );
echo "</pre>";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segue a resposta

Array
(
    [0] => stdClass Object
        (
            [id] => 248605-MLB25066745862_092016
            [url] => http://mlb-s1-p.mlstatic.com/248605-MLB25066745862_092016-O.jpg
            [secure_url] => https://mlb-s1-p.mlstatic.com/248605-MLB25066745862_092016-O.jpg
            [size] => 213x146
            [max_size] => 213x146
            [quality] => 
        )

    [1] => stdClass Object
        (
            [id] => 807705-MLB25069267761_092016
            [url] => http://mlb-s1-p.mlstatic.com/807705-MLB25069267761_092016-O.jpg
            [secure_url] => https://mlb-s1-p.mlstatic.com/807705-MLB25069267761_092016-O.jpg
            [size] => 256x256
            [max_size] => 256x256
            [quality] => 
        )

    [2] => stdClass Object
        (
            [id] => 720805-MLB25069267770_092016
            [url] => http://mlb-s1-p.mlstatic.com/720805-MLB25069267770_092016-O.jpg
            [secure_url] => https://mlb-s1-p.mlstatic.com/720805-MLB25069267770_092016-O.jpg
            [size] => 200x200
            [max_size] => 200x200
            [quality] => 
        )

    [3] => stdClass Object
        (
            [id] => 830805-MLB25069267775_092016
            [url] => http://mlb-s2-p.mlstatic.com/830805-MLB25069267775_092016-O.jpg
            [secure_url] => https://mlb-s2-p.mlstatic.com/830805-MLB25069267775_092016-O.jpg
            [size] => 130x500
            [max_size] => 156x600
            [quality] => 
        )

) 

coloquei seis variáveis pois é o limite de fotos do Mercado Livre e preciso devolver com as mesmas fotos...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvi o problema do array que não postava, más agora quero fazer um pouco mais complicado kkkk

Segue código do que estou tentando fazer, minha tabela de variacoessub possui mais de uma variação..

Por exemplo:

Tamanho = P,M,G,EG...

COR: Verde, Vermelho... enfim

gostaria de saber se alguém poderia me arrumar um pouquinho da teoria de como montar isso... Segue código do que eu montei más nao deu certo até o momento.

tentei utilizar a função merge, más sem sucesso

Erro que retorna:

{"message":"Validation error","error":"validation_error","status":400,"cause":[{"code":"item.variations.total_stock.invalid","message":"Total stock of item with variations should be more than 0."}]}

				$validarvariacao=$pdo->prepare("SELECT * FROM tbl_produtos_variacao WHERE idprodusuairo = $codproduto AND codusuario = $id");
				$validarvariacao->execute();
				$exibivariacao=$validarvariacao->fetch(PDO::FETCH_ASSOC);
				$nomevaricao = $exibivariacao['nomevaricao'];
				$idvaricao = $exibivariacao['id'];
				$contavezesvariacaosub = 0;
				$validarvariacaosub=$pdo->prepare("SELECT * FROM tbl_produtos_variacao_sub WHERE codvariacao = $idvaricao");
				$validarvariacaosub->execute();
				while($exibivariacaosub=$validarvariacaosub->fetch(PDO::FETCH_ASSOC)){
				$valorvariacaosub = $exibivariacaosub['valor'];
				echo $valorvariacaosub;
				$dados[$contavezesvariacaosub] = array(
					"price" => "250",
					"available_quantity" => "3",
					"picture_ids" => 
						$idfotospost
					,
					"attribute_combinations" => array(
						array(
							"name" => "Tamanho",
							"value_name" => $valorvariacaosub
						)
			

					)

				);


				$contavezesvariacaosub++;

				}

desta forma ele não gera a criança, más desta forma ele gera.

				$dados = array(
					"price" => "250",
					"available_quantity" => "3",
					"picture_ids" => 
						$idfotospost
					,
					"attribute_combinations" => array(
						array(
							"name" => "Tamanho",
							"value_name" => "P"
						)
			

					)

				),array(
					"price" => "250",
					"available_quantity" => "3",
					"picture_ids" => 
						$idfotospost
					,
					"attribute_combinations" => array(
						array(
							"name" => "Tamanho",
							"value_name" => "M"
						)
			

					)

				);

FIcaria muito grato se alguém pudesse me ajudar, estou batendo a cabeça neste código desde Sábado e as coisas estão começando a atrasar para o meu lado, por favor... ME AJUDEM!

Obrigado

Bernard

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.