Olá pessoas, sou novo no forum e em php/postgre também. Meu problema é achar uma solução para o meu problema, que seria algo proximo a esse tópico : showtopic=171864, porem não sei a melhor maneira de agir, minha primeira solução foi criar frame, porem por motivos de segurança e por praticidade, preciso trocar. Criei 3 páginas, e deve ser mostrado o resultado da busca no banco na mesma página. página 1: inserir os dados: <html>
<head>
<title>
</title>
<script language='JavaScript'>
function SomenteNumero(e){
var tecla=(window.event)?event.keyCode:e.which;
if((tecla>47 && tecla<58)) return true;
else{
if (tecla==8 || tecla==0) return true;
else return false;
}
}
</script>
<form method="post" name="form2" target="_self" id="form2" action="[b]insert-postgres-instituicao.php[/b]" name="instituicao">
<div id="conteudo" float:left="">
<table style="text-align: left; width: 959px; height: 105px;" border="0" cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top; width: 163px;">Sigla<br>
</td>
<td style="vertical-align: top; width: 776px;"><input value="" size="10" name="sigla" type="text">
</td>
</tr>
<tr>
<td style="vertical-align: top; width: 163px;">Nome:</td><td style="vertical-align: top; width: 776px;"><input value="" size="50" name="nome" type="text">
</td>
</tr>
<tr>
<td style="vertical-align: top; width: 163px;">CNPJ:<br>
</td>
<td style="vertical-align: top; width: 776px;"> <input value="" maxlength="14" size="15" name="cnpj" type="text" onkeypress='return SomenteNumero(event)'></td>
</tr>
<tr>
<td style="vertical-align: top;">Fone:<br>
</td>
<td style="vertical-align: top;"><input value="" maxlength="8" size="9" name="fone" type="text" onkeypress='return SomenteNumero(event)'></td>
</tr>
<tr>
<td style="vertical-align: top;">Fax:<br>
</td>
<td style="vertical-align: top;"><input value="" maxlength="8" size="9" name="fax" type="text" onkeypress='return SomenteNumero(event)'></td>
</tr>
<tr>
<td style="vertical-align: top;">Site:<br>
</td>
<td style="vertical-align: top;"><input value="" size="30" name="site" type="text"></td>
</tr>
<tr>
<td style="vertical-align: top;">E-mail:<br>
</td>
<td style="vertical-align: top;"><input value="" size="30" name="email" type="text"></td>
</tr>
<tr>
<td style="vertical-align: top;">Endereço:<br>
</td>
<td style="vertical-align: top;"><input value="" size="40" name="endereco" type="text"></td>
</tr>
<tr>
<td style="vertical-align: top;">Cidade:<br>
</td>
<td style="vertical-align: top;"><input size="30" name="cidade"></td>
</tr>
<tr>
<td style="vertical-align: top;">Estado:<br>
</td>
<td style="vertical-align: top;">
<select name="estado">
<option value="0">Selecione o Estado</option>
<option value="ac">Acre</option>
<option value="al">Alagoas</option>
<option value="ap">Amapá</option>
<option value="am">Amazonas</option>
<option value="ba">Bahia</option>
<option value="ce">Ceará</option>
<option value="df">Distrito Federal</option>
<option value="es">Espirito Santo</option>
<option value="go">Goiás</option>
<option value="ma">Maranhão</option>
<option value="ms">Mato Grosso do Sul</option>
<option value="mt">Mato Grosso</option>
<option value="mg">Minas Gerais</option>
<option value="pa">Pará</option>
<option value="pb">Paraíba</option>
<option value="pr">Paraná</option>
<option value="pe">Pernambuco</option>
<option value="pi">Piauí</option>
<option value="rj">Rio de Janeiro</option>
<option value="rn">Rio Grande do Norte</option>
<option value="rs">Rio Grande do Sul</option>
<option value="ro">Rondônia</option>
<option value="rr">Roraima</option>
<option value="sc">Santa Catarina</option>
<option value="sp">São Paulo</option>
<option value="se">Sergipe</option>
<option value="to">Tocantins</option>
</select></td>
</tr>
<tr>
<td style="vertical-align: top;">CEP:<br>
</td>
<td style="vertical-align: top;"><input value="" maxlength="8" size="8" name="cep" type="text" onkeypress='return SomenteNumero(event)'></td>
</tr>
<tr>
<td style="vertical-align: top;">Descrição:<br>
</td>
<td style="vertical-align: top;"><input value="" size="30" name="descricao" type="text"></td>
</tr>
<tr>
<td style="vertical-align: top;"><br>
</td>
<td style="vertical-align: top; text-align: right; height: 70px; width: 70px;"> <input name="submit2" value="Enviar" type="submit">
</td>
</tr>
</tbody>
</table>
</div>
</body></html>
página 2: pegando os valores e enviando ao postgre:
<?php
$conexao=pg_connect("host= ---.---.---.--- dbname=bd_projetos user=---------- password=---------- port= ----");
if (!$conexao){
echo "Falha na conexão com o banco".pg_past_error ($conexao);
}
$nome=$_POST["nome"];
$estado=$_POST["estado"];
$cidade=$_POST["cidade"];
$endereco=$_POST["endereco"];
$fone=$_POST["fone"];
$fax=$_POST["fax"];
$email=$_POST["email"];
$sigla=$_POST["sigla"];
$cep=$_POST["cep"];
$cnpj=$_POST["cnpj"];
$site=$_POST["site"];
$descricao=$_POST["descricao"];
if (empty($nome)) {
echo "<script>alert('Por favor, preencha o Nome da Empresa Ex: Embrapa Agroenergia');history.back();</script>";
}
if (empty($fone)) {
echo "<script>alert('Por favor, preencha o Telefone. Ex: 1133334444');history.back();</script>";
exit;
}
if (empty($site)) {
echo "<script>alert('Por favor, preencha o Site. Ex: www.embrapa.com.br');history.back();</script>";
exit;
}
if (empty($endereco)) {
echo "<script>alert('Por favor, preencha o Endereço. Ex: AVENIDA BERNARDINO DE CAMPOS, 705');history.back();</script>";
exit;
}
if (empty($cidade)) {
echo "<script>alert('Por favor, preencha da Cidade. Ex: São Paulo');history.back();</script>";
exit;
}
if (empty($estado)) {
echo "<script>alert('Por favor, escolha o Estado.');history.back();</script>";
exit;
}
$strconsulta=pg_query($conexao,"select * from instituicao where nome='$nome'");
$numregs=pg_num_rows($strconsulta);
if ($numregs>0){
echo "<script>alert('já tem " .$numregs." registro nesse código');history.back();</script><p>";
}
if ($numregs==0){
$strconsulta2=pg_query($conexao, "insert into instituicao (nome, estado, cidade, endereco, fone, fax, email, sigla, cep, cnpj, site, descricao)
values('$nome','$estado','$cidade','$endereco','$fone','$fax','$email','$sigla','$cep','$cnpj','$site','$descricao')");
echo "Registrado<p>Registar novo?<br>";
usleep(20000000);
echo "<input type='button' formtarget='principal' value='Voltar' onClick='history.go(-1)'>";
}
pg_close($conexao);
?>
página 3: Busca no Banco de dados:
<?php
$dbh = pg_connect ("host= ---.---.---.--- dbname=bd_projetos user=---------- password=---------- port= ----");
if (!$dbh) {
die("Error in connection: " . pg_last_error());
}
$sql = "SELECT * FROM instituicao";
$result = pg_query($dbh, $sql);
if (!$result) {
die("Error in SQL query: " . pg_last_error());
}
while ($row = pg_fetch_array($result)) {
echo "Id: " . $row[0] . "<br />";
echo "Sigla: " . $row[8] . "<br />";
echo "Nome: " . $row[1] . "<br />";
echo "CNPJ: " . $row[10] . "<br />";
echo "Fone: " . $row[5] . "<br />";
echo "Fax: " . $row[6] . "<br />";
echo "Site: " . $row[11] . "<br />";
echo "E-mail : " . $row[7] . "<br />";
echo "Endereço : " . $row[4] . "<br />";
echo "Cidade: " . $row[3] . "<br />";
echo "Estado: " . $row[2] . "<br />";
echo "CEP: " . $row[9] . "<br />";
echo "Descrição: " . $row[12] . "<p />";
}
echo "<input type='button' value='Atualizar' formtarget='resultado' onClick='window.location.reload( true )'> ";
pg_free_result($result);
pg_close($dbh);
?> informações talvez importantes a ideia é criar um sitema grande e complexo, por isso precisamos de facilidade ao contato com o "público newbie", e complexidade com funcionalidade. (opções com submeter e atualizar são totamente aceitaveis se ficar melhor o código) Uma recomendação seria Ajax? ou até mesmo divs, como poderia fazer? e/ou quais mais opções? Bom, espero não dar muito trabalho ai pessoal. Emílio Luiz