Ir para conteúdo

POWERED BY:

Arquivado

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

Iznogouddf

Gravar Vários Registros De uma Vez

Recommended Posts

Olha só o que acontece, estou tentando desenvolver um site com a seguinte função:

 

Usuário, Senha, Ocorrência, Data, Hora.

 

O Usuario e Senha já estão cadastrados, eu tenho uma tabela com 15 ocorrencias distribuidas por numero, por exemplo, 1 - Bateu no Amigo, 2 - Falou o que não devia e assim vai, Data e Hora do ocorrido. Então o que acontece:

 

João que é o usuario, brigou, bateu e caiu.

 

Eu sei colocar 1 por 1 na tabela MYSql. Usando dreamweaver com PHP, isso eu faço, o que eu queria fazer e não consigo e fazer com que ele coloque as 3 ocorrencias de uma vez...

 

Seria assim

 

Usuario: 21145 (Essa é a Matricula do João)

Ocorrências: 1, 3, 5 (Criar um Checkbox que tenha esses valores)

Data: 16/02/2011

Hora: 22:21

 

Aí quando eu gravar (submeter) na a tabela cada valor da ocorrência é um registro, por isso na tabela irá aparecer

 

usuario_id --- Ocorre_id --- Data --- Hora

21145 --- 1 --- 16/02/2011 --- 22:21

21145 --- 3 --- 16/02/2011 --- 22:21

21145 --- 5 --- 16/02/2011 --- 22:21

 

Eu peço a ajuda de vocês pois tentei achar uma solução mas não consegui... Obrigado a quem atender esse pedido de ajuda... :mellow:

Compartilhar este post


Link para o post
Compartilhar em outros sites

ola amigo,

 

presumo que nao esteja utilizando nenhum framework de desenvolvimento, neste caso voce pode facilmente resolver esta questão através de um velho e salvador código selvagem...

 

primeiramente, na pagina de cadastro crie um laço de repeticao para criar os inputs com os checkboxes, de forma que fiquem semelhantes a seguinte: (repare no name dos inputs)

 

<form  method="post">
	Matricula: <input type="text" name="matricula" /><br />
	<label><input type="checkbox" name="ocorrencia[]" value="1" />Ocorrencia 1</label><br />
	<label><input type="checkbox" name="ocorrencia[]" value="2" />Ocorrencia 2</label><br />
	<label><input type="checkbox" name="ocorrencia[]" value="3" />Ocorrencia 3</label><br />
	<label><input type="checkbox" name="ocorrencia[]" value="4" />Ocorrencia 4</label><br />
	<label><input type="checkbox" name="ocorrencia[]" value="5" />Ocorrencia 5</label><br />
	<br />
	<input type="submit" />
</form>

 

isso resultará algo semelhante a: (somente os checks marcados irão aparecer no array ocorrência)

Array
(
   [matricula] => 232123
   [ocorrencia] => Array
       (
           [0] => 1
           [1] => 2
           [2] => 5
       )

)

 

Em seguida, na pagina que ira processar a requisicao (o POST em si) crie outro laço de repeticao de maneira a criar um registro para cada checkbox marcado:

 

 

//note que a conexão com o banco ja deve ter sido estabelecia neste ponto.
for($i=0; $i<count($_POST['ocorrencia']); $i++)
	{
		$sql = "INSERT INTO ocorencia (matricula_usuario, ocorrencia_id) VALUES ('{$_POST['matricula']}', '{$_POST['ocorrencia'][$i]}');";
		mysql_query($sql);
	}

 

Neste ponto, basicamente temos o sistema rodando x iterações executando o comando sql.

 

INSERT INTO ocorencia (matricula_usuario, ocorrencia_id) VALUES ('123123', '1'); 
INSERT INTO ocorencia (matricula_usuario, ocorrencia_id) VALUES ('123123', '2'); 
INSERT INTO ocorencia (matricula_usuario, ocorrencia_id) VALUES ('123123', '5'); 

 

 

Amigo, espero ter ajudado a quem precise.. outra coisa, este fragmento de código me faz pensar que talvez sua modelagem não esteja devidamente normalizada, mas isso é outra conversa..

 

 

abraços.

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.