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

(Resolvido) Array


MTavares

Pergunta

Caros colegas,

Eu peguei os valores de um select do HTML " <select name="nome[]" size="10" multiple>" do qual tenho que pegar esses valores e inserir direto no banco... até aí tudo bem, se não fosse um pequeno obstáculo... quando os valores resgatados pela variável pré-definida "$_POST[]" são jogados dentro do banco, os valores caem dentro de campos diferentes, ou seja, não dentro de um campo do banco.... ex:

Após pegar os valores do campo múltiplo do select, fiz a seguinte opção:

<?php

$nome = $_POST['nome'];    
    
      for($i = 0; $i < count($nome); $i++){

                      $sql = mssql_query("INSERT INTO compromisso VALUES('nome')");
               }
....
?>

Como faria com que esses valores resgatados pelo select do HTML caísse dentro de um só campo e não em vários campos?

[]'s

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Se você quer tudo no mesmo registro, então porque está colocando a query dentro do laço? Você deve concatenar o valor e após o laço colocar a query.

Só um detalhe, do modo como você colocou também não vai funcionar, pois ali vai ser gerado um array multi-dimensional, por exemplo

$_POST['nome']['0']

$_POST['nome']['1']

Etc...

Link para o comentário
Compartilhar em outros sites

  • 0

http://www.criarweb.com/artigos/180.php

A parte específica que interessa é essa:

<?php
echo "Nome: ". $_POST["nome"];
echo "<br>Apelidos: ". $_POST["apelidos"];
echo "<br>E-mail: ". $_POST ["email"];
$cervejas=$_POST["cerveja"];

//recorremos o array de cervejas seleccionadas. Não esquecer que a primeira posição de um array é a 0
for ($i=0;$i<count($cervejas);$i++)
{
   echo "<br> Cerveja " . $i . ": " . $cervejas[$i];
}
?>
Note o for ali do final, ali está na forma correta... Só que no seu caso teria que concatenar tudo, ou seja, juntar tudo em uma variável só, ficando algo do tipo:
for ($i=0;$i<count($cervejas);$i++)
{
   $var_nova .= $cervejas[$i];//Perceba o . antes do sinal de igual
}
Você pode tentar usa um implode para juntar todos os elemenetos do array em uma única variável:
$var_nova = implode(','$_POST["cerveja"]);

Só salientando que usar um for ali é no mínimo curioso, já que o foreach poderia fazer o trabalho de forma mais eficiente (já postei o funcionamento aqui no fórum).

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,2k
    • Posts
      652,1k
×
×
  • Criar Novo...