Jump to content


Photo

Valor Da Variavel Fica Sempre Vazio.


  • Faça o login para participar
1 reply to this topic

#1 anave

anave

    Normal

  • Usuários
  • 107 posts
  • Sexo:Masculino
  • Localidade:Salvador

Posted 16/03/2010, 10:48

Pessoal, no codigo abaixo eu utilizo 2 select, uma para selecionar todos os pacientes e outro para selecionar a categoria, guardo o valor do código de cada um deles em variaveis para que possa utilizadas. Bem o valor do codigo do paciente sempre fica vazio após eu utilizar o segundo select. Já vasculhei e ñ achei onde estou errando, agradeço de alguém puder ajudar.


<!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>

</head>

<body>
    <form id="form1" name="form1" method="post" action="">
        <table width="63%" align="center" border="1">
            <tr>
                <td colspan="3"><b><font size="2">Nome do Paciente:</font></b><Select name="codigo_pac" size="1" id="codigo_pac">
                  <option value="" selected="selected"></option>
                    <?php
						include ("conexao.php");
						$qc="select * from pacientes order by nome_pac asc";
						$rc=mysql_query($qc) or die ("Erro na Seleção do Cliente - BANCO CLIENTES. ".mysql_error());
						
						while ($lc=mysql_fetch_array($rc)){
							$codigo_pac=$lc["codigo_pac"];
							$nome_pac=$lc["nome_pac"];
							
							$codigo_pac=htmlentities($lc["codigo_pac"]);
							$nome_pac=html_entity_decode($nome_pac,ENT_QUOTES);
							
							echo "<option value='$codigo_pac'>$nome_pac</option>";
						}
                    ?>
                    <input type="submit" value="OK"/>      
                    </Select>
                    <?php 
						if (!empty($_POST["codigo_pac"])){
							$codigo_pac=$_POST["codigo_pac"];
							
							$sql_pac="select * from pacientes where codigo_pac='$codigo_pac'";
							$rs_pac=mysql_query($sql_pac) or die ("Erro na selecao do PACIENTE. ".mysql_error());
							$l_pac=mysql_fetch_array($rs_pac);
							
							$codigo_pac=$l_pac["codigo_pac"];
							$nome_pac=$l_pac["nome_pac"];
							
							echo "<b><font color=red>$codigo_pac - $nome_pac</a></font></b>";
							
						}
                    ?>
                </td>
            </tr> 
            <tr>
                <td><b><font size="2">Tipo de Categoria:</font></b><select name="codigo_cat" size="1" id="codigo_cat">
                    <option value='' selected="selected"></option>
                  
                    <?php
					    if (!empty($_POST["codigo_pac"])){
    						$cpf_pac=$_POST["codigo_pac"];
						}
						
						$sql_cat="select * from categoria order by descriscao_cat asc";
						$rs_cat=mysql_query($sql_cat) or die ("Erro ao Conectar Banco - CATEGORIA. ".mysql_error());
						
						while ($l_cat=mysql_fetch_array($rs_cat)){
							$codigo_cat=$l_cat["codigo_cat"];
							$descricao_cat=$l_cat["descriscao_cat"];
							
							$codigo_cat=htmlentities($l_cat["codigo_cat"]);
							$descricao_cat=html_entity_decode($descricao_cat,ENT_QUOTES);
							
							echo "
							<option value='$codigo_cat'>$descricao_cat</option>";
							
						}
						$data_cadastro = Date('Y/m/d');
						$data_cadastro=date('d/m/Y', strtotime($data_cadastro)); // Converto a data para nosso formato.
                    ?>
                    <input type="submit" value="OK"/>
                </select>
					<?php
                       if(!empty($_POST["codigo_pac"])){
						  $codigo_pac=$_POST["codigo_pac"]; 
					   }	 
                       if(!empty($_POST["codigo_cat"])){
						    $codigo_cat=$_POST["codigo_cat"];
							$codigo_pac=$_POST["codigo_pac"];
						
                    
                            $sql_cat2="select * from categoria where codigo_cat='$codigo_cat'";
                            $rs_cat2=mysql_query($sql_cat2) or die ("Erro na Seleção da Categoria. ".mysql_error());
                            $l_cat2=mysql_fetch_array($rs_cat2);
                            
                            $codigo_cat=$l_cat2["codigo_cat"];
                            $descricao_cat=$l_cat2["descriscao_cat"];
                            
                            echo "<td colspan='2'><b><font color=red>$codigo_cat - $descricao_cat</a></font></b></td>";
						
                    ?>
                    
                </td>
                <tr>
                    <td>
                        <b><font size="2">Data de Cadastro:</font></b><input type="text" name="data_cadastro" id="data_cadastro" value="<?php echo $data_cadastro ?>"/>
                    </td>
                    <td width="35%">
                        <b><font size="2">Data da Coleta:</font></b><input type="text" name="data_exame" id="data_exame" />
                    </td>   
                    <td width="25%">
                        <b><font size="2">Hora:</font></b><input type="text" name="hora_exame" id="hora_exame" />
                    </td>
                    
                </tr>
            </tr>
            
            <?php
            } // if(!empty($_POST["codigo_cat"])){
            ?>
        </table> 
        
    </form>
        
    <form action="./" id="formulario" method="post">
    <!--Posiciona dados da categoria na tela e lista os exames -->
        
        <table width="63%" align="center" border="1">
            <?php
			
				if (!empty($_POST['codigo_cat'])){
					$codigo_cat=$_POST['codigo_cat'];
					$codigo_pac=$_POST['codigo_pac'];
					
					$s="select * from categoria where codigo_cat='$codigo_cat'";
					$r=mysql_query($s) or die ("Erro ao acessar BANCO - CATEGORIA. ".mysql_error());
					
					while ($l3=mysql_fetch_array($r)){
            ?>
            <tr>
            </tr>
        </table>
        <table width="63%" align="center" border="1">
          <tr>
			<td width="5%"><Center><b>Código</b></td></Center>
			<td width="80%" colspan="2"><Center><b>Descrisção</b></td></Center>
    	  </tr>
            <?php
                $sql="select * from exames JOIN categoria ON (exames.codigo_cat_exa=categoria.codigo_cat) where codigo_cat_exa='$codigo_cat'";
                $rs=mysql_query($sql) or die ("Erro ao conectar banco de dados" .mysql_error());
                
                while ($l4=mysql_fetch_array($rs)){
                    $codigo_exa=$l4['codigo_exa'];
                    $descriscao_exa=$l4['descriscao_exa'];
                    
                    $vetor=array("codigo_exa"=>$codigo_exa,"descriscao_exa"=>$descriscao_exa);
                    print '<tr>';
						printf(' <td><b><font size=2>%s</b></font></td>', $vetor['codigo_exa']);
						printf(' <td><b><font size=2>%s</font></b></font></td><td align="center"> <input type="text" name="exames[%s]" id="resultado" /></td>',$vetor['descriscao_exa'],$vetor['codigo_exa']);
                    print '</tr>';
                }
				
		 
            ?>		
            <tr>
                <td colspan="3"><div align="center">
                    <label>
                        <input type="hidden" name="codigo_cat" id="codigo_cat" value="<?php echo $codigo_cat ?>">  
                        <input type="hidden" name="codigo_pac" id="codigo_pac" value="<?php echo $codigo_pac ?>">
                        <input type="hidden" name="data_cadastro" id="data_cadastro" value="<?php echo $data_cadastro ?>"/>
                        <input type="hidden" name="data_exame" id="data_exame" value="<?php echo $data_exame ?>"/>
                        <input type="hidden" name="hora_exame" id="hora_exame" value="<?php echo $hora_exame ?>" />
 
                        <input type="button" value="Enviar" onclick="Acao('inserir_resultado');">
                        <input type="button" value="Menu" onclick="Acao('index');">
                    </label>
                </div></td>
            </tr>
        </table>
        <?php
            } // while ($l3=mysql_fetch_array($r)){
            } // if (!empty($_POST['ende'])){
        ?>
    </form>

</body>
</html>


#2 Max William

Max William

    12 Horas

  • Usuários
  • 192 posts
  • Sexo:Masculino
  • Localidade:Maringá - Paraná

Posted 16/03/2010, 12:29

Cara não é por nada não... mas acho que ninguem respondeu teu topico porque ta (desculpa palavra), mas ta xxxxxx entende esse codigo, eu ja tinha dito para você em um outro topico seu, para verificar o HTML.. seu HTML ta uma zona, condições que so constroi uma parte da tabela se algo for verdadeiro, porem, se ela não for verdadeira é tabela sem fechar, tr sem fechar, ta horrivel.

Bom, depois de gastar longas 1hr tentando entender seu codigo, e ainda, tentando entende o que vc ta tentando fazer. Eu reescrevio isso.. testa ai, como eu não tenho banco e nem sei como seu banco é, fica dificil testar.

Outras observações, jamais faça uma query dentro de um while, ja imaginou os efeitos de um script ficar fazendo uma consulta a cada loop?
Verifique as variaveis, tem variaveis que vc esta declarando, mas que não recebe nenhum valor.

Outra coisa, que não entendi.. porque vc fica passando valor do post para a variavel toda hora?
Não seria mais pratico, e menos trabalhoso para você, armazenar este dados em uma variavel uma unica vez e utilizar sempre que vc precisar?

Outra coisa, eu não ousaria dizer nem de longe que o jeito correto de se verificar um valor seria do jeito q vc tava fazendo

if(!empty($_POST["codigo_pac"])){ ...
if (!empty($_POST['codigo_cat'])){ ...

Seria prudente, você verificar se existe o post do formulario.. e depois, vc tratar os dados deste formulario em questão

if(isset($_POST['nomedobotao']))

Segue a baixo minha tentativa de te ajudar.
<!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>

</head>

<body>
	<form id="form1" name="form1" method="post" action="">
		<table width="63%" align="center" border="1">
			<tr>
				<td colspan="3">
					<b><font size="2">Nome do Paciente:</font></b>

					<Select name="codigo_pac" size="1" id="codigo_pac">
						<option value="" selected="selected"></option>
						<?php
							include ("conexao.php");
							$a = mysql_query("SELECT * FROM pacientes ORDER BY nome_pac ASC") or die ("Erro na Seleção do Cliente - BANCO CLIENTES. ".mysql_error());
							while($b = mysql_fetch_array($a))
							{
								$id_paciente 	= $b["codigo_pac"];
								$nm_paciente 	= $b["nome_pac"];
								$id_paciente	= htmlentities($b["codigo_pac"]);
								$nm_paciente	= html_entity_decode($nm_paciente,ENT_QUOTES);
								echo "<option value='$codigo_pac'>$nm_paciente</option>";
							}
						?>
						<input type="submit" value="OK" name="consulta_paciente"/>
					</Select>
					
					<?php 
						if(isset($_POST['consulta_paciente']))
						{
							$cp = $_POST['codigo_pac'];
							$c = mysql_query("SELECT * FROM pacientes WHERE codigo_pac='$cp'") or die ("Erro na selecao do PACIENTE. ".mysql_error());
							$d = mysql_fetch_array($c);
							
							$codigo_paciente 	= $d['codigo_pac'];
							$nome_paciente 		= $d['nome_pac'];

							echo "<b><font color=red>$codigo_paciente - $nome_paciente</a></font></b>";
						}
                    ?>
				</td>
			</tr> 
			
			<tr>
				<td>
					<b><font size="2">Tipo de Categoria:</font></b>
					<select name="codigo_cat" size="1" id="codigo_cat">
						<option value='' selected="selected"></option>
						<?php
							$e = mysql_query("SELECT * FROM categoria ORDER BY descriscao_cat ASC") or die ("Erro ao Conectar Banco - CATEGORIA. ".mysql_error());
							while($f = mysql_fetch_array($e))
							{
								$cat_codigo = $f["codigo_cat"];
								$cat_desc 	= $f["descriscao_cat"];

								$cat_codigo = htmlentities($f["codigo_cat"]);
								$cat_desc	= html_entity_decode($cat_desc,ENT_QUOTES);

								echo "<option value='$cat_codigo'>$cat_desc</option>";
							}
						?>
						<input type="submit" value="OK" name="consulta_categoria" />
					</select>
				
					<?php
						if(isset($_POST['consulta_categoria']))
						{
							$cc = $_POST['codigo_cat'];
							$g = mysql_query("SELECT * FROM categoria WHERE codigo_cat='$cc'") or die ("Erro na Seleção da Categoria. ".mysql_error());
							$h = mysql_fetch_array($g);
							
							$codigo_categoria = $h['codigo_cat'];
							$descricao_categoria = $h['descriscao_cat'];
							
							$data_hoje = date('d/m/Y');
							
							echo "<td colspan='2'><b><font color=red>$codigo_categoria - $descricao_categoria</a></font></b></td>";
							echo "
								</td>
							</tr>
							
							<tr>
								<td>
									<input type='text' name='data_cadastro' id='data_cadastro' value='$data_hoje'/>
									<b><font size='2'>Data de Cadastro:</font></b>
								</td>
								<td width='35%'>
									<b><font size='2'>Data da Coleta:</font></b>
									<input type='text' name='data_exame' id='data_exame' />
								</td>   
								<td width='25%'>
									<b><font size='2'>Hora:</font></b>
									<input type='text' name='hora_exame' id='hora_exame' />
								</td>

							</tr>";
						}
						else
						{
							echo "
								</td>
							</tr>
							";
						}
					?>
        </table>

    </form>

	<form action="./" id="formulario" method="post">
	<!--Posiciona dados da categoria na tela e lista os exames -->
        
		<table width="63%" align="center" border="1">
		<?php
			if(isset($_POST['consulta_categoria']))
			{
				$i = mysql_query("SELECT * FROM categoria WHERE codigo_cat='$cc'") or die ("Erro ao acessar BANCO - CATEGORIA. ".mysql_error());
				while($j = mysql_fetch_array($i))
				{
					echo "
						<tr>
							<td width='5%'>
								<center><b>Código</b></center>
							</td>
							<td width='80%' colspan='2'>
								<center><b>Descrisção</b></center>
							</td>
						</tr>
					";
					
					$tira_esse_select_do_while("SELECT * FROM exames JOIN categoria ON (exames.codigo_cat_exa=categoria.codigo_cat) WHERE codigo_cat_exa='$cc'") or die ("Erro ao conectar banco de dados" .mysql_error());
					while($j=mysql_fetch_array($tira_esse_select_do_while))
					{
						$codigo_exa		=	$j['codigo_exa'];
						$descriscao_exa	=	$j['descriscao_exa'];

						$vetor=array("codigo_exa"=>$codigo_exa,"descriscao_exa"=>$descriscao_exa);
					
						print '<tr>';
						printf(' <td><b><font size=2>%s</b></font></td>', $vetor['codigo_exa']);
						printf(' <td><b><font size=2>%s</font></b></font></td><td align="center"> <input type="text" name="exames[%s]" id="resultado" /></td>',$vetor['descriscao_exa'],$vetor['codigo_exa']);
						print '</tr>';
					}
					
					echo "
						<tr>
							<td colspan='3'><div align='center'>
								<label>
									<input type='hidden' name='codigo_cat' id='codigo_cat' value='$cc'>  
									<input type='hidden' name='codigo_pac' id='codigo_pac' value='$cp'>
									<input type='hidden' name='data_cadastro' id='data_cadastro' value='$data_hojr'/>
									<input type='hidden' name='data_exame' id='data_exame' value='$data_exame'/>
									<input type='hidden' name='hora_exame' id='hora_exame' value='$hora_exame' />
			 
									<input type='button' value='Enviar' onclick='Acao('inserir_resultado');'>
									<input type='button' value='Menu' onclick='Acao('index');'>
								</label>
							</div></td>
						</tr>
					</table>
					";
				}
			}
			else
			{
				echo '</table>';
			}
        ?>
    </form>

</body>
</html>

Edição feita por: Max William, 16/03/2010, 12:35.

Se eu lhe ajudei ;) Clique para agradecer!




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq