Ir para conteúdo

Arquivado

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

alh

Salvar varios arrays duplos Mysql

Recommended Posts

Pessoal, tenho uma dúvida, não consegui explicar direito no título desse post...então vamos lá...

Tenho um array que recebe e salva no mysql os resultados de um formulario assim:

descricao[], data[], valorUnitario[], valorTotal[]

Mas como o usuário pode "adicionar novas linhas" em javascript "duplicando, triplicando,ou aumentado mais" o número de linhas que nesse caso é um produto, preciso salvar todos eles no mysql...

Se for quatro linhas fica assim:

descricao[], data[], valorUnitario[], valorTotal[]

descricao[], data[], valorUnitario[], valorTotal[]

descricao[], data[], valorUnitario[], valorTotal[]

descricao[], data[], valorUnitario[], valorTotal[]

Como faço para salvar essas 4 linhas no mysql?

UTILIZO PARA SALVAR APENAS A DESCRIÇÃO "descricao[]" esse array:

<?php
foreach($_POST["descricao"] as $produto) {
   echo "INSERT INTO produtos (produtos) VALUES (".$produto.")";
}

?>

Mas preciso Salvar todos os demais campos: data, valorUnitario,valorTotal no Mysql...

Alguem pode ajudar?

Valeuu!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você chegou a ler?

Chegou a ver os exemplos?

Pegunto porque ultimante ninguém lê, já quer pronto, não chega sequer montar um exemplo, mesmo que este seja bem tosco.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você chegou a ler?

Chegou a ver os exemplos?

Pegunto porque ultimante ninguém lê, já quer pronto, não chega sequer montar um exemplo, mesmo que este seja bem tosco.

Sim, claro...

Tentei um exemplo, mas não chegou perto do que eu queria, só conseguir exibir um print na tela..

Assim:

Array ( [0] => descricao1[1] => descricao2[2] => 11/11/2016 [3] => 22/10/2016 )

$a1=$_POST['descricao'];
$a2=$_POST['data'];
print_r(array_merge($a1,$a2));

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nem vai precisar desta função, crie um array multidimensional percorrendo o array com foreach, use o índice $key para gerar um novo e de forma multidimensional.

Achei que pelo menos ia percorrer, agora fez diretamente, ai é f***!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nem vai precisar desta função, crie um array multidimensional percorrendo o array com foreach, use o índice $key para gerar um novo e de forma multidimensional.

Achei que pelo menos ia percorrer, agora fez diretamente, ai é f***!

WIllians, se você puder dar um exemplo para meu caso...

E se Alguem souber ajudar, me pareceu simples, mas não tinha feito isso ainda por isso postei a dúvida aqui...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alguem sabe como receber mais $_POST['data'], $_POST['valor], $_POST['valorTotal'] nesse array e salvar no mysql?


<?php
foreach($_POST["descricao"] as $produto) {
echo "INSERT INTO produtos (produtos) VALUES (".$produto.")";
}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segue a lógica

$array = array();

foreach ($_POST['descricao'] as $key => $v) {
	$array[$key][] = $v;
}

foreach ($_POST['data'] as $key => $v) {
	$array[$key][] = $v;
}

foreach ($_POST['valor'] as $key => $v) {
	$array[$key][] = $v;
}

foreach ( $_POST['valorTotal'] as $key => $v) {
	$array[$key][] = $v;
}

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segue a lógica

$array = array();

foreach ($_POST['descricao'] as $key => $v) {
	$array[$key][] = $v;
}

foreach ($_POST['data'] as $key => $v) {
	$array[$key][] = $v;
}

foreach ($_POST['valor'] as $key => $v) {
	$array[$key][] = $v;
}

foreach ( $_POST['valorTotal'] as $key => $v) {
	$array[$key][] = $v;
}

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

Willians, muito boa a dica... agora eu preciso separar os arrays e salvar numa tabela no mysql cada linha... devo usar um implode para separar os dados a inserir? Valeu desde já por sua ajuda, com ela agora estou no caminho certo....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poste o Array Gerado.

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

O resultado do print_r($array) fica assim:

Array
(
    [0] => Array
        (
            [0] => Descricao1
            [1] => 11/11/20111
            [2] => 2
            [3] => 22,22
            [4] => 44,44
        )

    [1] => Array
        (
            [0] => Descricao2
            [1] => 15/10/2016
            [2] => 3
            [3] => 33,33
            [4] => 99,99
        )

)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use o foreach para percorrer array

Monte as linhas pelos os índices

foreach( $array as $value){

        echo $value[0] . " - ";
        echo $value[1] . " - ";
        echo $value[2] . " - ";
        echo $value[3] . " - ";
        echo "<hr>"; 

}

O restante é com você pois senão estarei fazendo o seu trabalho!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use o foreach para percorrer array

Monte as linhas pelos os índices

foreach( $array as $value){

        echo $value[0] . " - ";
        echo $value[1] . " - ";
        echo $value[2] . " - ";
        echo $value[3] . " - ";
        echo "<hr>"; 

}

O restante é com você pois senão estarei fazendo o seu trabalho!

Valeu willian, concerteza.. valeuuu mesmo pela ajuda...estou trabalhando nisso..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use o foreach para percorrer array

Monte as linhas pelos os índices

foreach( $array as $value){

        echo $value[0] . " - ";
        echo $value[1] . " - ";
        echo $value[2] . " - ";
        echo $value[3] . " - ";
        echo "<hr>"; 

}

O restante é com você pois senão estarei fazendo o seu trabalho!

Gostaria de agradece-lo, com sua ajuda, cheguei no que eu queria,muito obrigado!

Segue como ficou o INSERT, para quem tiver a mesma dúvida...

Fiz Assim...

foreach( $array as $value){
INSERT INTO `table` ( `descricao`, `data`,`quantidade`,`valorUnitario`,`valorTotal` ) VALUES (".$value[0].",".$value[1].",".$value[2].",".$value[3].");
}

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.