Jump to content


Photo

Update Nos Campos No Php Com Mysql


  • Faça o login para participar
23 replies to this topic

#16 trizzo

trizzo

    Turista

  • Usuários
  • 33 posts
  • Sexo:Não informado

Posted 13/09/2008, 15:58

O código está assim no momento:


alteracao.php:


<?

$connect=mysql_connect("localhost","root","") or die("Connection Failure to Database");
//echo "Conectado ao servidor de Banco de Dados!<br><br>";
mysql_select_db("cadastro",$connect) or die ("Não é possível selecionar o banco de dados");

$nome_aluno=$_POST['nome_aluno'];
$sql="SELECT * FROM cadastro.aluno where nome_aluno='$nome_aluno'";
$result=mysql_query($sql) or die ("Não foi possível realizar a consulta no Banco de Dados");

while ($linha=mysql_fetch_array($result)){
$ra_aluno=$linha["ra_aluno"];
$turma_id_turma=$linha["turma_id_turma"];
$nome_aluno=$linha["nome_aluno"];
$logradouro=$linha["logradouro"];
$numero=$linha["numero"];
$bairro=$linha["bairro"];
$cidade=$linha["cidade"];
$estado=$linha["estado"];
$telefone=$linha["telefone"];
$naturalidade=$linha["naturalidade"];
$nome_pai=$linha["nome_pai"];
$nome_mae=$linha["nome_mae"];

echo "<h1> Alterar Cadastro de Alunos</h1>";
echo "<hr><br>";
echo "<form action=alteracao_db_php.php method='post'>";
echo "Ra Aluno: <input name='ra_aluno_novo' type='text' value='$ra_aluno' size=30><br>";
echo "Turma ID: <input name='turma_id_novo' type='text' value='$turma_id_turma' size=30><br>";
echo "Nome do Aluno: <input name='nome_aluno_novo' type='text' value='$nome_aluno' size=30><br>";
echo "Logradouro: <input name='logradouro_novo' type='text' value='$logradouro' size=30><br>";
echo "Numero: <input name='numero_novo' type='text' value='$numero' size=30><br>";
echo "Bairro: <input name='bairro_novo' type='text' value='$bairro' size=30><br>";
echo "Cidade: <input name='cidade_novo' type='text' value='$cidade' size=30><br>";
echo "Estado: <input name='estado_novo' type='text' value='$estado' size=30><br>";
echo "Telefone: <input name='telefone_novo' type='text' value='$telefone' size=30><br>";
echo "Naturalidade: <input name='naturalidade_novo' type='text' value='$$naturalidade' size=30><br>";
echo "Nome Mae: <input name='nome_pai_novo' type='text' value='$nome_pai' size=30><br>";
echo "Nome Pai: <input name='nome_pai_novo' type='text' value='$nome_mae' size=30><br>";
echo "<input name='nome_aluno_old' type='hidden' value='$nome_aluno'>";
echo "<br>";
echo "<input type='submit' value='Alterar'>";
echo "</form>";
echo "<hr><br>";
}
?>





alteracao_db_php:

<?
include 'alteracao.php';
$connect=mysql_connect("localhost","root","") or die("Connection Failure to Database");
//echo "Conectado ao servidor de Banco de Dados!<br><br>";
mysql_select_db("cadastro",$connect) or die ("Não é possível selecionar o banco de dados");

$sql="UPDATE aluno SET ra_aluno='".$_POST['ra_aluno_novo']."',turma_id_turma='".$_POST['turma_id_novo']."',nome_aluno='".$_POST['nome_aluno_novo']."',logradouro='".$_POST['logradouro_novo']."',numero='".$_POST['numero_novo']."',bairro='".$_POST['bairro_novo']."',cidade='".$_POST['cidade_novo']."',estado='".$_POST['estado_novo']."',telefone='".$_POST['telefone_novo']."',naturalidade='".$_POST['naturalidade_novo']."',nome_pai='".$_POST['nome_pai_novo']."',nome_mae='".$_POST['nome_mae_novo']."' WHERE nome_aluno='" . $_POST['nome_aluno_old'] . "'";
$result=mysql_query($sql);
if (!$result) {
$message = '<br><br><br><br><B>UPDATE com problemas! </b>' . mysql_error() . "\n";
}
else
$message = '<br><br><br><b>UPDATE Completo</b> ' . $sql;
die($message);

?>










Seguinte: Pesquisei por jose ele me retornou os dados de jose todos preenchidos nos text fields. Dai o que eu fiz. Alterei o bairro dele de "hi" para "testando" e cliquei em alterar. Dai ele dividiu a tela, com os dados do jose... e depois mais abaixou buscou os campos dos outros nomes tbm. ele até alterou normalmente para "testando".

ou seja o unico problema é que ele ta puxando os outros dados da mesma tabela e jogando na tela..

CMAC, você saberia resolver este problema?

#17 CMAC

CMAC

    Normal

  • Usuários
  • 93 posts
  • Sexo:Masculino

Posted 13/09/2008, 16:01

Porque você não tenta remover o include que te disse. Comente ele e teste. Acho que isso deve ser o problema.

#18 trizzo

trizzo

    Turista

  • Usuários
  • 33 posts
  • Sexo:Não informado

Posted 13/09/2008, 16:28

me parece estar ok agora:


arquivos:


alteracao_db_php.php:
<?
$connect=mysql_connect("localhost","root","") or die("Connection Failure to Database");
mysql_select_db("cadastro",$connect) or die ("Não é possível selecionar o banco de dados");

$sql="UPDATE aluno SET ra_aluno='".$_POST['ra_aluno_novo']."',turma_id_turma='".$_POST['turma_id_novo']."',nome_aluno='".$_POST['nome_aluno_novo']."',logradouro='".$_POST['logradouro_novo']."',numero='".$_POST['numero_novo']."',bairro='".$_POST['bairro_novo']."',cidade='".$_POST['cidade_novo']."',estado='".$_POST['estado_novo']."',telefone='".$_POST['telefone_novo']."',naturalidade='".$_POST['naturalidade_novo']."',nome_pai='".$_POST['nome_pai_novo']."',nome_mae='".$_POST['nome_mae_novo']."' WHERE nome_aluno='" . $_POST['nome_aluno_old'] . "'";
$result=mysql_query($sql);
if (!$result) {
$message = '<br><br><br><br><B>UPDATE com problemas! </b>' . mysql_error() . "\n";
}
else
$message = '<br><br><br><b>UPDATE Completo</b> ' . $sql;
die($message);

?>



alteracao.php:
<?
$connect=mysql_connect("localhost","root","") or die("Connection Failure to Database");
//echo "Conectado ao servidor de Banco de Dados!<br><br>";
mysql_select_db("cadastro",$connect) or die ("Não é possível selecionar o banco de dados");

$nome_aluno=$_POST['nome_aluno'];
$sql="SELECT * FROM cadastro.aluno where nome_aluno='$nome_aluno'";
$result=mysql_query($sql) or die ("Não foi possível realizar a consulta no Banco de Dados");

while ($linha=mysql_fetch_array($result)){
$ra_aluno=$linha["ra_aluno"];
$turma_id_turma=$linha["turma_id_turma"];
$nome_aluno=$linha["nome_aluno"];
$logradouro=$linha["logradouro"];
$numero=$linha["numero"];
$bairro=$linha["bairro"];
$cidade=$linha["cidade"];
$estado=$linha["estado"];
$telefone=$linha["telefone"];
$naturalidade=$linha["naturalidade"];
$nome_pai=$linha["nome_pai"];
$nome_mae=$linha["nome_mae"];

echo "<h1> Alterar Cadastro de Alunos</h1>";
echo "<hr><br>";
echo "<form action=alteracao_db_php.php method='post'>";
echo "Ra Aluno: <input name='ra_aluno_novo' type='text' value='$ra_aluno' size=30><br>";
echo "Turma ID: <input name='turma_id_novo' type='text' value='$turma_id_turma' size=30><br>";
// certo echo "Nome do Aluno: <input name='nome_aluno' type='text' value='$nome_aluno' size=30><br>";
echo "Nome do Aluno: <input name='nome_aluno_novo' type='text' value='$nome_aluno' size=30><br>";
echo "Logradouro: <input name='logradouro_novo' type='text' value='$logradouro' size=30><br>";
echo "Numero: <input name='numero_novo' type='text' value='$numero' size=30><br>";
echo "Bairro: <input name='bairro_novo' type='text' value='$bairro' size=30><br>";
echo "Cidade: <input name='cidade_novo' type='text' value='$cidade' size=30><br>";
echo "Estado: <input name='estado_novo' type='text' value='$estado' size=30><br>";
echo "Telefone: <input name='telefone_novo' type='text' value='$telefone' size=30><br>";
echo "Naturalidade: <input name='naturalidade_novo' type='text' value='$$naturalidade' size=30><br>";
echo "Nome Mae: <input name='nome_pai_novo' type='text' value='$nome_pai' size=30><br>";
echo "Nome Pai: <input name='nome_pai_novo' type='text' value='$nome_mae' size=30><br>";
echo "<input name='nome_aluno_old' type='hidden' value='$nome_aluno'>";
echo "<br>";
echo "<input type='submit' value='Alterar'>";
echo "</form>";
echo "<hr><br>";
}
?>



Eu só não entendi porque ele não conseguira pergar o nome e adicionamos o echo "<input name='nome_aluno_old' type='hidden' value='$nome_aluno'>"; . Você poderia me explicar, por favor?

ainda não tá atualizando alguns campos como o ra_aluno e turma_aluno

na verdade quando eu atualizo o turma_id_turma como '375897348957' no banco de dados ele fica -1

mas isso acontece só no banco de dados... quando eu consulto via php ele me mostra o resultado correto

#19 CMAC

CMAC

    Normal

  • Usuários
  • 93 posts
  • Sexo:Masculino

Posted 13/09/2008, 16:42

Primeiro de tudo, ele não pegava o nome pois não estava declarado. Sempre que você usa um formulário com método post, para você pegar esses dados tem que usar o array $_POST.

Depois o que acontecia era um conflito de variáveis, por isso colocamos o nome de nome_aluno_old para não ser alterado em qualquer lugar.

Sobre a não alteração dos dados, acho que não deveria acontecer. E sobre o valor -1, penso que o valor não pode ultrapassar um certo limite.

Veja aqui uma tabela em que mostra o valor mínimo e máximo permitido: http://dev.mysql.com...traqueado</sup>

Esse script será para uso normal ou somente fins académicos? Se for para uso, você precisa alterar muitas coisas relacionadas com segurança e ainda optimizar esta tabela no banco de dados.

Edição feita por: CMAC, 13/09/2008, 16:44.


#20 trizzo

trizzo

    Turista

  • Usuários
  • 33 posts
  • Sexo:Não informado

Posted 13/09/2008, 16:55

eu vou apresentar esse sistema pra faculdade, como trabalho da faculdade... tive que fazer as telas de cadastro, pesquisar, alterar e remover... bom acho que já fiz uma boa parte com sua ajuda! Muitissimo Obrigado CMAC... vou ver se consigo terminar isso essa semana... meu prof quer que eu trabalhe o sistema com linguagem orientada a objetos...

estou editando algumas coisas que fiz pra transformar pra linguagem orientada a objetos...

você sabe como faço para arrumar o campo telefone colocando por exemplo no text field (xx)xxxx-xxxx

#21 CMAC

CMAC

    Normal

  • Usuários
  • 93 posts
  • Sexo:Masculino

Posted 13/09/2008, 17:02

Não percebi bem a ideia do telefone. Você quer que ao digitar no text field ele altere para aquele formato, ou quando enviar ele altera e coloca no banco de dados. Pode explicar melhor?

Sobre OO, isso tudo aí não tem nada orientado. Acho que se for para usar OO você vai precisar refazer isso tudo.

#22 trizzo

trizzo

    Turista

  • Usuários
  • 33 posts
  • Sexo:Não informado

Posted 13/09/2008, 17:17

sim... vou ter que refazer, mas pelo menos tive uma base... pois eu tava meio perdido de como fazer o UPDATE... sei que vou ter q usar os getters e setters, e tal... ao digitar no text field ele altere para aquele formato.

vc saberia transformar esse código em OO? tipo só um dos campos pra eu ver se minha idéia bate com a sua...

#23 CMAC

CMAC

    Normal

  • Usuários
  • 93 posts
  • Sexo:Masculino

Posted 13/09/2008, 17:48

Para alterar o formato no momento que é digitado você deve usar javascript.

Sobre OO, você poderia criar uma Classe Aluno, em que nessa classe era possível editar (UPDATE), eliminar, (...) um determinado aluno. Poderia também criar uma Classe Database, em que seriam feito os métodos de conexão, query, etc.

Um exemplo, bem simples seria do tipo:
[codebox]<?php

class Aluno extends Database {

//Nome do aluno
protected $nome;

//Id do aluno
protected $id;

/**
* Constructor
*
*/
public function __construct() {

}

/**
* Procura um aluno no banco de dados
*
*/
public function procurar() {

}

/**
* Atualiza um aluno no banco de dados
*/
public function update($dados = array()) {

}

/**
* Apaga um aluno do banco de dados
*/
public function apagar() {

}

/**
* Define o nome do usuario
*/
public function set_aluno($nome = '') {

$this->nome = $nome;

}

}

?>[/codebox]

Tente também evitar misturar código php com html.

Boa Sorte!

Edição feita por: CMAC, 13/09/2008, 20:35.


#24 trizzo

trizzo

    Turista

  • Usuários
  • 33 posts
  • Sexo:Não informado

Posted 13/09/2008, 17:50

você está por ai?

cara, Valeu por tudo ai!! ajudou pra caramba!!!




1 user(s) are reading this topic

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

IPB Skin By Virteq