Ir ao conteúdo
  • Cadastre-se
JonathanCruz

PHP manipular array com objeto vinda do javascript

Posts recomendados

Desde já agradeço a ajuda!!!

É o seguinte, eu quero salvar no banco de dados informações que eu envio do javascript para o php

eu mando as informações do javascript assim:

			// O nº 5 representa um id e o objeto representa as informações do id="5"
let dataArray = [ [5, {descricao: "adsf", obs: "jklç"}] ]
let dataJson = JSON.stringify(dataArray);		
	$.ajax({
		url : '_php/salvar.php',//url para acessar o arquivo
		data: {dados: dataJson},
		type : 'post',
		success : function(data){
 			//console.log(data)
		}
	})

 

Eu consigo guardar em uma variavel no php o numero 5 que é o indice zero, mais o objeto que seria no caso o indice "1" eu jão não consigo.

 

No php fica assim:

<?php
	include("conexao.php");	

	$dataArray = json_decode(stripslashes($_POST['dados']));
	
	$id = $dataArray[0][0]; // aqui eu consigo recuperar o numero 5 por exemplo
	//$descricao = $dataArray[0][1]; //ja tentei dessa forma
	//$obs = $dataArray[0]["obs"]; //ja tentei dessa forma
	
	$sqlSelect = "INSERT INTO inforProduto(descricao, obs) VALUES('$descricao', '$obs')";
	$result = $mysqli->query($sqlSelect);
	
	echo json_encode($dataArray);
?>

 

obs.: eu incurtei as informações que serão salvas no projeto original pra não ficar muito confuso

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não tem como passar um array javascript para um array PHP. Você teria que enviar as informações do javascript uma a uma e ir alimentando o array do PHP.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Problema resolvido!

 

@Luís Roberto C. da Silva obrigado pela atenção.

 

14 horas atrás, Luís Roberto C. da Silva disse:

Não tem como passar um array javascript para um array PHP. Você teria que enviar as informações do javascript uma a uma e ir alimentando o array do PHP.

Mais o codigo acima não faz exatamente isso???

porque eu consigo acessar os dados pelo indice!!!

 

pelo que entendi ele converte meu array la no javascript em string

let dataJson = JSON.stringify(dataArray);

e quando é recebido pelo php ele converte para um array em php

$dataArray = json_decode(stripslashes($_POST['dados']));

eu consigui resolver o problema com essa sintaxe:

$descricao = $dataArray[0][1]->{"descricao"}; //a variavel $descricao recebe "asdf"
$obs = $dataArray[0][1]->{"obs"}; //a variavel $obs recebe "jklç"

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

montagem2018-capa-newsletter2.jpg

PROMOÇÃO DE QUARENTENA

De R$ 39,90 por apenas R$ 19,90 só até as 23h59min deste domingo 29/03/2020

CLIQUE AQUI E COMPRE AGORA MESMO!