Clube Da Programação - Fórum: Abrir Paginas Na Div=Conteudo Com Jquery - Clube Da Programação - Fórum

Ir para

  • (2 Páginas)
  • +
  • 1
  • 2
  • Novo tópico
  • Responder

Abrir Paginas Na Div=Conteudo Com Jquery

#1 Membro offline   nosden 

  • Programador Intermediário
  • Grupo: Membro
  • Posts: 111
  • Cadastrado: 15-maro 10
  • Reputação: 0
  • Sexo/Gender: Masculino
  • Linguagem/Language: PHP
Reputation: 0
Sem Avaliação

Postou 21 setembro 2010 - 10:24

Estou começando fazer alguma coisa com jquery, na real ainda ñ irei implementar no sistema q tô fazendo, mas tô com um tempo livre e quero estudar um pouco sobre ele.
Para começar estou fazendo o menu e suas chamadas, bem tô c uma função que abre todas as páginas dentro de uma div conteudo, até aí blz, no meu caso funciona assim:
No index.php tenho o <li> para chamar uma lista.php e por sua vez chamo tenho um link para chamar o cadastro.php, tô fazendo assim:
index.php
    	<script type="text/javascript" src="jquery/jquery-1.4.2.min.js"></script>
   	
		<script type="text/javascript">
			
			$(document).ready(function(){   // incial o jquery
	  				
				$.get("conteudo.php",
				{pag:"home"},
			function(conteudo){
				$(".conteudo").html(conteudo).show("slow")
			})
		//fim do conteudo (home)
		
		//inicio do conteudo (ajax)
			$("div.menu li a").click(function(){
			link=$(this).attr("href")
				$.ajax({method:"get",
					url: "conteudo.php",
					data: "pag="+link,
					beforeSend: function(){
						$("div.carregando").show()
						$(".conteudo").slideUp("slow")},
					complete: function(){
						$("div.carregando").slideUp("slow")},
					success: function(html){
						$(".conteudo").html(html).show("slow")
				
				}
				})//fim do $.ajax(
				return false
			})//fim do $("div.menu li a").click
		//fim do conteudo (ajax)
					
			})
			
		</script>

[code]

conteudo.php
[code]
<?php 

$pagina= $_GET['pag'];
?>
<?php 
if($pagina=="home"){ ?>

testes de jquery
<p align="center"><img src="../../../../Marcos/ajax1/jquery/images/logos/logo_pequeno.gif" width="127" height="43"></p>

  <?php }?>
  
  <?php 
	if($pagina=="categoria"){
		header("location:lista_categoria.php"); 
	}
  ?>
  
  <?php 
	if($pagina=="frm_categoria"){
		header("location:frm_categoria.php"); 
	}
  ?>



Nesse lista_categoria.php tenho um link q deveria direcionar para frm_categoria.php
 <td align="right"><a href="frm_categoria"><img src="imagens/inserir.gif" alt="" width="55" height="16" border="0" /></a></td>

Minha dúvida, em todas as páginas eu tereia que colocar a inicialização do JQUERY, a div=CONTEUDO e o codigo que direciona para conteudo.php ?
Se tiver uma outra forma de fazer isso com o JQUERY fico agradecido a quem me indicar.
0

#2 Membro offline   xjunior 

  • Administrador Geral

  • Grupo: Administrador
  • Posts: 305
  • Cadastrado: 03-maro 10
  • Reputação: 0
  • Sexo/Gender: Masculino
  • Cidade/CityBelo Horizonte
  • Estado/State:Minas Gerais
  • Pais/Country*::Brasil
  • Linguagem/Language: Várias
Reputation: 22
Bom

Postou 21 setembro 2010 - 11:00

Olá amigo, não tive tempo de testar, mas fiz um exemplo rapidim... dá uma olhada:

<html>
	<head>
		<title>teste de exemplo</title>
		<script type="text/javascript" src="jquery/jquery-1.4.2.min.js"></script>
		<script>
		  	$(document).ready(
				function(){
					$('.menu').click(
						$('#pagina').load($(this).attr('url'));
					);
				}				
		  	);
		</script>
	</head>
	<body>
		<ul>
			<li url="lista_categoria.php" class="menu">Menu 1</li>
			<li url="frm_categoria.php" class="menu">Menu 2</li>
			<li url="outraPagina.php" class="menu">Menu 3</li>
		</ul><br />
   	<div id="pagina"></div>
	</body>
</html>


Faça uma página separada que montará o conteúdo dinamicamente, ok?
Abrçs..
1

#3 Membro offline   nosden 

  • Programador Intermediário
  • Grupo: Membro
  • Posts: 111
  • Cadastrado: 15-maro 10
  • Reputação: 0
  • Sexo/Gender: Masculino
  • Linguagem/Language: PHP
Reputation: 0
Sem Avaliação

Postou 21 setembro 2010 - 11:55

Eu tb ñ testei, mas olhando o exemplo que vc está dando, se realmente estou entendendo, aí vc monta um lista passando url, na função vc pega o valor dessa url e abre na div pagina, tudo bem, mas minha digamos o seguinte, o primeiro item da <li> é lista_categoria.php, onde lá será mostrada todas as categorias e ao lado de cada uma terei um link para que o usuário possa alterar ou excluir e um link de inserir, dentro dessa lista, caso o usuário click no link de inserir, como farei para que a pagina inserir.php seja aberta dentro da mesma div ?

xjunior, em 21 setembro 2010 - 11:00, disse:

Olá amigo, não tive tempo de testar, mas fiz um exemplo rapidim... dá uma olhada:

<html>
	<head>
		<title>teste de exemplo</title>
		<script type="text/javascript" src="jquery/jquery-1.4.2.min.js"></script>
		<script>
	  		$(document).ready(
				function(){
					$('.menu').click(
						$('#pagina').load($(this).attr('url'));
					);
				}				
	  		);
		</script>
	</head>
	<body>
		<ul>
			<li url="lista_categoria.php" class="menu">Menu 1</li>
			<li url="frm_categoria.php" class="menu">Menu 2</li>
			<li url="outraPagina.php" class="menu">Menu 3</li>
		</ul><br />
   	<div id="pagina"></div>
	</body>
</html>


Faça uma página separada que montará o conteúdo dinamicamente, ok?
Abrçs..

0

#4 Membro offline   xjunior 

  • Administrador Geral

  • Grupo: Administrador
  • Posts: 305
  • Cadastrado: 03-maro 10
  • Reputação: 0
  • Sexo/Gender: Masculino
  • Cidade/CityBelo Horizonte
  • Estado/State:Minas Gerais
  • Pais/Country*::Brasil
  • Linguagem/Language: Várias
Reputation: 22
Bom

Postou 21 setembro 2010 - 12:25

bom amigo, simples, direcione à id que vc deseja...
1

#5 Membro offline   nosden 

  • Programador Intermediário
  • Grupo: Membro
  • Posts: 111
  • Cadastrado: 15-maro 10
  • Reputação: 0
  • Sexo/Gender: Masculino
  • Linguagem/Language: PHP
Reputation: 0
Sem Avaliação

Postou 21 setembro 2010 - 01:03

Sinceramente ñ entendi. Em lista_categoria.php tenho o link assim:
   <a href="frm_categoria.php"><img src="imagens/inserir.gif" alt="" width="55" height="16" border="0" /></a>


xjunior, em 21 setembro 2010 - 12:25, disse:

bom amigo, simples, direcione à id que vc deseja...

0

#6 Membro offline   xjunior 

  • Administrador Geral

  • Grupo: Administrador
  • Posts: 305
  • Cadastrado: 03-maro 10
  • Reputação: 0
  • Sexo/Gender: Masculino
  • Cidade/CityBelo Horizonte
  • Estado/State:Minas Gerais
  • Pais/Country*::Brasil
  • Linguagem/Language: Várias
Reputation: 22
Bom

Postou 21 setembro 2010 - 02:30

Acho que entendi sua dúvida, vc vai fazer o seguinte:

 <a url="frm_categoria.php" class="menu"><img src="imagens/inserir.gif" alt="" width="55" height="16" border="0" /></a>

1

#7 Membro offline   nosden 

  • Programador Intermediário
  • Grupo: Membro
  • Posts: 111
  • Cadastrado: 15-maro 10
  • Reputação: 0
  • Sexo/Gender: Masculino
  • Linguagem/Language: PHP
Reputation: 0
Sem Avaliação

Postou 21 setembro 2010 - 08:56

Tá, mas como indico que o frm_categoria.php tem que aparecer dentro da div conteudo, já que esta div está dentro de index.php ?
O caso é esse:
index.php chama lista_categoria.php que chama frm_categoria.php
A instrução jquery e a div conteudo estão dentro do index.php.

Então eu fiz assim:
A instrução JQUERY que está no index.php
$(document).ready(function(){   // incial o jquery
		$("a").click(function(){
					// $("a") -> seleciona todos os elementos a
					$("#conteudo").load($(this).attr("url") ); // abre a página na div conteudo
				});  	
					
		})


Cópiei também no lista_categoria.php.
A pergunta é : O que fiz é um procedimento correto ? Quanto tiver uma chamada após a outra eu terei que copiar essa instrução para todoas os arquivos .php, ou teria uma forma para que eu indique ao arquivo que a rotina está no index.php e ele fazer a busca e executar a ação ?

Vlw pela ajuda

xjunior, em 21 setembro 2010 - 02:30, disse:

Acho que entendi sua dúvida, vc vai fazer o seguinte:

 <a url="frm_categoria.php" class="menu"><img src="imagens/inserir.gif" alt="" width="55" height="16" border="0" /></a>


0

#8 Membro offline   xjunior 

  • Administrador Geral

  • Grupo: Administrador
  • Posts: 305
  • Cadastrado: 03-maro 10
  • Reputação: 0
  • Sexo/Gender: Masculino
  • Cidade/CityBelo Horizonte
  • Estado/State:Minas Gerais
  • Pais/Country*::Brasil
  • Linguagem/Language: Várias
Reputation: 22
Bom

Postou 21 setembro 2010 - 10:10

bom...
é o seguinte... quando vc requisita por ajax um conteúdo, e quer que haja interação javascript neste conteúdo, vc deve carregar a interação javascript depois de carregar a página. No jQuery, vc usa um callback depois do carregamento, com a instrução que deve ser executada após o carregamento da página por ajax, entendeu?

O seu código ficará da seguinte forma:


$(document).ready(function(){   // incial o jquery
                $("a").click(function(){
                                        // $("a") -> seleciona todos os elementos a
                                        $("#conteudo").load($(this).attr("url") ,
						function(){
							$('.menuInterno').click(
								function(){
									 $("#conteudo").load($(this).attr("url") );
								}
							);
						}
					); // abre a página na div conteudo
                                });     
                                        
                })




Este exemplo não está otimizado, ou seja, tem redundância, mas fiz assim pra vc entender, ok?
0

#9 Membro offline   nosden 

  • Programador Intermediário
  • Grupo: Membro
  • Posts: 111
  • Cadastrado: 15-maro 10
  • Reputação: 0
  • Sexo/Gender: Masculino
  • Linguagem/Language: PHP
Reputation: 0
Sem Avaliação

Postou 22 setembro 2010 - 04:30

Sinceramente ainda ñ entendi. Tô fazendo algumas pesquisas sobre esse assusnto.


xjunior, em 21 setembro 2010 - 10:10, disse:

bom...
é o seguinte... quando vc requisita por ajax um conteúdo, e quer que haja interação javascript neste conteúdo, vc deve carregar a interação javascript depois de carregar a página. No jQuery, vc usa um callback depois do carregamento, com a instrução que deve ser executada após o carregamento da página por ajax, entendeu?

O seu código ficará da seguinte forma:


$(document).ready(function(){   // incial o jquery
                $("a").click(function(){
                                        // $("a") -> seleciona todos os elementos a
                                        $("#conteudo").load($(this).attr("url") ,
						function(){
							$('.menuInterno').click(
								function(){
								     $("#conteudo").load($(this).attr("url") );
								}
							);
						}
					); // abre a página na div conteudo
                                }); 	
                                        
                })




Este exemplo não está otimizado, ou seja, tem redundância, mas fiz assim pra vc entender, ok?

0

#10 Membro offline   nosden 

  • Programador Intermediário
  • Grupo: Membro
  • Posts: 111
  • Cadastrado: 15-maro 10
  • Reputação: 0
  • Sexo/Gender: Masculino
  • Linguagem/Language: PHP
Reputation: 0
Sem Avaliação

Postou 22 setembro 2010 - 08:55

Cara, estou tentado desde cedo enteder, já li exemplos com o calback, mas eu só consigo perceber até a chamada da 1ª para 2ª página, mas da 2ª para terceira eu ñ entendi como vc está me explicando.

Como disse que cheguei na 2ª página ( no meu caso o lista_categoria.php) e coloquei a função q pega a url e abre dentro da div conteudo.
De qualquer forma, sei que existe uma forma para que eu ñ fique repetindo essa função sempre.

No ajax puro eu consigo fazer isso tranquilamente, mas também percebi q com o jquery eu tenho uma redução consideravel na quantidade de linhas do código.
0

#11 Membro offline   xjunior 

  • Administrador Geral

  • Grupo: Administrador
  • Posts: 305
  • Cadastrado: 03-maro 10
  • Reputação: 0
  • Sexo/Gender: Masculino
  • Cidade/CityBelo Horizonte
  • Estado/State:Minas Gerais
  • Pais/Country*::Brasil
  • Linguagem/Language: Várias
Reputation: 22
Bom

Postou 23 setembro 2010 - 01:03

isto mesmo, e tem sim como vc fazer sem que precise ficar repetindo a função...:-), poste o código juntamente com a requisição.. por favor, e sem requisição para a mesma página, ok?
abrçs
0

#12 Membro offline   nosden 

  • Programador Intermediário
  • Grupo: Membro
  • Posts: 111
  • Cadastrado: 15-maro 10
  • Reputação: 0
  • Sexo/Gender: Masculino
  • Linguagem/Language: PHP
Reputation: 0
Sem Avaliação

Postou 23 setembro 2010 - 09:11

index.php
<? 
	include ("conexao.php"); 
	date_default_timezone_set("Brazil/East");

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    	<title>Untitled Document</title>
    	<!-- incio de jquery -->
    	<script type="text/javascript" src="jquery/jquery-1.4.2.min.js"></script>
    	<script type="text/javascript" src="jquery/arredonda_cantos.js"></script>
    	<script type="text/javascript" src="jquery/arredonda_excanvas.js"></script>
		<script type="text/javascript">
			
			$(document).ready(function(){   // incial o jquery
				
				// inicio abrir paginas dentro da div conteudo
				$("a").click(function(){
					// $("a") -> seleciona todos os elementos a
					$("#conteudo").load($(this).attr("url")); // abre a página na div conteudo
				});
				
				// fim abrir pagina dentro da div conteudo
				
				// inicio de arredondar bordas
				$("div.container").corner("20px top");
				$("div.menu li").corner("10px");
				$("div.topo").corner("3px");
				$("div.rodape").corner("20px bottom");
				// final de arredondar bordas
				
				// inicio sub-menu vertical
				$('#Nav > li').hover(function(){
					if (obj)
					{
						obj.find('ul').fadeOut('fast');
						obj = null;
					} // if (obj)
						$(this).find('ul').fadeIn('fast');
					}, function(){
						obj = $(this);
						setTimeout(
						"checkHover()",
						400
					); // setTimeout
				}); // $('#Nav > li').hover(function()	
				
				// fim sub-menu vertical
				
				
			})
			
		</script>
    	
    	
    	<!-- final de jquery -->
    	<link href="estilos.css" rel="stylesheet" type="text/css">
    	
	<style type="text/css">
<!--
.container {
	background-color: #CAFFCA;
	border: 5px solid #090;
	margin: auto;
	padding: 10px;
	width: 780px;
}
.menu {
	margin-top: 5px;
	margin-right: 10px;
	margin-bottom: 5px;
	margin-left: -30px;
	display: block;
	height: 100px;
	width: 80px;
	float: left;
	font-size: 11px;
}

.rodape {
	background-color: #CAFFCA;
	display: block;
	width: 780px;
	margin: auto;
	border: 5px solid #090;
	padding: 10px;
}
.menu li {
	display: block;
	margin: 2px;
	float: none;
	width: 80px;
	padding-top: 3px;
	padding-right: 3px;
	padding-bottom: 3px;
	padding-left: 10px;
	color: #000;
	font-weight: bold;
	background-color: #0F9;
}
.menu a {
	font-weight: bold;
	color: #000;
	background-color: #0F9;
	display: block;
	text-decoration: none;
}
.menu a:hover {
	font-weight: bold;
	color: #FFF;
	background-color: #F00;
	display: block;
	text-decoration: none;
	width: 80px;
	margin-top: -3px;
	margin-right: -3px;
	margin-bottom: -3px;
	margin-left: -10px;
	padding-top: 3px;
	padding-right: 3px;
	padding-bottom: 3px;
	padding-left: 10px;
}
.conteudo {
	background-color: #FFFFE6;
	border: 3px solid #FFF;
	display: block;
	margin-top: 5px;
	margin-right: auto;
	margin-bottom: 5px;
	margin-left: 170px;
}
.carregando {
	background-color: #FFF;
	text-align: center;
	display: none;
	border: 2px solid #CCC;
}
.rodape {
	background-color: #FFFFE6;
	text-align: center;
	display: block;
	padding: 10px;
	width: 780px;
	margin-top: 5px;
	margin-right: auto;
	margin-bottom: 5px;
	margin-left: auto;
	border: 5px solid #090;
	color: #009;
	font-weight: bold;
}
body {
	background-color: #333;
}
.cancelar {
	clear: both;
}
-->
	</style>
	</head>
	
<body>
<div class="container">
   		  <div class="topo">
   			<table width="100%" border="0" bgcolor="#FFFFFF">
   		  	<tr>
   		    	<td width="21%"><img src="imagens/logo_telemedicina.jpg" width="153" height="64" /></td>
   		    	<td width="55%"><table width="99%" border="0">
   		      	<tr>
   		        	<td width="55%"><font size="2"><strong>Paciente:</strong></font></td>
   		        	<td colspan="3">&nbsp;</td>
   	          	</tr>
   		      	<tr>
   		        	<td><font size="2"><strong>Médico:</strong></font></td>
   		        	<td colspan="3">&nbsp;</td>
   	          	</tr>
   		      	<tr>
   		        	<td><font size="2"><strong>Convênio:</strong></font></td>
   		        	<td colspan="3">&nbsp;</td>
   	          	</tr>
   		      	<tr>
   		        	<td><font size="2"><strong>Data:
   		          	<?php 
									$dia_da_semana=array("Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado");
									$numero_dia=date("w"); // o parametro w retorna o nº do dia da semana exemplo:domingo=0 segunda=1 assim por diante.
									$dia_extenso = $dia_da_semana[$numero_dia]; // pega o $numero_dia associa ao $dia_da_semana e coloca o valor, exemplo $numero_dia=0, o valor referente em $dia_da_semana=Domingo
									echo $dia_extenso.",".date("d/m/Y"); // imprime a data colocando no nosso formato.
									?>
   		          	, Hora:<?php echo date("H:i");?></strong></font></td>
   		        	<td width="19%"><font size="2"><strong>Usuário:</strong></font></td>
   		        	<td colspan="2">&nbsp;</td>
   	          	</tr>
 		      	</table></td>
   		    	<td width="24%"><img src="imagens/tit.jpg" width="184" height="40" /></td>
   	      	</tr>
   		  	<tr>
   		    	<td colspan="3"><img src="imagens/logo_telemedicina1.gif" width="775" height="19" /></td>
   	      	</tr>
   	    	</table>
</div>
      	<div class="menu">
			<!-- Cadastros -->	
        	<ul id="Nav">
        		<li><a url="home.php">home</a></li>
            	<li><a url="lista_categoria.php">Categoria</a></li>
            	<li><a url="#">Exames</a>
           			<ul class="submenu"> 
                   	<li><a url="lista_exames.php">Laboratórial</a></li> 
                    	<li><a href="">Diag. Imagem</a></li> 
           			</ul> 
              	</li>
              	
              	<li><a url="lista_pacientes.php">Pacientes</a></li>
              	<li><a url="lista_medicos.php">Médicos</a></li>
              	<li><a url="lista_funcionarios.php">Funcionários</a></li>
              	<li><a url="lista_convenios.php">Convênios</a></li>
              	<li><a url="contato">Resultado de Exames</a></li>
       		  	<li><a url="contato">Limpar Paciênte</a></li>
            	
            	
        	</ul>
        	
   		 	<br class="cancelar" /> <!-- Essa css é para o menu respeitar o espaçamento interno -->
      	</div>
      	
<div class="carregando"><img src="imagens/carregando.gif" width="150" height="70" /></div>
      	<div class="conteudo" id="conteudo">
      	<p align="center"><img src="imagens/home.jpg" width="572" height="300" /></p>
      	</div>
</div>
<div<div class="rodape"></div>

</html>


lista_categoria.php
<?php include ("conexao.php"); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
		<title>Untitled Document</title>
   	<script type="text/javascript" src="jquery/jquery-1.4.2.min.js"></script>
    	<script type="text/javascript">
		
		$(document).ready(function(){   // incial o jquery
				$("a").click(function(){
					// $("a") -> seleciona todos os elementos a
					$("#conteudo").load($(this).attr("url") ); // abre a página na div conteudo
				});  	
					
		})
		
		</script> 
    	
		<style type="text/css">
		<!--
		-->
		</style>
		<link href="estilos.css" rel="stylesheet" type="text/css" />
		
	</head>
	<body>
		 <form action="" method="post" name="lista_categoria">
			<br /><table width="100%" border="0" cellspacing="0" cellpadding="0" align="center">
				
				<tr>
					<td><table width="95%" border="0" cellspacing="2" cellpadding="0" align="center">
                	<tr>
						<td class="cat_cat" colspan="5"><div align="center"><strong>Lista geral de Categorias </strong></div></td>
                  	</tr>
				<tr>
					<td colspan="5"><strong>Digite um nome para consultar:</strong><label>
					<input name="txt_categoria" type="text" id="txt_categoria" size="30" maxlength="40" />
					<input type="submit" name="consulta_categoria" id="consulta_categoria" value="Consultar" /> 
					</label></td>
                   [b] <td align="right"><a url="frm_categoria.php" class="menu"><img src="imagens/inserir.gif" alt="" width="55" height="16" border="0" /></a></td>[/b] // aki eu coloco o link p frm_categoria.php
                	</tr>
						<tr>
							<td width="13%" class="tarja"><strong>C&oacute;digo</strong></td>
							<td width="75%" align="center" class="tarja"><strong>Categorias</strong></td>
                        	<td class="tarja" align="center">Tipo</td>
							<td colspan="2"><div align="center" class="tarja"><strong>A&ccedil;&atilde;o</strong></div></td>
						</tr>
						<?php 
							if (isset($_POST["consulta_categoria"]))
							{
								$txt_categoria = $_POST["txt_categoria"];
								$sql = "SELECT * FROM categoria WHERE descriscao_cat LIKE '$txt_categoria%'";
							}
							else
							{
								$sql = "SELECT * FROM categoria";
							}
							$sql_select = "";
						
						
						// ******** INICIO DA PAGINAÇÃO ******
						
						// seleciona o servidor  / pagina
						$p = $_GET["p"];
						// verifico se a variavel foi declarada
						if (isset($p)){
							$p = $p;
						}else{
							$p = 1;
						}
						// quantidade de registro por pagina
						$qtde_registro_por_pagina = 40;
						// o sistema calcula o inicio da seleção calculando:
						// (pagina atual * quantidade por pagina) - quantidade por pagina
						$inicio = ($p * $qtde_registro_por_pagina) - $qtde_registro_por_pagina;
						// seleciona no banco de dados com o LIMIT indicado pelo numeros acima
						
//						$sql_select = "SELECT * FROM categoria ORDER BY descriscao_cat LIMIT $inicio, $qtde_registro_por_pagina";
						
						$sql_select.= $sql ." ORDER BY descriscao_cat LIMIT $inicio, $qtde_registro_por_pagina";
						
						// executa a query
						$sql_query = mysql_query($sql_select);
						
						// cria um while para pegar as informações no BD
						while ($linha = mysql_fetch_array($sql_query)){	
						?>
						<tr>
							<td align="center" class="meio"><font size="1"><?php echo $linha["codigo_cat"]; ?></font></td>
							<td class="meio"><font size="1"><?php echo $linha["descriscao_cat"]; ?></font></td>
                        	<td class="meio"><font size="1"><?php if ($linha["tipo"]==L) 
															  {
																  echo "LABORATORIAL";
															  } else {
																  echo "IMAGEM";
															  }
															  ?></font></td>
							<td width="6%" align="center" class="meio"><a href="index.php?link=11&amp;acao=Alterar&amp;codigo_cat=<?php echo $linha["codigo_cat"]; ?>"><img src="imagens/alterar.gif" width="16" height="16" border="0" /></a></td>
							<td width="6%" align="center" class="meio"><a href="index.php?link=11&amp;acao=Excluir&amp;codigo_cat=<?php echo $linha["codigo_cat"]; ?>"><img src="imagens/excluir.gif" width="16" height="16" border="0" /></a></td>
						</tr>
						<?php }  // fecha o while
						?>
						<tr>
							<td colspan="5" align="right" class="meio"><a href="index.php?link=11">
							  <?php 
									/* faz uma nova sele&ccedil;&atilde;o no banco de dados, desta vez sem o LIMIT, 
									   para pegarmos o n&ordm; total de registros
									*/ 
									$sql_num_total_de_registros = "SELECT * from categoria";
									// execulta o query da sele&ccedil;&atilde;o acima
									$sql_all = mysql_query($sql_num_total_de_registros);
									// Gera variaveis com o n&ordm; total de registro do banco de dados
									$total_de_registros = mysql_num_rows($sql_all);
									
									/* Gera variaveis, desta vez com o n&uacute;mero de p&aacute;ginas que ser&aacute; preciso.
									   o comando CEIL() arredonda o valor para cima 
									*/
									$num_pags = ceil($total_de_registros / $qtde_registro_por_pagina);
									// numeros m&aacute;ximos de bot&otilde;es (links) de pagina&ccedil;&atilde;o
									$max_links = 5;
									
									// exibe o primeiro link (primeira p&aacute;gina) que n&atilde;o entra na contagem acima.
									echo "<a href='index.php?pag='categoria'&amp;p=1')>Primeira</a>";
									
									// cria um for para exibir os link&acute;s antes da p&aacute;gina atual
									for ($i = $p - $max_links;	$i <= $p-1; $i++){
										/* Se o numero de paginas for menor ou igual a ZERO, &ntilde; faz nada, 
										   afinal n&atilde;o existem p&aacute;ginas 0, -1, -2...
										 */
										 if ($i <= 0){
											 /* N&atilde;o faz Nada...
										 
												Se estiver tudo OK, cria o link para outra p&aacute;gina
											 */
										 } else {
											 echo "<a href='index.php?pag='categoria'&amp;p=$i')>[$i]</a>";
										 }
									}
									// exibe a pagina atual, sem link, apenas o n&uacute;mero
									echo " ".$p." ";
									
									// cria outro FOR(), desta vez para exibir os links ap&oacute;s a p&aacute;gina atual
									for ($i = $p+1; $i <= $p+$max_links; $i++){
										// verifica se a pagina atual &eacute; maior que a ultima p&aacute;gina. Se for..
										if($i > $num_pags){
											// &ntilde; faz nada
										} else {
											echo "<a href='index.php?pag='categoria'&amp;p=$i')>[$i]</a>";
										}
									}
									// exibe o link da &uacute;ltima p&aacute;gina
									echo "<a href='index.php?pag='categoria'&amp;p=$num_pags')>Ultima</a>";
								?>
							</a></td>
						  
                    	</tr>
              	</table></td>
				</tr>
				<tr>
					<td>&nbsp;</td>
				</tr>
			</table>
        	[b]<div class="conteudo">  // aki eu repeti a div conteudo
        	</div>[/b]
		</form>
	</body>
</html>


frm_categoria.php

<?php
	include ("conexao.php");
	$codigo_cat	= $_GET["codigo_cat"];
	$acao   	= $_GET["acao"];
	
	if ($acao != "")
	{
		$sql 		 	= mysql_query("select * from categoria where codigo_cat = '$codigo_cat'") or die ("Erro 2. ".mysql_error());
		$linha  		 = mysql_fetch_array($sql);
		$desc_categoria  = $linha["descriscao_cat"];
		$tipo			 = $linha["tipo"];
	} 
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<title>Untitled Document</title>
		<script language="javascript">
			// validação dos campos
			function validaForm()
			{
				d = document.frm_categoria;
				// validar a descricao
				if (d.desc_categoria.value=="")
				{
					alert("O campo "+d.desc_categoria.name+" deve ser preenchido");
					d.desc_categoria.focus();
					return false;
				}
		   }
		</script>	
	<style type="text/css">
<!--
.cadastro {
	background-color: #FFFFE6;
	display: block;
	padding: 3px;
	height: 500px;
	width: 500px;
	margin-top: 5px;
	margin-right: auto;
	margin-bottom: 5px;
	margin-left: auto;
	border-top-style: solid;
	border-right-style: solid;
	border-bottom-style: solid;
	border-left-style: solid;
	border-top-width: 0px;
	border-right-width: 0px;
	border-left-width: 0px;
	border-bottom-width: 0px;
}
-->
	</style>
	</head>
	<body>
		<form action="" method="post" name="frm_categoria" id="" onsubmit="return validaForm()">
		  <div class="cadastro">
      	<!-- inicio -->
      	
      	<br /><table width="44%" border="1" align="center" bgcolor="#E0FFFF">
				<tr>
				</tr>
			<tr>
					<td><table width="100%" border="0" align="center">
						<tr>
							<td height="31" colspan="2" align="center"><strong>Movimentação de Categorias</strong></td>
						</tr>
						<tr>
							<td><strong>Categoria:</strong></td>
							<td><input name="categoria" type="text" id="desc_categoria" value="<?php echo $desc_categoria ;?>" size="35" />
							</td>
						</tr>
						<tr>
							<td><strong>Tipo:</strong></td>
							<td><select name="tipo" id="tipo">
								<option value="L" <?php if ($tipo == "L"){echo "selected";}?>>LABORATORIAL</option>
								<option value="D" <?php if ($tipo == "D"){echo "selected";}?>>DIAGNOSTICO POR IMAGEM</option>
							</select></td>
						</tr>
						<tr>
							<td colspan="2" align="center">
								<?php
									$acao = $acao == "" ? "Inserir" : $acao;
								?>
								<input type="hidden" name="acao" value="<?php echo $acao;?>" />
								<input type="hidden" name="codigo_cat" value="<?php echo $codigo_cat;?>" />
                            	
								<input type="submit" name="enviar" id="enviar" value="<?php echo $acao ;?>"/> 
							</td>
						</tr>
					</table></td>
				</tr>
				<tr>
				</tr>
			</table>
      	
      	<!-- fim -->
      	
			</div>
</form>

<?php 
	 
	include ("conexao.php");
			$acao			= $_POST["acao"];
			$codigo_cat  	= $_POST["codigo_cat"];
			$desc_categoria	= strtoupper($_POST["categoria"]);
			$tipo			= $_POST["tipo"];
			
				// verifica se existe algo cadastrado com a descricao da categoria
				
				$verifica = mysql_query("SELECT descriscao_cat FROM categoria WHERE descriscao_cat='$desc_categoria'");
				$linha = mysql_num_rows($verifica);

				if ($linha != 0)
				{
					echo "<script> alert('Já existe uma CATEGORIA cadastrada com essa descrição'); </script>";
					echo "<script> history.back();";
				}else{	

					$sql = mysql_query("insert into categoria (descriscao_cat, tipo) values ('$desc_categoria','$tipo')") or die ("Não foi possivel inserir os dados ".mysql_error());
	
					echo "<script> alert('CATEGORIA inserida com sucesso'); </script>";
					echo "<script> history.back();";
				}
			}

			if ($acao == "Alterar")
			{
				$sql = mysql_query("UPDATE categoria SET 
				descriscao_cat ='$desc_categoria',
				tipo			  = '$tipo'
				WHERE codigo_cat='$codigo_cat'") or die ("Não foi possivel alterar os dados. ".mysql_error());

			}
			if ($acao == "Excluir")
			{
				$sql = mysql_query("DELETE FROM categoria WHERE codigo_cat = '$codigo_cat'") or die ("Não foi possível apagar o registro.");
			 	
			}
		?>

 


</body>
</html>


0

#13 Membro offline   xjunior 

  • Administrador Geral

  • Grupo: Administrador
  • Posts: 305
  • Cadastrado: 03-maro 10
  • Reputação: 0
  • Sexo/Gender: Masculino
  • Cidade/CityBelo Horizonte
  • Estado/State:Minas Gerais
  • Pais/Country*::Brasil
  • Linguagem/Language: Várias
Reputation: 22
Bom

Postou 23 setembro 2010 - 10:28

Então amigo, no caso vc não precisará colocar este código em toda página, quando vc põe no callback, ele executa sempre depois do carregamento, entendeu?
A forma mais fácil pra vc fazer é a que te expliquei, por ter pouco código pós-execução...
0

#14 Membro offline   nosden 

  • Programador Intermediário
  • Grupo: Membro
  • Posts: 111
  • Cadastrado: 15-maro 10
  • Reputação: 0
  • Sexo/Gender: Masculino
  • Linguagem/Language: PHP
Reputation: 0
Sem Avaliação

Postou 23 setembro 2010 - 12:36

Vou pesquisar + um pouquinho sobre o como fazer isso usando o callback e ver se dessa vez entendo como fazer usando ele, eu já tinha pesquisado na net como utilizar ele na minha situação e ñ consegui entender. Me dê + um tempo p estudar e depois posto aqui se consegui ok.
Vlw.

xjunior, em 23 setembro 2010 - 10:28, disse:

Então amigo, no caso vc não precisará colocar este código em toda página, quando vc põe no callback, ele executa sempre depois do carregamento, entendeu?
A forma mais fácil pra vc fazer é a que te expliquei, por ter pouco código pós-execução...

0

#15 Membro offline   nosden 

  • Programador Intermediário
  • Grupo: Membro
  • Posts: 111
  • Cadastrado: 15-maro 10
  • Reputação: 0
  • Sexo/Gender: Masculino
  • Linguagem/Language: PHP
Reputation: 0
Sem Avaliação

Postou 28 setembro 2010 - 11:19

Demorei de responder pq estava quebrando minha cabeça antes de postar aki novamente.
Pelo que vi, o callback eu posso enviar uma função com paramentro dentro de outra função, quando a função de callback completa, o controle é passado para pagina original. Até aí tudo bem, mas na prática ñ obtive sucesso:
No index.php
          	$("a").click(function(){
					// $("a") -> seleciona todos os elementos a
					$("#conteudo").load($(this).attr("url"), 
						function(){
							$(".menuInterno").click(   //  aki inicia o "callback"
								function(){
									("#conteudo").load($(this).attr("url"))	;					
								}
							);
						}								 
					 ); // abre a página na div conteudo
				});

           	<div class="menu">
			<!-- Cadastros -->	
        	<ul id="Nav">
        		<li><a url="home.php">home</a></li>
            	<li><a url="lista_categoria.php">Categoria</a></li>
            	<li><a url="#">Exames</a>
           			<ul class="submenu"> 
                   	<li><a url="lista_exames.php">Laboratórial</a></li> 
                    	<li><a href="">Diag. Imagem</a></li> 
           			</ul> 
              	</li>
              	
              	<li><a url="lista_pacientes.php">Pacientes</a></li>
              	<li><a url="lista_medicos.php">Médicos</a></li>
              	<li><a url="lista_funcionarios.php">Funcionários</a></li>
              	<li><a url="lista_convenios.php">Convênios</a></li>
              	<li><a url="contato">Resultado de Exames</a></li>
       		  	<li><a url="contato">Limpar Paciênte</a></li>
            	
            	
        	</ul>
        	
   		 	<br class="cancelar" /> <!-- Essa css é para o menu respeitar o espaçamento interno -->
      	</div>



Em lista_categoria.php
<div id="menuInterno">
  	<td align="right"><a url="frm_categoria.php"><img src="imagens/inserir.gif" alt="" width="55" height="16" border="0" /></a></td>
</div>


Bem assim ñ está funcionando, o que está faltando ?
0

#16 Membro offline   xjunior 

  • Administrador Geral

  • Grupo: Administrador
  • Posts: 305
  • Cadastrado: 03-maro 10
  • Reputação: 0
  • Sexo/Gender: Masculino
  • Cidade/CityBelo Horizonte
  • Estado/State:Minas Gerais
  • Pais/Country*::Brasil
  • Linguagem/Language: Várias
Reputation: 22
Bom

Postou 28 setembro 2010 - 11:25

Faça o download deste mini-curso que dei de jQuery, lá possui um exercício, abra-o e veja como eh..
abrçs...

http://clovesmjunior.blogspot.com/

depois de vc entender como funciona, vou fazer o mesmo exercício com isto que vc quer, ok?
0

#17 Membro offline   nosden 

  • Programador Intermediário
  • Grupo: Membro
  • Posts: 111
  • Cadastrado: 15-maro 10
  • Reputação: 0
  • Sexo/Gender: Masculino
  • Linguagem/Language: PHP
Reputation: 0
Sem Avaliação

Postou 28 setembro 2010 - 12:24

Vou baixar, estudar e te falo.
0

#18 Membro offline   nosden 

  • Programador Intermediário
  • Grupo: Membro
  • Posts: 111
  • Cadastrado: 15-maro 10
  • Reputação: 0
  • Sexo/Gender: Masculino
  • Linguagem/Language: PHP
Reputation: 0
Sem Avaliação

Postou 28 setembro 2010 - 01:40

Tô estudando o exemplo, nele tem praticamente o que vc já tinha me ensinado, você colocou as funções jquery num arquivo separado (index.js), que possue uma funções de css para dar efeito na abertura da pagina, os conteudos das páginas que são chamadas então abrindo dentro da div id ="lado" que é passada pelo variavel url.
0

#19 Membro offline   xjunior 

  • Administrador Geral

  • Grupo: Administrador
  • Posts: 305
  • Cadastrado: 03-maro 10
  • Reputação: 0
  • Sexo/Gender: Masculino
  • Cidade/CityBelo Horizonte
  • Estado/State:Minas Gerais
  • Pais/Country*::Brasil
  • Linguagem/Language: Várias
Reputation: 22
Bom

Postou 28 setembro 2010 - 02:40

humm
agora vou fazer o seguinte, vou inserir uma alteração neste código que permite que links internos possam fazer requisição ajax tranquilamente...ok?
0

#20 Membro offline   nosden 

  • Programador Intermediário
  • Grupo: Membro
  • Posts: 111
  • Cadastrado: 15-maro 10
  • Reputação: 0
  • Sexo/Gender: Masculino
  • Linguagem/Language: PHP
Reputation: 0
Sem Avaliação

Postou 28 setembro 2010 - 02:48

Ok.

xjunior, em 28 setembro 2010 - 02:40, disse:

humm
agora vou fazer o seguinte, vou inserir uma alteração neste código que permite que links internos possam fazer requisição ajax tranquilamente...ok?

0

Compartilhar este tópico:


  • (2 Páginas)
  • +
  • 1
  • 2
  • Novo tópico
  • Responder

1 usuário(s) está(ão) lendo este tópico
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)