Ajuda em php + xml + sql Posted by kabonga - 2008/07/15 23:56



Documentos relacionados
Php Adicionar registo AJUDA Posted by k1ll3rwh4l3-2008/05/18 19:43

Inserindo e Listando registros

Criação Pagina PHP & MySQL

Bancos de Dados: impossível viver sem eles...

Carregando dados do Banco de Dados MySQL através de uma tag SELECT

Personal Home Page PHP. Prof. Luiz Claudio F. de Souza

Para o envio de s pelo PHP é necessário seguir a seguinte sintaxe:

Programação WEB II. Conhecendo o PHP. Prof: Kelly E. Medeiros Bacharel em Sistema de Informação. Módulo III

Este tutorial ensina a enviar um através de um script PHP, a partir de um interface em Flash.

Enviado dados para o PHP através de formulário

= "mail.csgnet.org" 'Servidor que vai enviar a

Programação WEB II. Formulários Em PHP. Métodos GET e POST progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

Tecnologia WEB II. Prof. Erwin Alexander Uhlmann. Introdução ao PHP. UHLMANN, Erwin Alexander. Introdução ao PHP. Instituto Siegen. Guarulhos, 2012.

Sensor de temperatura Parte 5 Cleiton Bueno Preparando o ambiente do Banco de dados Mysql

O Manual do ssc. Peter H. Grasch

Manual de Utilizador Plataforma de Estágios TIC.

Atividade JSP com Banco de Dados

LINGUAGEM DE PROGRAMAÇÃO WEB

Incorporando JavaScript em HTML

PHP e MySQL Autenticação de Usuários

NA LOJA DE CHAPÉUS. Karl Valentin. Personagens. Vendedora. Valentin ATO ÚNICO

PHP (PHP Hypertext Preprocessor)

Cálculo Remoto de Preços e Prazos de Encomendas

Prova de pré-requisito

Como escrever melhor em 5 passos simples

A Tua Frase Poderosa. Coaches Com Clientes: Carisma. Joana Areias e José Fonseca

Testando e Comparando Valores

HTML. Sessão 8 HTML. Criação de Páginas WEB. Formulários

HTML Básico Formulários. Matheus Meira

5 Dicas Testadas para Você Produzir Mais na Era da Internet

Objetivo principal: aprender como definir e chamar funções.

Agendamento de tarefas

CODE IGNITER INSTALAÇÃO & BANCO DE DADOS

Transações Seguras em Bancos de Dados (MySQL)

Boot Camp Manual de Instalação e Configuração

Tabelas vista de estrutura

A Maquina de Vendas Online É Fraude, Reclame AQUI

Consultar Dados de Conta

COMO FUNCIONA NOSSA CONSULTORIA DE MARKETING DIGITAL ESPECIALIZADA EM VENDAS ONLINE

Listando, gravando, alterando e excluindo registro do banco de dados com JSP

Informática de Gestão 1º ano / 1º semestre Ano letivo: 2014/2015. Visual Basic VBA

Calculador de preços e prazos de encomendas

Transcriça o da Entrevista

Bases de Dados 2007/2008. Aula 8

PHP INTEGRAÇÃO COM MYSQL PARTE 2

A sua empresa é uma Beta-Tester da Imoplataforma. Guia de Utilização

Tecnologias Web. Formulários HTML

UNIDADE III JAVA SERVER PAGES

Capítulo II O QUE REALMENTE QUEREMOS

Seja Muito Bem-Vindo! Mas Por Quê? MySQLi Com e Sem Orientação a Objetos

Tarefa Orientada 18 Procedimentos armazenados

Presidência da República Casa Civil Secretaria de Administração Diretoria de Gestão de Pessoas Coordenação Geral de Documentação e Informação

Aula 4 Estatística Conceitos básicos

Manual do Utilizador. Manual do Utilizador Modelo10 no sisgep. Data última versão: Versão : 1.2. Data criação:

Manual Fácil 1 DOWNLOAD E INSTALAÇÃO. 1. Como faço o download do Jimbo Mobile?

Instalando o Operations Manager 2007 Reporting

A Torre de Hanói e o Princípio da Indução Matemática

Manipulando Strings no VBA (Replace, Mid e InStr)

Presidência da República Casa Civil Secretaria de Administração Diretoria de Gestão de Pessoas Coordenação Geral de Documentação e Informação

Akropole Catequista. Todos os Ficheiros no Akropole Catequista trabalham com uma simples barra de edição, com 4 botões:

TECNOLOGIAS WEB. Unidade 2 Introdução a Construção de Páginas Estáticas. Luiz Leão luizleao@gmail.com

INQ Já alguma vez se sentiu discriminado por ser filho de pais portugueses?

Adicionando Propriedades e Funcionalidades aos Componentes Parte II

O sucesso de hoje não garante o sucesso de amanhã

JOSÉ DE SOUZA CASTRO 1

English Português. By erickalves 25 Julho, :08. Devido à política (#) de segurança. Encontrar Blogs Crie o seu blog de graça Ganhe prêmios

Instalação do Sirius sem estações. O primeiro passo é instalar o Firebird 1.5, ele se encontra no CD de instalação do Sirius na pasta Firebird.

Iniciando PHP. Agenda

GUESTBOOK UTILIZANDO INTERAÇÃO FLASH+PHP

Manual do Gestor da Informação do Sistema

Imagens Mentais Por Alexandre Afonso

Tanto na visão semanal como diária você tem a sua disposição algumas opções uteis que facilitarão seu dia a dia.

Serviço de Clientes. Gestix Enterprise. Gestix.com

Instalação/ Operacionalização

MANUAL DE UTILIZAÇÃO. EcclesiaSoft v.01

Introdução ª Parte - Acesso à Aplicação Avaliação Online... 4 I Aceder à Aplicação Inscrição Acesso à Aplicação...

INTRODUÇÃO AO DESENVOLVIMENTO WEB. PROFª. M.Sc. JULIANA H Q BENACCHIO


P S I 2. º A N O F 5 M E S T R E / D E T A L H E E P E S Q U I S A. Criar uma relação mestre-detalhe. Pesquisa de informação

Introdução. Bom, mas antes de começar, eu gostaria de me apresentar..

COMO FAZER PARA MANTER SEU CLIENTE SEMPRE ATIVO

UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática

JavaScript. Prof. Msc. Juliano Gomes Weber Notas de Aula Aula 12 1º Semestre UNIJUÍ DETEC Ciência da Computação

Mas para iniciar o uso do CRM é necessário efetuar algumas configurações em primeiro lugar.

A distribuição desse PDF é livre para outros DJs desde que seja mantido os devidos créditos ao site Digital DJs By Everton Rezende

NEWSLETTER USANDO FLASH+ASP

Catálogo Nacional de Compras Públicas. Manual de Fornecedores

E&L Protocolo, Documentos Eletrônicos e Processos Perguntas Frequentes

Técnicas de Normalização por Phaser

PERGUNTAS FREQUENTES:

Conhecendo o Decoder

Actualizaç ões e novas funcionalidades. Inoxnet. Versã o (c) EBASE Lda.

Supremo Tribunal Federal

VERTENTE GESTÃO GLOBAL DE FICHEIROS E ADC S

INFORMATIVO. Novas Regras de limites. A Datusprev sempre pensando em você... Classificados Datusprev: Anuncie aqui!

- Versão 1.0 Página 1

Presidência da República Casa Civil Secretaria de Administração Diretoria de Gestão de Pessoas Coordenação Geral de Documentação e Informação

Planejamento Financeiro e Você. Ferramentas para a Conquista de Sonhos! Semana da Estratégia Nacional de Educação Financeira

Transcrição:

Ajuda em php + xml + sql Posted by kabonga - 2008/07/15 23:56 Boas, Estou aqui com um problema com um php. Tenho de gerar um formulário, e ter a validação com mensagens do tipo: "dados inseridos com sucesso" ou "faltam dados". O problema é que ele mostra a mensagem "faltam dados" na primeira vez que acedo ao formulário! Sabem como posso fazer com que essa msg não apareça? lancar.php header ('Content-type: text/xml'); echo '<?xml version="1.0" encoding="utf-8"'; echo '<?xml-stylesheet type="text/xsl" href="lancar.xsl"'; $server = "localhost"; $server_ip = "localhost"; $user = "root"; $pass = ""; $db = "bdescola"; $cod_professor = $_POST; $cod_aluno = $_POST; $cod_disciplina = $_POST; $nota = $_POST; $data = $_POST; <Lancar> if($_request){ if ($_REQUEST and $_REQUEST and $_REQUEST and $_REQUEST and $_REQUEST) { $connection = mysql_connect($server, $user, $pass) or die ("Unable to connect!"â«â»); mysql_select_db($db) or die ("Unable to select database!"â«â»); $sql1 = "INSERT INTO lancarnotas (cod_professor,cod_aluno,cod_disciplina,nota,data) VALUES ('$cod_professor','$cod_aluno','$cod_disciplina','$nota','$data')"; $resultado1 = mysql_query($sql1) or die (mysql_error()); echo '<msg>dados enviados com Sucesso!</msg>'; echo "<cod_professor></cod_professor>"; echo "<cod_disciplina></cod_disciplina>"; echo "<cod_aluno></cod_aluno>"; echo "<nota></nota>"; echo "<data></data>"; else { echo '<erro>campos por preencher!</erro>'; echo "<cod_professor>$cod_professor</cod_professor>"; echo "<cod_disciplina>$cod_disciplina</cod_disciplina>"; echo "<cod_aluno>$cod_aluno</cod_aluno>"; echo "<nota>$nota</nota>"; echo "<data>$data</data>";

else{ echo "<cod_professor></cod_professor>"; echo "<cod_disciplina></cod_disciplina>"; echo "<cod_aluno></cod_aluno>"; echo "<nota></nota>"; echo "<data></data>"; </Lancar> lancar.xsl <?xml version="1.0" encoding="utf-8" <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform"> <xsl:include href="base.xsl"/> <xsl:template match="lancar"> <form action="lancar.php" method="post"> <xsl:apply-templates select="cod_professor"/> <xsl:apply-templates select="cod_disciplina"/> <xsl:apply-templates select="cod_aluno"/> <xsl:apply-templates select="nota"/> <xsl:apply-templates select="data"/> <input type="submit" name="botao" value="enviar"/> <xsl:apply-templates select="msg"/> <xsl:apply-templates select="erro"/> </form> <xsl:template match="cod_professor"> Codigo do Professor: <input type="text" name="cod_professor" value="{text()"/> <xsl:template match="cod_disciplina"> Codigo da Disciplina: <input type="text" name="cod_disciplina" value="{text()"/> <xsl:template match="cod_aluno"> Codigo do Aluno: <input type="text" name="cod_aluno" value="{text()"/> <xsl:template match="nota"> Nota: <input type="text" name="nota" value="{text()"/> <xsl:template match="data"> Data: <input type="text" name="data" value="{text()"/> </xsl:stylesheet> lancar.xml <?xml version="1.0" encoding="utf-8" <?xml-stylesheet type="text/xsl" href="lancar.xsl"

<Lancar> <cod_professor></cod_professor> <cod_disciplina></cod_disciplina> <cod_aluno></cod_aluno> <nota></nota> <data></data> <erro></erro> <msg></msg> </Lancar> Posted by kabonga - 2008/07/16 15:57 Já consegui resolver esse problema. Mas agora apareceu outro e não sei como fazer! Eu queria que, por exemplo, inserimos os dados todos no form e enviamos para a base de dados. Mas enganei-me na atribuição da nota: coloquei o 4 mas queria dar 3. Tornava a inserir os dados do aluno, mas colocava a nota correcta, e o php alterava a nota que já existia na base de dados. Como posso fazer isso? Posted by diogo.antunes - 2008/07/16 18:13 Boas... O ideal seria criares uma funcionalidade de update. ou seja, o professor teria acesso a uma listagem de notas lançadas. Depois um botao de acção para editar onde passas o id da tabela para ir buscar os dados. Depois fazes simplesmente um update. Se pretenderes a solução que propuseste o melhor será onde tens $sql1 = "INSERT INTO lancarnotas (cod_professor,cod_aluno,cod_disciplina,nota,data) VALUES ('$cod_professor','$cod_aluno','$cod_disciplina','$nota','$data')"; $resultado1 = mysql_query($sql1) or die (mysql_error()); fazes $sql_check = "select count(*) as count from lancarnotas where cod_professor='$cod_professor' and cod_aluno='$cod_aluno' and cod_disciplina='$cod_disciplina' and data='$data'"; $resultado_check = mysql_query($sql_check) or die (mysql_error()); $res=mysql_fetch_object($resultado_check); if($res->count > 0){ $sql1 = "update lancarnotas set nota='$nota' where cod_professor='$cod_professor' and cod_aluno='$cod_aluno' and cod_disciplina='$cod_disciplina' and data='$data'"; else { $sql1 = "INSERT INTO lancarnotas (cod_professor,cod_aluno,cod_disciplina,nota,data) VALUES ('$cod_professor','$cod_aluno','$cod_disciplina','$nota','$data')"; $resultado1 = mysql_query($sql1) or die (mysql_error());

Espero que não tenha muitos erros que eu fiz este código aqui no post directamente. Mas a funcionalidade está lá e espero que ajude. Abraço Posted by kabonga - 2008/07/16 19:10 Obrigadão. Com umas correcções já está a funcionar! :) Ele está a actualizar a nota, mas eu quero que actualize também a data. Mas não é obrigatório que se actualizem os dois campos! Se coloco data diferente, ele cria um novo dado na base de dados. Posted by kabonga - 2008/07/16 23:49 diogo.antunes wrote: Boas... O ideal seria criares uma funcionalidade de update. ou seja, o professor teria acesso a uma listagem de notas lançadas. Depois um botao de acção para editar onde passas o id da tabela para ir buscar os dados. Depois fazes simplesmente um update. Esta ideia que referiste parece-me ser interessante. Ou seja, fazia um output onde ele me dava uma tabela com as notas de cada turma. Em frente de cada aluno teria um botão para actualizar a nota. Consegues-me fazer esse código? Dificilmente consigo fazer um código de base, mas alterar e fazer umas correcções já vou conseguindo. Desde já, o meu MUITO OBRIGADO! :) Posted by diogo.antunes - 2008/07/17 09:51 Em relação à primeira questão, basta fazeres uma pequena alteração. No $sql_check Em vez de: $sql_check = "select count(*) as count from lancarnotas where cod_professor='$cod_professor' and cod_aluno='$cod_aluno' and cod_disciplina='$cod_disciplina' and data='$data'";

colocas $sql_check = "select count(*) as count from lancarnotas where cod_professor='$cod_professor' and cod_aluno='$cod_aluno' and cod_disciplina='$cod_disciplina'"; assim ele so vai ver se ja existe aquele registo para a chave tripla: cod_professor, cod_disciplina e cod_aluno Isto pode-te trazer um problema. Eu fiz a validação da data porque se quiseres introduzir um registo para o mesmo aluno, professor e disciplina mas num semestre diferente (imaginando o caso de ele ter chumbado) ele vai te actualizar o registo anterior. Em relação à segunda questão... Infelizmente não tenho muita disponilidade e não te consigo dizer com certeza qd poderia fazer esse código. Podes avançar com a solução 1 e qd eu tiver um tempinho faria isso, mas claro depende da tua pressa. Abraço Posted by kabonga - 2008/07/17 15:20 Realmente tens razão em relação à data. Vamos manter apenas a actualizar a nota. Se não consegues a segunda parte não há problema, o trabalho é para apresentar amanhã! :blink: Mas já foste uma GRANDE ajuda!!! OBRIGADO Posted by kabonga - 2008/07/18 22:44 Só uma última coisa... No output queria fazer um formulário ou botões, onde se escolhia entre ver as notas por turma, por disciplina ou por professor. Eu tenho isto a listar todas as notas da base de dados. Se me conseguirem arranjar isso... era excelente! :) extrair.php header('content-type:text/xml'); echo '<?xml version="1.0" encoding="utf-8"'; echo '<?xml-stylesheet type="text/xsl" href="extrair.xsl"' <extrair> mysql_connect("localhost","root",""â«â»); $sql = "SELECT * FROM lancarnotas"; $resultado = mysql_db_query("bdescola",$sql); if ($resultado)

{ while ($registo=mysql_fetch_array($resultado)) { $cod_professor = $registo; $cod_aluno = $registo; $cod_disciplina = $registo; $nota = $registo; $data = $registo; <dados> <cod_professor> echo $cod_professor;</cod_professor> <cod_disciplina> echo $cod_disciplina;</cod_disciplina> <cod_aluno> echo $cod_aluno;</cod_aluno> <nota> echo $nota;</nota> <data> echo $data;</data> </dados> mysql_close(); </extrair> extrair.xml <?xml version="1.0" encoding="utf-8" <?xml-stylesheet href="extrair.xsl" type="text/xsl" <extrair> <dados> <cod_professor></cod_professor> <cod_disciplina></cod_disciplina> <cod_aluno></cod_aluno> <nota></nota> <data></data> </dados> </extrair> extrair.xsl <?xml version="1.0" encoding="utf-8" <xsl:â«â»stylesheet version="1.0" xmlns:â«â»xsl="http://www.w3.org/1999/xsl/transform"> <xsl:template match="/"> <html> <head> <title>lancamento de Notas</title> </head> <body> <table border="2"> <tr> <td>codigo do professor</td> <td>codigo da disciplina</td> <td>codigo do aluno</td> <td>nota</td> <td>data</td> </tr> <xsl:for-each select="extrair/dados"> <tr> <td><xsl:value-of select="cod_professor"/></td>

<td><xsl:value-of select="cod_disciplina"/></td> <td><xsl:value-of select="cod_aluno"/></td> <td><xsl:value-of select="nota"/></td> <td><xsl:value-of select="data"/></td> </tr> </xsl:for-each> </table> <form action="quadro_entrada.html" method="post"> <input type="submit" name="botao" value="inicio"/> </form> </body> </html> </xsl:â«â»stylesheet> Posted by diogo.antunes - 2008/07/21 15:56 Este fds não tive tempo nenhum... aqui vai uma solução possivel quando chamas o extrair.php podes fazê-lo da seguinte forma uma pagina com um form onde tens <form name="form1" method="post" action="extrair.php"> <!-- Select para escolha do tipo de filtro --> <select name="filter"> <option value="0">professor</option> <option value="0">disciplina</option> </select> <!-- input onde colocas o codigo da disciplina ou professor --> <input type="text" name="codigo" /> </form> Depois no ficheiro extrair.php onde tens $sql = "SELECT * FROM lancarnotas"; fazes if(isset($_post)){ $filter="cod_". $_POST. "='". $_POST. "'"; else{ $filter = "1"; $sql = "SELECT * FROM lancarnotas where $filter";