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

Array Em String


Adicto TR

Pergunta

pessoal o meu problema é o seguinte...

tenho um form com uma seqüência de checkbox e eu quero jogar os valores de todos dentro de um único campo do banco de dados.

ex:

[ ] açúcar

[ ] carne

[ ] feijão

o resultado dentro do campo produtos no banco de dados seria :

açúcar, carne, feijão

alguém tem alguma idéia?

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Basta você pegar os valores do checkboxes (se estiverem 'checados') e colocar direto no BD... assumindo que os checks tenham o nome 1, 2 e 3, basta você juntar eles...

$x = $_POST['1'].",".$_POST['2'].",".$_POST['3'];

dai no INSERT INTO você manda o $x... só que é bom você colocar uma rotina para ver quais checks foram usados, para não ir valor em branco para o BD...

Link para o comentário
Compartilhar em outros sites

  • 0

ESerra

legal, solução bem simples.... está feita...

mas e se invés de 4 itens em um conjunto e 9 no outro eu tivesse um form enorme com uns 30 checks?

estou tentando entender como funciona uma array.

recuperar os dados e imprimir em tela eu consegui.

li em um pos sobre usar array.join que faria a transformação do array em string, mas só cabeçada e nada de positivo no resultado.

Link para o comentário
Compartilhar em outros sites

  • 0

Veja um exemplo simples:

$check = array();
$check[] = "açucar";
$check[] = "arroz";
$check[] = "feijão";
$check[] = "batata";

$string = "";
for ($c = 0; $c < count ($check); $c++)
{
    $string .= $check[$c] . (($c == (count ($check) - 1)) ?  "" : ", ");
}
echo $string;
Independentemente de quantos checks houver, dê a eles o mesmo nome, incluindo "[]" no fnal:
<input type="checkbox" name="nome[]" value="feijao" />
<input type="checkbox" name="nome[]" value="arroz" />
Pegua os valores:
$check = isset ($_POST['nome']) ? $_POST['nome'] : array();

E aplique o for como mostrei.

;)

[]'s

Link para o comentário
Compartilhar em outros sites

  • 0

Acho que seria mais vantajoso/rapido usar "implode" em vez de uma função própria :lol:

<input type="checkbox" name="produto[]" value="açúcar">
<input type="checkbox" name="produto[]" value="carne">
<input type="checkbox" name="produto[]" value="feijão">
<?php
$juntar = implode(", ", $_POST["produto"]);
echo $juntar; // O resultado é: açúcar, carne, feijão (se os 3 for setado, obvio)
?>

http://www.php.net/manual/pt_BR/function.implode.php

Editado por SK15
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,6k
×
×
  • Criar Novo...