Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 102
Nome: Erivelton Ferreira
Descrição do site: A melhor web rádio da internet (Radio Killer)
Sexo: Masculino
Localização: Apuiarés - CE
Contato:

Array + Múltiplas query mysql

23-11-2011 21:11

Tenho uma tabela com duas Colunas. Primeira é cpf_cnpj e a segunda e g_atividades_fornecedores, e na minha página HTML (Formulário) tenho um SELECT MUTLIPLE. e o que eu quero é o seguinte. o usuário irá selecionar mais de um valor nesse select. depois se por exemplo ele escolher duas opções no select. serão executadas dois comandos sql com as opções que ele escolheu. para inserir na tabela numa linha uma opção dele e na outra linha a segunda opção dele.

Se o usuário escolher 5 opções sera inserido na tabela 5 registros em linhas separadas. isso que quero porém nao tenho muitas ideias de como fazer isso. Obrigado espero respostas :P
0
www.radiokiller.com.br
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17523
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Array + Múltiplas query mysql

23-11-2011 22:10

Tem aqui no fórum um exemplo de foreach que pega todas opções de um select multiple e exibe-as linhas por linha. Deve servir

Pegar-valores-selecionados-no-select-co ... 5_432.html
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 102
Nome: Erivelton Ferreira
Descrição do site: A melhor web rádio da internet (Radio Killer)
Sexo: Masculino
Localização: Apuiarés - CE
Contato:

Array + Múltiplas query mysql

24-11-2011 12:47

Bom essa parte ja fiz, o que me resta e que alem de extrair os valores do select. irá contara quantos tem, e a se tiver ex. 3 opções selecionadas, irá criar 3 query, e em cada uma dessas query ir com um valor vindo do select, para que na tabela seja inserida assim:
cpf_cnpj | g_atividades_fornecedores
cpf ou cnpj que será dado por uma session de um formulario anterior atividade: opção 1
cpf ou cnpj que será dado por uma session de um formulario anterior atividade: opção 2
cpf ou cnpj que será dado por uma session de um formulario anterior atividade: opção 2
e assim por diante. no lugar de inserir todas as opções vindas do select, irá inserir uma por linha da tabela de acordo com a quantidade.
0
www.radiokiller.com.br
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17523
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Array + Múltiplas query mysql

24-11-2011 12:49

No foreach

foreach($opcoes as $selecionadas) {
echo "$selecionadas<br>";
}

Cada echo será um valor do select, então ser você colocar a query ai vai executar inserindo o valor
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 102
Nome: Erivelton Ferreira
Descrição do site: A melhor web rádio da internet (Radio Killer)
Sexo: Masculino
Localização: Apuiarés - CE
Contato:

Array + Múltiplas query mysql

24-11-2011 16:28

Bom, fiz o dito. porém ainda falta uma coisinha pra sair como quero.
Eu queria que obtivesse a quantidade de opções selecionadas no select. e inserisse na tabela uma por uma
Ex. o usuário seleciona 5 opções. ai o script irá contar as 5 opções selecionadas e seguindo a quantidade irá adicionar uma query para cada opção selecionada. para que as opções não fique todas numa mesma coluna na tabela

O Código atual que estou usando é este. porém ele mesmo assim só insere o ultimo valor na tabela.
<?php if($_POST['atividades_form']){ $atividades = $_POST["atividades"]; session_start();{ $cpf_cnpj_id = $_SESSION["cpf_cnpj_s"];} foreach($atividades as $atividades_lista){ echo "Teste: $atividades_lista <br>";} $sql1 = "INSERT INTO g_atividades_fornecedores (cnpj_cpf, atividades_fornecedores) VALUES ('".$cpf_cnpj_id."', '".$atividades_lista."')" ; $query1 = mysql_query($sql1) or die (mysql_error()); if(mysql_query($sql1)) { echo "<div id='aviso_sucesso'> Atividade cadastrada com sucesso.</div>";} else{echo "<div id='aviso_erro'> Houve algum erro </div>";} }?>

OBS: esta variável de sessão uso ali por que este código e do segundo passo de um cadastro.
e la no name="" do select usei sim os colchetes []
0
www.radiokiller.com.br
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17523
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Array + Múltiplas query mysql

24-11-2011 16:38

Seu insert devia estar dentro do foreach e não fora. Como mostrado abaixo

<form action="" method="post"> <select name="opcoes[]" size="5" multiple> <option value="valor 1">valor 1</option> <option value="valor 2">valor 2</option> <option value="valor 3">valor 3</option> <option value="valor 4">valor 4</option> <option value="valor 5">valor 5</option> </select> <input type="submit" name="envia"> </form> <?php if(isset($_POST['envia'])) { $opcoes = $_POST['opcoes']; foreach($opcoes as $selecionadas) { echo "mysql_query... $selecionadas<br>"; } echo "Foram enviadas <b>".count($opcoes)."</b> opções."; } ?>

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 102
Nome: Erivelton Ferreira
Descrição do site: A melhor web rádio da internet (Radio Killer)
Sexo: Masculino
Localização: Apuiarés - CE
Contato:

Array + Múltiplas query mysql

24-11-2011 17:14

:rock:
Erro meu, fiz as alterações indicadas, e até agora me parece que está tudo a ocorrer perfeitamente bem, obrigado por me ajudar. ;)
0
www.radiokiller.com.br
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17523
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Array + Múltiplas query mysql

24-11-2011 17:27

:clap:
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado