Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

rpbiaggio

Inserir dados de duas páginas diferentes no banco mysql

Mensagens Recomendadas

rpbiaggio

Pessoa, vou tentar explicar de uma forma que todos entendam.

Eu criei uma página aonde faço o cadastro de alguns servidores. Quando passo para a próxima página, eu inseri um Jquery de abas dinâmicas, ou seja, a quantidade de abas será igual a quantidade de servidores que o cliente inseriu na página anterior.

Até aqui tudo bem.

Eu criei uma condição em Jquery que se o S.O do servidor for Linux, deve abrir uma página, se for Windows, deverá abrir outra.

Meu problema é o seguinte, eu tenho a página principal, aonde estão essas abas. Nesta página eu tenho um campo chamado id_solic, é o ID da solicitação. Quando eu clico na aba por exemplo "XPTO", ela me abre dentro de uma DIV uma outra página aonde existem alguns campos de form.

Eu preciso cadastrar na mesma tabela os campos da página principal e os campos dessa página carregada pela DIV.

Não faço ideia de como fazer isso.

Se alguém souber uma forma diferente de fazer esse tipo de coisa, por favor, me ajudem.

Estou colocando o código inteiro da minha página.

<!-- Chamando a conexão com o banco de dados -->
<?php require_once('Connections/conecta.php')?>
<?php
// A sessão precisa ser iniciada em cada página diferente
if (!isset($_SESSION)) session_start();
// Verifica se não há a variável da sessão que identifica o usuário
if (!isset($_SESSION['UsuarioID'])) {
// Destrói a sessão por segurança
session_destroy();
// Redireciona o visitante de volta pro login
header("Location: index.php"); exit;
}
?>
<?php
//verifica se existe conexão com bd, caso não tenta criar uma nova
$conexao = mysql_connect("localhost","root","123pig") //porta, usuário, senha
or die("Erro na conexão com banco de dados"); //caso não consiga conectar mostra a mensagem de erro mostrada na conexão
$select_db = mysql_select_db("fimss"); //seleciona o banco de dados
//Abaixo atribuímos os valores provenientes do formulário pelo método POST
$host_servidor = mysql_real_escape_string($_POST['host_servidor']);
$id_solic = mysql_real_escape_string($_POST['id_solic']);
$string_sql = "SELECT host_servidor FROM tb_servidores"; //String com consulta SQL da inserção
mysql_query($string_sql,$conexao); //Realiza a consulta
$resultado = mysql_query($string_sql, $conexao) or die(mysql_error());
$row_resultado = mysql_fetch_assoc($resultado);
$totalRows_resultado = mysql_num_rows($resultado);
mysql_close($conexao); //fecha conexão com banco de dados
?>
<?php
//Abrindo conexão com o banco para efetuar a query da tabela servidores
mysql_select_db($database_conecta, $conecta);
$query_menu_servidor = "SELECT `host_servidor`, so_servidor FROM `tb_servidores` WHERE (`id_solic` = '". $id_solic ."')";
$menu_servidor = mysql_query($query_menu_servidor, $conecta) or die(mysql_error());
$row_menu_servidor = mysql_fetch_assoc($menu_servidor);
$totalRows_menu_servidor = mysql_num_rows($menu_servidor);
?>
<!--FIM Conexão com o banco de dados e querys-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>.:: COTI Central de Operacoes de TI</title>
<!--Declarando o jquery-->
<script src="js/jqueryUI/external/jquery/jquery.js"></script>
<script src="js/jqueryUI/jquery-ui.js"></script>
<link href="js/jqueryUI/jquery-ui.css" rel="stylesheet">
<!--FIM Jquery-->
<!--Iniciando Estilo CSS-->
<style type="text/css">
body {
font: 70%/1.4 Verdana, Arial, Helvetica, sans-serif;
background: #666;
margin: 0;
padding: 0;
color: #000;
}
.container {
width: 1200px;
background: #FFFFFF;
margin: 0 auto;
}
.header {
background: #FFFFFF;
}
.content {
padding: 0px 0;
background: #FFFFFF;
height:1080px;
width:600px;
}
.footer {
padding: 1px 0;
background: #F3F3F3;
text-align:left
}
.fltrt {
float: right;
margin-left: 8px;
}
.fltlft {
float: left;
margin-right: 8px;
}
.clearfloat {
clear:both;
height:0;
font-size: 1px;
line-height: 0px;
}
ul{
padding:0;
margin:0
}
li{
list-style:none;
}
#menu{
width:1200px;
}
#menu ul{
background:#F3F3F3;
height:20px;
position:relative;
padding:0 5px;
border:1px dotted #aaaaaa;
top:-2px;
}
#menu li{
float:left;
color:#F3F3F3;
}#menu a,#menu a:visited{
font-size:11px;
display:block;
width:20px;
color:#333;
font-weight:normal;
padding:2px 45px 10px 0;
text-decoration:none;
}
#menu a:hover{
text-decoration:none;
}
#menu li:hover > a{
font-weight:normal;
color:#FFF;
background:#1A4876;
}
#menu ul ul{
width:100px;
display:none;
position:absolute;
top:17px;
height:auto;
padding:0;
}
#menu ul ul a,#menu ul ul a:visited{
color:#333;
width:100px;
font-size:11px;
padding:0px 0px;
}
#menu ul ul li{
clear:both;
background:#FFFFFF;
width:100px;
}
#menu ul ul li:hover > a{
clear:both;
background:#F3F3F3;
}
#menu li ul {
z-index: 1;
}
#tabs {
width:1190px;
height:960px;
margin-top:-30px;
margin-left:2px;
border:dash;
}
.critical{
background: #FFC9C9;
}.warning{
background: #FFFFA3;
}
<!--FIM Estilo CSS-->
</style>
</head>
<body>
<!--DIV Container-->
<div class="container">
<!--DIV Header-->
<div class="header"><a href="#"><img src="images/header.jpg" alt="logo_net" name="logo_net" width="1200" height="29" id="logo_net" style="background: #C6D580; display:block;" /></a>
<div id="botao_sair"><div style="position: absolute; margin-left:80px; margin-top: -24px; width:57px; height: 20px; left: 1155px; top: 29px;">
<form name="botao_sair" method="post" action="http://localhost/sm/index.php">
<input type="submit" name="botao_sair" id="botao_sair_2" value="Sair">
</form>
    </div>
</div>
<!--DIV Menu CSS-->
<div id="menu">
<ul>
<li>
<a id="fimss" style="width:0px; height:5px;" href="">Fimss</a>
<ul>
<li>
<a id="novo_fimss" title="Criar um novo FIMSS" href="http://localhost/sm/dados_iniciais.php">Novo Fimss</a>
</li>
<li>
<a href="">Pesquisar Fimss</a>
</li>
<li>
<a href="">Excluir Fimss</a>
</li>
</ul>
</li>
<li>
<a id="monitor" style="width:7px; height:5px;" href="">Monitor</a>
<ul>
<li>
<a href="">Incluir Monitor</a>
</li>
<li>
<a href="">Alterar Monitor</a>
</li>
<li>
<a href="">Excluir Monitor</a>
</li>
</ul>
</li>
<li>
<a style="width:21px; height:5px;" id="requisitos" href="">Requisitos</a>
<ul>
<li>
<a href="">Banco de Dados</a>
</li>
<li>
<a href="">Unix</a>
</li>
<li>
<a href="">Windows</a>
</li>
<li>
<a href="">SOA</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
<br>
<br>
<!--Inicio conteudo da DIV Content-->
<div class="content">
<!--Inicio conteudo da DIV tabs-->
<div id="tabs">
<ul>
<!--Inicio condição DO/WHILE para criar as ABAS Servidores-->
<?php
do {
?>
<li><a href="#tabs-<?php echo $row_menu_servidor['host_servidor']?>" so_servidor="<?php echo $row_menu_servidor['so_servidor'];?>" name="<?php echo $row_menu_servidor['so_servidor'];?>"><?php echo $row_menu_servidor['host_servidor']?></a></li>

<?php
} while ($row_menu_servidor = mysql_fetch_assoc($menu_servidor));
    $rows = mysql_num_rows($menu_servidor);
if($rows > 0) {
    mysql_data_seek($menu_servidor, 0);
    $row_menu_servidor = mysql_fetch_assoc($menu_servidor);
    }
?>
<!--Fim condição DO/WHILE para criar as ABAS Servidores-->
</ul>
<!--Inicio condição DO/WHILE para criar o conteúdo de cada uma das abas-->
<?php
do {
?>
<!--Inicio conteúdo da DIV tabs_servidor-->
<div id="tabs-<?php echo $row_menu_servidor['host_servidor']?>">
<!--Inicio conteúdo da DIV id_solic-->
<div id="id_solic">
<h4>ID Solicitação<br>
<!--Inicio conteúdo do form servidor-->
<form action="incluir_monitor_2.php" method="post" name="form1" id="form1">
    <input name="id_solic" id="id_solic" type="text" value="<?php echo $_POST['id_solic'];?>" size="5" readonly="readonly">
    <input name="host_servidor" id="host_servidor" type="text" value="<?php echo $row_menu_servidor['host_servidor'];?>" size="10" readonly="readonly">
<!--Inicio conteudo da DIV content_infra_div-->
</form>
<!--Fim conteúdo do form servidor-->
</div>
</div>
<!--Fim conteudo da DIV tabs_servidor-->
<?php
} while ($row_menu_servidor = mysql_fetch_assoc($menu_servidor));
    $rows = mysql_num_rows($menu_servidor);
if($rows > 0) {
    mysql_data_seek($menu_servidor, 0);
    $row_menu_servidor = mysql_fetch_assoc($menu_servidor);
    }
?>
<!--Fim condição DO/WHILE para criar o conteúdo de cada uma das abas-->
<!--Inicio conteúdo da DIV id_solic-->
<div id="infra">Teste
</div>
</div> <!--Fim conteudo da DIV tabs-->
</div>
<!--Fim Conteudo da DIV content-->
<div class="footer"><div style="position: absolute; width:1200px; height:50;"></div>
<div id="rodape"><b style="font-size: 8pt;">Usuário:</b> <?php echo $_SESSION['UsuarioNome'];?>
</div>
</div>
</body>
</html>
<!--Iniciando o tag scripts-->
<script>
<!--Inicio Javascript das abas-->
jQuery(document).ready(function($){
$("#tabs").tabs();
});
<!--Fim Javascript das abas-->
<!--Inicio do Javascript do menu-->
$(document).ready(function(){
$("#menu li a").mouseover(function(){
var index = $("#menu li a").index(this);
$("#menu li").eq(index).children("ul").slideDown();if($(this).siblings('ul').size() > 0){
return false;
}
});
$("#menu li").mouseleave(function(){
var index = $("#menu li").index(this);
$("#menu li").eq(index).children("ul").slideUp();
});
});$(document).ready(function(){
$('a[name=Windows]').click(function() {
$("#infra").load("teste_content.php");
});
$('a[name=Linux]').click(function() {
$("#infra").load("teste_jquery_2.php"); });
});
<!--Fim do Javascript do menu-->
<!--Finalizada a tag scripts-->
</script>
<?php
mysql_free_result($menu_servidor);
?>

Editado por thoga31
GeSHi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

como podes imaginar, não vou estar a ler linhas e linhas de código à procurar de algo muito específico.

o que te posso dizer é:

o que tu tens é somente uma página, a principal. o que tu chamas de segunda página não é mais do que conteúdo HTML que é inserido dinamicamente no DOM do documento apresentado no browser.

conclusão, toda a informação que necessitas existe no DOM, basta que a vás buscar através de javascript.

o mais simples que podes fazer, e isto porque não sei qual o método que estás a utilizar para enviar o formulário, é após o momento que o div é "carregado" com a informação pedida por ajax, copiar o valor que pretendes (id_solic) para um elemento escondido (<input type="hidden" />) do formulário que envias no final do processo


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pedro43

não era mais simples dividires essa tarefa em pequenos passos?

começa por uma página simples com apenas o formulario. quando estiver a funcionar usas jquery como o HappyHippyHippo disse.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.