Ir para conteúdo

POWERED BY:

Arquivado

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

pedro adnarim

enviar dados listbox para o mysql

Recommended Posts

Bom dia!

Eu tenho uma tabela matricula na minha base de dados e quero receber os dados de uma listbox que eu fiz em php, mas não sei como o fazer!

Será que alguém me poderá ajudar??

Este é o link para download da minha base de dados: http://www.4shared.com/document/wkTwyz2o/pinternet.html

Este é o meu código da listbox:

 

<?php

header("Content-Type: text/html; charset=iso-8859-1");

 

// Faz o controlo da cache.

$gmtDate = gmdate("D, d M Y H:i:s");

header("Expires: {$gmtDate} GMT");

header("Last-Modified: {$gmtDate} GMT");

header("Cache-Control: no-cache, must-revalidate");

header("Pragma: no-cache");

 

// Aqui criamos a conexão com o base de dados.

$con = mysql_connect("localhost", "root", "");

mysql_select_db("pinternet");

?>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<script language="javascript">

function list_dados(valor)

{

// Passando os dados para a página result.php através do método GET.

http.open("GET", "result.php?id=" + valor, true);

http.onreadystatechange = handleHttpResponse;

http.send(null);

}

 

function handleHttpResponse()

{

campo_select = document.forms[0].origem;

if (http.readyState == 4) {

campo_select.options.length = 0;

results = http.responseText.split(",");

for (var i = 0; i < results.length; i++) {

string = results.split("|");

campo_select.options = new Option(string[0], string[1]);

}

}

}

 

// Essa função é somente para identificar o Navegador e suporte ao XMLHttpRequest.

function getHTTPObject()

{

var req;

try {

if (window.XMLHttpRequest) {

req = new XMLHttpRequest();

if (req.readyState == null) {

req.readyState = 1;

req.addEventListener("load", function() {

req.readyState = 4;

if (typeof req.onReadyStateChange == "function") {

req.onReadyStateChange();

}

}, false);

}

return req;

}

 

if (window.ActiveXObject) {

var prefixes = ["MSXML2", "Microsoft", "MSXML", "MSXML3"];

for (var i = 0; i < prefixes.length; i++) {

try {

req = new ActiveXObject(prefixes + ".XmlHttp");

return req;

} catch (ex) {};

}

}

} catch (ex) {}

 

alert("XmlHttp Objects not supported by client browser");

}

var http = getHTTPObject();

// Logo após fazer a verificação, é chamada a função e passada

// o valor à variável global http.

 

function mover(ListOrigem,ListDestino)

{

var i;

for (i = 0; i < ListOrigem.options.length ; i++)

{

if (ListOrigem.options.selected == true)

{

var Op = document.createElement("OPTION");

Op.text = ListOrigem.options.text;

Op.value = ListOrigem.options.value;

ListDestino.options.add(Op);

// ListOrigem.options.remove(i);//

ListOrigem.options=null;

i--;

}

}

}

 

 

</script>

</head>

<body>

<form name="formulario" method="post" action="">

<p>

<select name="categoria" onChange="javascript:list_dados(this.value);">

<option></option>

<?php

/* SQL que procura os artigos do base de dados e monta o select */

$consulta = mysql_query("SELECT * FROM curso ORDER BY nomecurso ASC");

while ($row = mysql_fetch_assoc($consulta)) {

echo "<option value=\"{$row['idcurso']}\">{$row['nomecurso']}</option>\n";

}

?>

</select>

<TABLE>

</p>

<p>  </p>

<TR>

<TD> <p>

<select size="5" name="origem" id="origem">

</select>

<input name="adicionar" type="button" value=">>" onClick="javascript:mover(document.forms[0].origem,document.forms[0].destino);" />

<input name="remover" type="button" value="<<" onClick="javascript:mover(document.forms[0].destino,document.forms[0].origem);"/>

<select size="5" name="destino" id="destino">

</select>

</p>

<p> </p>

<p>

<input type="submit" name="button" id="button" value="Terminar">

</p></TD>

<TD> </TD>

<TD>

</form>

</body>

</html>

 

 

 

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado, pela dica! Mas ainda fiquei sem saber se o código que foi disponibilizado, envia os dados para a base de dados!

É que eu experimentei e apenas mostra numa outra pagina os dados seleccionados na list2!

Será que me poderiam tirar essa dúvida!

Desde já obrigado e um grande abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

você ta fazendo uma tabela pra cada disciplina ou varios campos em uma tabela com a disciplina ?

 

 

Eu tenho uma tabela matricula, com os campos id_aluno e id_disciplina, e que vai guardar todas as disciplinas que estão na listbox2!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu criei este código com o nome recebe_list_exe.php. Mas quando clico em enviar não faz nada!

NOTA: o nmecanografico é o id aluno que me estava a referir anteriormente.

 

 

<?php
include ('conexao.php');
$nmecanografico=$_POST['nmecanografico'];
$iddisciplina=$_POST['iddisciplina'];
echo "<P>N Mecanografico: ".$nmecanografico."<BR>";
echo "ID Disciplina: ".$iddisciplina."</P>";
$sql="INSERT INTO usuario (nmecanografico, iddisciplina)
VALUES ('".$nmecanografico."','".
$iddisciplina."')";
$result = mysql_query($sql);
if ($result)
echo "Dados registados com sucesso!";
else
echo "Erro ao tentar registados dados no banco!";
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente assim

 

<?php
include ('conexao.php');
$nmecanografico=$_POST['nmecanografico'];
$iddisciplina=$_POST['iddisciplina'];
echo "<P>N Mecanografico: ".$nmecanografico."<BR>";
echo "ID Disciplina: ".$iddisciplina."</P>";
$sql="INSERT INTO `usuario` (`nmecanografico`, `iddisciplina`) VALUES ('".$nmecanografico."','".$iddisciplina."')";
$result = mysql_query($sql) or die(mysql_error());
if ($result){
echo "Dados registados com sucesso!";
{
else{
echo "Erro ao tentar registados dados no banco!";
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora envia mas não recebe o nmecanografico nem as disciplinas que estavam na listbox2.

Aqui está um print screen: semttuloef.png

Os 3 primeiros registos foram feitos no mysql, os 3 que estão a 0 foram aqueles que eu recebi do formulario!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Continua igual!

Aparece 2 erros no dreamweaver, que não sei se está a influenciar o resultado.

Também quando clico em enviar não me redirecciona para a página onde estão as informações que aparecem no fundo "...dados registados com sucesso", não aparecem

Print screen:

semttulovnb.png

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.