Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

grasi

Select + BD

Recommended Posts

Ola gente! fiz um formulario super simples de consulta, tem um select de municipio, pelo que escolho ele me volta todos os dados desse municipio, montando uma simples tabela, mas não está funcionando, fica página em branco, podiam ver o que está acontecendo?

 

 

 

form_consulta.php

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<title>CONSULTA</title>

</head>

<body bgcolor="#00CCFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">

<table width="100%" border="0" cellspacing="0" cellpadding="0">

<tr>

<td width="430"><img src="index_i000000.gif" width="430" height="21"></td>

 

<td bgcolor="#FFCC00"><font color="#FFCC00">d</font></td>

<td width="74"><img src="index_i000001.gif" width="74" height="21"></td>

</tr>

</table>

<p align="center"><strong><font size="2" face="Lucida Console">Sistema de Alerta da Hanseníase</font></strong></p>

 

<table width="60%" border="0" align="center" cellpadding="0" cellspacing="0">

<tr>

<td><p> </p>

<form name="form1" method="post" action="consulta.php">

<?

$arqnome = "Novocenso.txt";

$arrText = file($arqnome);

print "<div align=\"left\"><select name=\"Municipio\" ></div>";

for ($i=0; $i < count($arrText); $i++)

{

$mReg = trim($arrText[$i]);

$mMenu = split(";",$mReg);

$Municipio = trim($mMenu[1]);

$Ibge = trim($mMenu[0]);

print "<option value=\"$Ibge\">$Municipio - $Ibge\n";

}

print "</select>";

?>

<p><input type="submit" name="Submit" value="Consultar >>"></p>

</form>

</td>

</tr>

</table>

</body>

</html>

 

 

consulta.php

 

<html>

<body>

<?

global $conexao, $res, $sql;

global $Estado, $Mes, $Municipio, $Ano, $Tc_Mb, $Tc_Pb, $Tc_Nc, $Tcd, $Pblu_Pb, $Pblu_Nc;

global $Tc_Lu, $M_Mb, $M_Pb, $M_Nc, $Tc_M, $C15_Mb, $C15_Pb, $C15_Nc, $Tc_Cr, $Cg2_Mb, $Cg2_Pb;

global $Cg2_Nc, $Tc_Nd, $C_Mb, $C_Pb, $C_Nc, $Tc_P, $Et_Mb, $Et_Pb, $Et_Nc, $Tc_Et, $Ubs_Psf;

global $Ubs_Posto, $Ubs_Centro, $Ubs_Umista, $Ubh_Psf, $Ubh_Posto, $Ubh_Centro, $Ubh_Umista;

global $Ct_Mb_Adulto, $Ct_Mb_Crianca, $Ct_Pb_Adulto, $Ct_Pb_Crianca, $P1, $P2, $P3, $P4;

global $Total_Mun, $Total_Pqt, $Total_Cart, $Mb_Total, $Pb_Total;

 

global $Host, $User, $Password, $Base, $Table, $Link, $eSql;

global $Reg, $processo, $mNome;

 

$conexao = mysql_connect ("localhost","","") or die("falha na conexão");

$bd=mysql_select_db("ProjHansen_v97") or die ("falha na conexão");

 

// monta a expressao para consulta

$eSql = "SELECT * ";

$eSql .="FROM saude ";

$eSql .="WHERE municipio LIKE '$Municipio%' ";

 

$res = mysql_query($eSql, $conexao);

?>

<table width=250 align=center cellpadding="0" cellspacing=2 bordercolor="#000000" cellpading=0>

<?

for($i = 0;$i<mysql_num_rows($res);$i++) {

if(($i % 2) == 1) $fundo="#ffffff";

else $fundo="#ffffcc";

?>

<tr>

<td width="19%" bgcolor="<? echo $fundo; ?>"><font face=Verdana size=1><? echo mysql_result($res,$i,"Estado"); ?></font></td>

<td width="34%" bgcolor="<? echo $fundo; ?>"><fontface=Verdana size=1><? echo mysql_result($res,$i,"Mes"); ?></font></td>

<td width="25%" bgcolor="<? echo $fundo; ?>"><font face=Verdana size=1>(<? echo mysql_result($res,$i,"Municipio"); ?>)</font></td>

<td width="9%" bgcolor="<? echo $fundo; ?>">><font face=Verdana size=1><? echo mysql_result($res,$i,"Ano"); ?></font></td>

<td width="13%" bgcolor="<? echo $fundo; ?>">><font face=Verdana size=1><? echo mysql_result($res,$i,"Tc_Mb"); ?></font></td>

</tr>

<?

}

?>

</table>

</body>

</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pra q esse monte de Global?!?! Não é função!!! hehehe

 

Resgata os dados com: '$_POST[]', pois estão vindo de formulário.

No lugar desse for para a listagem, você pode usar ou: 'mysql_result' ou 'mysql_fetch_array', só dar uma olhada no br.php.net, que tem td isso lá... ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

refiz conforme sua sugestão e não adiantou, fica página em branco:

 

consulta.php

 

 

<html>

<body>

<?

global $conexao, $res, $eSql, $bd, $Municipio;

global $Reg, $processo, $mNome, $i, $row;

 

$Municipio=$_POST['Municipio'];

print "Municipio - $Municipio";

$conexao = mysql_connect ("localhost","","") or die("falha na conexão");

$bd=mysql_select_db("ProjHansen_v97") or die ("falha na conexão");

 

// monta a expressao para consulta

$eSql = "SELECT * ";

$eSql .="FROM saude ";

$eSql .="WHERE municipio LIKE '$Municipio%' ";

 

$res = mysql_query($eSql, $conexao);

?>

 

<table width=100% cellpading=0 cellspacing=0 border="1">

<tr><td>Estado</td><td>Mês</td><td>Município</td><td>Ano</td><td>Tc_Mb</td><td>Tc_Pb</td></tr>

<?

//Exibe as linhas encontradas na consulta

while ($row = mysql_fetch_array($res)) {

?>

<tr>

<td> <?echo $row['Estado'];?></td>

<td> <?echo $row['Mes'];?></td>

<td> <?echo $row['Municipio'];?></td>

<td> <?echo $row['Ano']; ?></td>

<td> <?echo $row['Tc_Mb'];?></td>

<td> <?echo $row['Tc_Pb'];?></td>

</tr>

 

<?

}

?>

</table>

</body>

</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faltou uma explicação:o form_consulta.php tem apenas um select, ao selecionar o município vai para o consulta.php o qual deve montar uma tabela mostrando todos os dados referente ao municipio selecionado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.