Guest Pedro Souto Postado Novembro 29, 2007 Denunciar Share Postado Novembro 29, 2007 OláPretendo que após listar todas as perguntas que estão na base de dados recolha as respostas e as insira na base de dados.Já consigo colocar as questoes e criar as comboxes que acompanham a resposta que terão a name e id= ao número da IDQuestion.SQL das tabelasCREATE TABLE `erasmusEvaluationResult` ( `IDQuestion` int(10) unsigned NOT NULL, `IDAccount` varchar(45) NOT NULL, `result` varchar(45) NOT NULL, PRIMARY KEY (`IDQuestion`,`IDAccount`) ) CREATE TABLE `erasmusEvaluationQuestion` ( `IDQuestion` int(10) NOT NULL auto_increment, `question` varchar(255) default NULL, `typeQuestion` tinyint(1) unsigned NOT NULL, PRIMARY KEY (`IDQuestion`) ) Após submeter a form //seleciona todos as questões $qQuestion = "SELECT IDQuestion FROM erasmusEvaluationQuestion "; $rslQuestion = mysql_query($qQuestion) or die(mysql_error()); $i = 1; while($rowsQuestion = mysql_fetch_array($rslQuestion)) { $questionID[$i] = $rowsQuestion['IDquestion']; $resultquestionID[$i] = clean($_POST['.$i.']); $i++; } $n = $i; //Criar Evaluation Result query for($i=1; $i<$n; $i++) { $qryEvaluation = "INSERT INTO erasmusEvaluationResult(IDQuestion, IDAccount, result) VALUES ('$questionID[$i]','$idAccount', '$resultquestionID[$i]' );"; $result = mysql_query($qryEvaluation); }Não sei onde estou a errar. Agradeço antecipadamente. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --Diego.G.A -- Postado Novembro 29, 2007 Denunciar Share Postado Novembro 29, 2007 o primeirocampotem que ir como null pqtudefiniu ele no banco como auto_incrementtipo assim,INSERT INTO tabela VALUES ('','texto1','texto2');saco Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Pedro Souto Postado Novembro 29, 2007 Denunciar Share Postado Novembro 29, 2007 o primeirocampotem que ir como null pqtudefiniu ele no banco como auto_incrementtipo assim,INSERT INTO tabela VALUES ('','texto1','texto2');sacoNão percebi =(Veja o grupo ErasmusEvaluation, as questões lá colocadas são da base de dados.Pretendo guardar os valores das resposta 'result' na base de dados na tabela erasmusEvaluationResult.http://gnomo.fe.up.pt/~sai08/signup3.php Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Novembro 29, 2007 Denunciar Share Postado Novembro 29, 2007 Que erro está sendo apresentado afinal?Troca isso:$result = mysql_query($qryEvaluation); Por isso:$result = mysql_query($qryEvaluation) or die (mysql_error()); Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Diego.G.A Postado Novembro 30, 2007 Denunciar Share Postado Novembro 30, 2007 I foi mals é que eu não tava na minha casa eu tava em um curso ai o munitor dela era muito palhaagora eu to vendo, so que eu não entendi tua ideia esplica melhor. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Pedro Souto Postado Novembro 30, 2007 Denunciar Share Postado Novembro 30, 2007 Que erro está sendo apresentado afinal?Troca isso:$result = mysql_query($qryEvaluation); Por isso:$result = mysql_query($qryEvaluation) or die (mysql_error());Não aparece nenhum erro.Apenas escreve isto na base de dados.IDQuestion IDAccount result1 1Eu tenho por exemplo 5 questões que estão guardadas na base de dados na tabela erasmusEvaluationQuestion.Quando gero uma página coloco todas estas questões e um campo de resposta ou combobox ou textbox em que a id/nome que dou a esse campo é igual ao IDQuestion.Pretendo colocar na tabela erasmusEvaluationResult o resultIDQuestion IDAccount result1 1 22 1 olá Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Novembro 30, 2007 Denunciar Share Postado Novembro 30, 2007 A tá, ele só não está inserindo o resultado...Você tenta inserir o $resultquestionID[$i], mas antes disso passa um valor para essa variável, por:$resultquestionID[$i] = clean($_POST['.$i.']);O que clean faz? Já que ela não é função do PHP (pelo menos não consta no manual)... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Pedro Souto Postado Novembro 30, 2007 Denunciar Share Postado Novembro 30, 2007 A tá, ele só não está inserindo o resultado...Você tenta inserir o $resultquestionID[$i], mas antes disso passa um valor para essa variável, por:$resultquestionID[$i] = clean($_POST['.$i.']);O que clean faz? Já que ela não é função do PHP (pelo menos não consta no manual)...A função clean é para prevenir sql injection. Vi num tutorial, funciona correctamente noutras partes do site.Eles não insere nenhum $resultquestionID[$i] e apenas uma IDQuestion. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Diego.G.A Postado Novembro 30, 2007 Denunciar Share Postado Novembro 30, 2007 atera tua tabela, e tira o unsigned pra ver se funcionae faz assim na hora de inserir os dados//Criar Evaluation Result query for($i=1; $i<=$n; $i++) { $qryEvaluation = "INSERT INTO erasmusEvaluationResult VALUES ('".$questionID[$i]."','".$idAccount."', '".$resultquestionID[$i]."' )"; $result = mysql_query($qryEvaluation); } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Pedro Souto Postado Novembro 30, 2007 Denunciar Share Postado Novembro 30, 2007 atera tua tabela, e tira o unsigned pra ver se funcionae faz assim na hora de inserir os dados//Criar Evaluation Result query for($i=1; $i<=$n; $i++) { $qryEvaluation = "INSERT INTO erasmusEvaluationResult VALUES ('".$questionID[$i]."','".$idAccount."', '".$resultquestionID[$i]."' )"; $result = mysql_query($qryEvaluation); }Problema Resolvido. =) Uma variável estava mal definida anteriormente. em vez de IDQuestion estava IDquestion.Obrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest Pedro Souto
Olá
Pretendo que após listar todas as perguntas que estão na base de dados recolha as respostas e as insira na base de dados.
Já consigo colocar as questoes e criar as comboxes que acompanham a resposta que terão a name e id= ao número da IDQuestion.
SQL das tabelas
Após submeter a formNão sei onde estou a errar. Agradeço antecipadamente.
Link para o comentário
Compartilhar em outros sites
9 respostass a esta questão
Posts Recomendados
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.