Ir para conteúdo

POWERED BY:

Arquivado

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

Jo@oL

[Resolvido] Erros de atualização de cadastro

Recommended Posts

Folks,

 

Estou tendo dor de cabeça pra terminar um sistema de cadastro de alunos.

Criei um formulário para cadastro dos alunos. Está funcionando perfeitamente. Os dados são inseridos no MySQL sem problemas.

Já o PHP criado para uma eventual atualização de cadastro não está funcionando corretamente. Ocorrem dois problemas:

 

1º Problema: No campo "Nome do Aluno" apenas o primeiro nome é mostrado no formulário. Por exemplo: O nome do sujeito é "Zé das Couves", mas o campo só mostra "";

 

2° Problema: Nos campos em que utilizo menu dropdown não consigo colocar como padrão a opção já cadastrada pro aluno. Por exemplo: O menu tem as opções "Matriculado", "Cancelado", "Formado" e "Recuperado", o aluno "Zé das Couves" é "Formado". Mas no formulário aparece "Matriculado" como opção inicial, já que é a primeira opção do options (desculpem a redundância).

 

Alguma sugestão?

 

CODE
<form id="form1" name="form1" method="post" action="update_aluno.php">

<tab><tab><tab><tab><tab><tab><span class="style9"></span>

<table width="459" border="0">

<tr>

<td width="196"><span class="style8 style11 style12 style12">Matrícula:</span></td>

<td width="191"><input name="matricula" type="text" class="style12" value=<?=$matricula?>></td>

<td width="58"><span class="style12"></span></td>

</tr>

<tr>

<td><span class="style8 style11 style12 style12">Nome do Aluno:</span></td>

<td><input name="nome" type="text" class="style12" value=<?=$nome?>></td>

<td><span class="style12"></span></td>

</tr>

<tr>

<td><span class="style8 style11 style12 style12">Curso:</span></td>

<td><input name="curso" type="text" class="style12" value=<?=$curso?>></td>

<td><span class="style12"></span></td>

</tr>

<tr>

<td><span class="style8 style11 style12 style12">Nível:</span></td>

<td><input name="nivel" type="text" class="style12" value=<?=$nivel?>></td>

<td><span class="style12"></span></td>

</tr>

<tr>

<td><span class="style8 style11 style12 style12">Turma:</span></td>

<td><input name="turma" type="text" class="style12" value=<?=$turma?>></td>

<td><span class="style12"></span></td>

</tr>

<tr>

<td><span class="style8 style11 style12 style12">Situação:</span></td>

<td><select name="situacao" type="text" class="style12" value=<?=$situacao?>>

<option value="MATRICULADO">MATRICULADO</option>

<option value="CANCELADO">CANCELADO</option>

<option value="RECUPERADO">RECUPERADO</option>

<option value="FORMADO">FORMADO</option>

<option value="EXTERNO">EXTERNO</option>

</select>

</td>

</table>

<br>

 

<input type="submit" />

</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

E ai ..cara primeiramente so uma dica ...substitua os seus <?= ?> por <?php echo ;?>, porque se algum dia você trocar de servidor ou o seu servidor trocar a versão do php você terá problemas ..bem poderia postar o código que você puxa esses dados do bd?

Compartilhar este post


Link para o post
Compartilhar em outros sites

E ai ..cara primeiramente so uma dica ...substitua os seus <?= ?> por <?php echo ;?>, porque se algum dia você trocar de servidor ou o seu servidor trocar a versão do php você terá problemas ..bem poderia postar o código que você puxa esses dados do bd?

Compartilhar este post


Link para o post
Compartilhar em outros sites

em relacao ao nome posta o codigo aew

 

e sobre a box tah aki a solucao

crie um array com o nome $selected

e sete o valor nele como selected="selected" quando a opcao for a correta...

por exemplo joao esta cancelado

seria + ou - assim:

claro k voce tera que adaptar pra baixar os dados do BD

<?php
$selected = array('MATRICULADO' => 'nao', 'CANCELADO' => 'sim', 'RECUPERADO' => 'nao', 'FORMADO' => 'nao', 'EXTERNO' => 'nao');
foreach($selected as $chave){
if($chave == "sim"){
$chave = array_search('sim',$selected);
$selected[$chave] = "selected='selected'";
}
else{
$chave = array_search('nao',$selected);
$selected[$chave] = "";
}
}
?>
<select name="situacao" type="text" class="style12">
<option value="MATRICULADO" <?php echo "$selected[MATRICULADO]"; ?>>MATRICULADO</option>
<option value="CANCELADO" <?php echo "$selected[CANCELADO]"; ?>>CANCELADO</option>
<option value="RECUPERADO" <?php echo "$selected[RECUPERADO]"; ?>>RECUPERADO</option>
<option value="FORMADO" <?php echo "$selected[FORMADO]"; ?>>FORMADO</option>
<option value="EXTERNO" <?php echo "$selected[EXTERNO]"; ?>>EXTERNO</option>
</select>
http://forum.imasters.com.br/public/style_emoticons/default/bye1.gif

flwsss

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pela ajuda RomanMG e batatinha66.

 

Por enquanto segue o código de acesso à DB.

 

 

CODE
// Selecionando a tabela teste_ci no banco de dados

mysql_select_db("teste", $connection);

 

mysql_query($result,$connection);

 

 

//

 

// Seleciona dos dados na tabela turmas do banco de dados

$query="SELECT * FROM alunos WHERE matricula='$matricula'";

 

$result=mysql_query($query);

 

$num=mysql_numrows($result);

 

mysql_close();

 

Vou incrementar o meu código com as dicas de vocês e coloco o resultado em alguns mminutos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu havia esquecido de adicionar uma parte do código.

 

Segue novamente:

 

CODE

 

// Selecionando a tabela teste_ci no banco de dados

mysql_select_db("teste", $connection);

 

mysql_query($result,$connection);

 

// Seleciona dos dados na tabela turmas do banco de dados

$query="SELECT * FROM alunos WHERE matricula='$matricula'";

 

$result=mysql_query($query);

 

$num=mysql_numrows($result);

 

mysql_close();

 

//echo "<span class=\"style8 style11 style12 style12\"><b><center>Dados do Aluno</center></b><br><br></span>";

 

$i=0;

while ($i < $num) {

 

$matricula=mysql_result($result,$i,"matricula");

$nome=mysql_result($result,$i,"nome");

$curso=mysql_result($result,$i,"curso");

$nivel=mysql_result($result,$i,"nivel");

$turma=mysql_result($result,$i,"turma");

$situacao=mysql_result($result,$i,"situacao");

$motivo=mysql_result($result,$i,"motivo");

 

 

$i++;

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvido!

Descobri porque apenas o primeiro nome aparecia na caixa de texto do formilário. Um erro simples:

No campo do formulário eu estava esquecendo de colocar aspas após value =. Por exemplo:

Esta era a entraa incorreta:

<input name="nome" type="text" class="style12" value=<?php echo$nome;?> size="40"></td>

E esta a corrgida:

<input name="nome" type="text" class="style12" value="<?php echo$nome;?>" size="40"></td>

 

Valeu pela ajuda!

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.