Ajuda - Busca - Membros - Calendário
Versão Completa: problema com while banco
Fórum Script Brasil > Programação & Desenvolvimento > PHP
samirbh
Boa tarde pessoal,

é o seguinte:
tenho que fazer um cadastro e esse cadastro faz insert em duas tabelas, o processo de cadastrar é dividido em duas partes.
primeira parte ta beleza mas a segunda parte ta dando pau to fazendo +- assim:

minha 1º pagina de cadastro envia os dados para uma pagina que valida esses cadastros(insert)
ai (não foi eu quem fez essa primeira parte) na tem uma tag
<meta http-equiv="refresh" content="0; url=2º p formulario.php?id=<?php echo $NewId; ?>">

ai beleza porque a variavel $newid é resultado da função pra pegar a chave primaria do meu insert bom sabendo isso podemos afirmar que não vou para a segunda parte do cadastro.
eu ponho o resultado da chave e o nome do cara pra exibir na tela tudo normal so que nessa pagina eu tenho um while que pega o resultado de uma consulta de outra tabela desse memo banco silplesmente o while parou de funcionar(o resultado do while eu vou jogando em um option do formulario(ex: estado civil, grau de instrução e outros)).
se eu abrir essa segunda parte do cadastro ele ta funcionando beleza.

se quiserem mais detalhes é so falar...


brigado pessoal
Wanderson Camargo
Cola o código, por favor? =)
samirbh
essa pagina recebe do formulario

QUOTE

$stmt = mysqli_stmt_init($conectar);

$query = "INSERT INTO scetpsa (NOMPSA, DTANSCPSA, CODUF_NSCPSA, DSCCIDNSCPSA, LGDENDRSDPSA, NMRENDRSDPSA, CPTENDRSDPSA, CODUF_ENDRSDPSA, DSCCIDENDRSDPSA, BROENDRSDPSA, CODCEPENDRSDPSA, NMRDDDTLFRSDPSA, NMRTLFRSDPSA, EMLPSA, LGNPSA, SNHPSA, NVLPSA ) VALUES('$nompsa', '$dtanscpsa', '$coduf_nscpsa', '$dsccidnscpsa', '$lgdendrsdpsa', $nmrendrsdpsa, '$cptendrsdpsa', '$coduf_endrsdpsa', '$dsccidendrsdpsa', '$broendrsdpsa', '$cependrsdpsa', '$nmrdddtlfrsdpsa', '$nmrtlfrsdpsa', '$emlpsa', '$lgnpsa', '$snhpsa', '$nvlpsa')";

//echo $query;

if (mysqli_stmt_prepare($stmt,$query))
{
/* execute query */
mysqli_stmt_execute($stmt);

$NewId = mysqli_insert_id($conectar);

//echo "ID=".$NewId;

/* close statement */
mysqli_stmt_close($stmt);
}
else
{
echo "Erro ao inserir!";
}

/*
$result = mysqli_query($conectar, $query);

if (mysqli_error($conectar) <> 0) {
printf ("Erro!");

mysqli_free_result($result);
mysqli_close($conectar);
}
else {
printf ("Novo registro CODPSA = %d.\n", mysqli_insert_id($conectar));

mysqli_free_result($result);
mysqli_close($conectar);

Redirect to a different page in the current directory that was requested
$host = $_SERVER['HTTP_HOST'];
$uri = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');

$extra = "scefcadmataln.php?id='mysqli_insert_id($conectar)'";
header("URL= $extra");
exit;

*/
?>
<meta http-equiv="refresh" content="0; url=scefcadmataln.php?id=<?php echo $NewId; ?>">





e nessa que tenho maior duvida quanto ao while que não funciona
QUOTE
$stmt = mysqli_stmt_init($conectar);

$query = "SELECT NOMPSA FROM SCETPSA WHERE CODPSA = $CODPSA";

if (mysqli_stmt_prepare($stmt,$query))
{
mysqli_stmt_execute($stmt);

mysqli_stmt_bind_result($stmt, $NOMPSA);

$error = mysqli_stmt_fetch($stmt);

mysqli_stmt_bind_result($stmt, $NOMPSA);
mysqli_stmt_close($stmt);
}

?>

<body>
<form name="scemcadaln" action="scefvldmataln.php" method="POST" onSubmit="return fncvldfrmcadaln()" >
<div class="CSSLabel">
<p align="center" class="CSSTitulo">CADASTRO DE ALUNOS - PARTE 2</p>
<div align="center">
<table width="509" border="0">
<tr>
<td colspan="2"><p align="left">C&oacute;digo:
<input name="CODPSA" type="text" class="CSSBox" id="CODPSA" size="5" maxlength="5" value=<?php printf($CODPSA);
?> /></p>
</td>
<td width="382" colspan="2"><p align="left">Nome:
<input name="NOMPSA" type="text" class="CSSBox" id="NOMPSA" size="60" maxlength="60" value='<?php printf($NOMPSA); ?>'/></p>
</td>
</tr>
</table>
</div>
</div>

<div class="CSSLabel">
<p align="center" class="CSSTitulo">FILIA&Ccedil;&Atilde;O</p>
<div align="center">
<table width="509" border="0">
<tr>
<td colspan="2"><p align="left">Nome da m&atilde;e:
<input name="NOMMAEALN" type="text" class="CSSBox" id="NOMMAEALN" size="60" maxlength="60" /></p> </td>
</tr>
<tr>
<td width="266"><p align="left">Grau Instru&ccedil;&atilde;o:
<select name="CODGRAITCMAE"class="CSSBox" lang="pt">
<option>selecione</option>
<?php

$select1 ="select DSCGRAITC from scetgraitc";
if (mysqli_stmt_prepare($stmt, $select1))
{mysqli_stmt_execute($stmt);
mysqli_stmt_bind_result($stmt, $graitcmae);
while (mysqli_stmt_fetch($stmt))
{
?>

<option>
<?php
printf("$graitcmae");
?>
</option>
<?php
}
}

?>
</td>
<td width="233"><p align="left">CPF:
<input name="DSCPFSMAE" type="text" class="CSSBox" id="DSCPFSMAE" size="15" maxlength="15" /></p> </td>
</tr>
<tr>
<td colspan="2"><p align="left">Local de trabalho:
<input name="LOCTBLMAE" type="text" class="CSSBox" id="LOCTBLMAE3" size="30" maxlength="30" /></p> </td>
</tr>
<tr>
<td><p align="left">Telefone Comercial:
<input name="NMRDDDTLFCOMMAE" type="text" class="CSSBox" id="NMRDDDTLFCOMMAE4" size="4" maxlength="4" />
<input name="NMRTLFCOMMAE" type="text" class="CSSBox" id="NMRTLFCOMMAE" size="10" maxlength="10" /></p> </td>
<td><p align="left">Celular:
<input name="NMRDDDTLFCELMAE" type="text" class="CSSBox" id="NMRDDDTLFCELMAE" size="4" maxlength="4" />
<input name="NMRTLFCELMAE" type="text" class="CSSBox" id="NMRTLFCELMAE" size="10" maxlength="10" /></p> </td>
</tr>
<tr>
<td colspan="2"><p align="left">Nome da Pai:
<input name="NOMPAIALN" type="text" class="CSSBox" id="NOMPAIALN" size="60" maxlength="60" /></p> </td>
</tr>
<tr>
<td><p align="left">Grau Instru&ccedil;&atilde;o:
<select name="CODGRAITCPAI"class="CSSBox" lang="pt">
<option>selecione</option>
<?php
/*$stmt = mysqli_stmt_init($conectar);*/
$select2 ="select DSCGRAITC from scetgraitc";
if (mysqli_stmt_prepare($stmt, $select2))
{mysqli_stmt_execute($stmt);
mysqli_stmt_bind_result($stmt, $graitcpai);
while (mysqli_stmt_fetch($stmt))
{
?>

<option>
<?php
printf("$graitcpai");
?>
</option>
<?php
}
}

?>
</p> </td>
<td><p align="left">CPF:
<input name="DSCPFSPAI" type="text" class="CSSBox" id="DSCPFSPAI" size="15" maxlength="15" /></p> </td>
</tr>
<tr>
<td colspan="2"><p align="left">Local de trabalho:
<input name="LOCTBLPAI" type="text" class="CSSBox" id="LOCTBLPAI" size="30" maxlength="30" /></p> </td>
</tr>
<tr>
<td><p align="left">Telefone Comercial:
<input name="NMRDDDTLFCOMPAI" type="text" class="CSSBox" id="NMRDDDTLFCOMMAE2" value="(31)" size="4" maxlength="4" />
<input name="NMRTLFCOMPAI" type="text" class="CSSBox" id="NMRTLFCOMMAE3" size="10" maxlength="10" /></p> </td>
<td>Celular:
<input name="NMRDDDTLFCELPAI" type="text" class="CSSBox" id="NMRDDDTLFCELPAI" value="(31)" size="4" maxlength="4" />
<input name="NMRTLFCELPAI" type="text" class="CSSBox" id="NMRTLFCELPAI" size="10" maxlength="10" /></p> </td>
</tr>
<tr>
<td><p align="left">Estado Civil M&atilde;e:
<select name="CODSTCCIVMAE" size="1" class="CSSBox" id="CODSTCCIVMAE">
<option>selecione</option>
<?php
/*$stmt = mysqli_stmt_init($conectar);*/
$select2 ="select DSCSTCCIV from scetstcciv";
if (mysqli_stmt_prepare($stmt, $select2))
{mysqli_stmt_execute($stmt);
mysqli_stmt_bind_result($stmt, $graitcpai);
while (mysqli_stmt_fetch($stmt))
{
?>

<option>
<?php
printf("$graitcpai");
?>
</option>
<?php
}
}

?>
</select></p> </td>
<td><p align="left">Estado Civil Pai:
<select name="CODSTCCIVPAI" size="1" class="CSSBox" id="CODSTCCIVPAI">
<option>selecione</option>
<?php
/*$stmt = mysqli_stmt_init($conectar);*/
$select2 ="select DSCSTCCIV from scetstcciv";
if (mysqli_stmt_prepare($stmt, $select2))
{mysqli_stmt_execute($stmt);
mysqli_stmt_bind_result($stmt, $graitcpai);
while (mysqli_stmt_fetch($stmt))
{
?>

<option>
<?php
printf("$graitcpai");
?>
</option>
<?php
}
}

?>
</select></p> </td>
</tr>
<tr>
<td colspan="2"><p align="left">Aluno possu&iacute; respons&aacute;vel pela sua Guarda?
<input type="checkbox" name="GRDALN" id="GRDALN" /></p> </td>
</tr>
<tr>
<td colspan="2"><p align="left">Respons&aacute;vel pela guarda do aluno:
<input name="NOMGRDALN" type="text" class="CSSBox" id="NOMGRDALN" size="40" maxlength="40" /></p> </td>
</tr>
<tr>
<td colspan="2"><p align="left">Pessoas autorizadas a buscar o aluno:
<textarea name="LSTATZALN" cols="80" rows="3" class="CSSBox" id="LSTATZALN"></textarea></p> </td>
</tr>
<tr>
<td colspan="2"><p align="left">Observa&ccedil;&atilde;o:</p>
</td>
</tr>
<tr>
<td colspan="2"><p align="left">
<textarea name="OBSALN" cols="80" rows="5" class="CSSBox" id="OBSALN"></textarea></p>
</td>
</tr>
</tr>
<tr>
<td colspan="2"><p align="left">
<input name="ok" type="submit" class="CSSBox" id="ok" value="ok" />
</p>
</td>
</tr>
</table>
</div>
</div>
</body>
</form>

Wanderson Camargo
Olá!

Deus! Por isso eu deixei programação estruturada! huhuhuuh

Podes só colar o while com erro?
samirbh
a unica coisa que funciona é quando ponho $newid e $nompsa no values do formulario, qualquer outra coisa relacionada a conexão com banco não pega
samirbh
resolvi

estava faltando fechar a transação do pagina que enviava os dados e tratar as subtransaçoes da aplicação.
foi coisa simples mas me tiro o sono obrigado pela atenção.
Esta é uma versão simplificada de nosso conteúdo principal. Para ver a versão completa com maiores informações, formatação e imagens, por favor clique aqui.
Invision Power Board © 2001-2013 Invision Power Services, Inc.