Como alterar o Banco de Dados com PHP

28/07/2014

0

Eu to tentando alterar um os dados no banco de dados com PHP mas não consigo! :(
o arquivo de adicionar dados no banco de dados está funcionando perfeitamente! ele insere os dados sem nenhum problema! mas o de modificar os dados inseridos não altera... não sei porque! segue os dados!

conectar.php
<?php
$host = "localhost";
$db   = "aula";
$user = "root";
$pass = "";

$conecta = mysql_connect("$host", "$user", "$pass")or print (mysql_error());
mysql_select_db($db);
?>


listar.php
<?php 
include "conectar.php"; // Chama a conexao com o banco de dados

$buscar = mysql_query("SELECT * FROM dados")or die(mysql_error());

if(mysql_num_rows($buscar) > 0){
    while($ver = mysql_fetch_array($buscar))
    {
       echo '<a href="alterar.php?id='.$ver[0].'">'.$ver[1].'</a>';
    }
}else{
echo 'Sem dados cadastrais';
}
?>


cadastro.php

<?php
include "conectar.php"; // Chama a conexao com o banco de dados


if($_SERVER['REQUEST_METHOD']=='POST'){

$nome  = isset($_POST['nome']) ? $_POST['nome'] : '';
$idade = isset($_POST['idade']) ? $_POST['idade'] : false;
$sexo  = isset($_POST['sexo']) ? $_POST['sexo'] : '';

$inserir = mysql_query("INSERT INTO dados (nome,idade,sexo) VALUES('$nome','$idade','$sexo')")or die(mysql_error());

($inserir) ? print 'Dados inseridos com sucesso' : die('Erro ao inserir dados');
}
?>
<form name="teste" id="2" action="" method="POST">
Nome: <input type="text" name="nome" />
<br />
Idade: <input type="text" name="idade" />(Max: 3 caracteres)
<br />
sexo: Masculino: <input type="radio" name="sexo" id="sexo" value="M" /> Feminino: <input type="radio" name="sexo" id="sexo" value="F" />
<br />
<input type="submit" name="ok" value="cadastrar" />
</form>


alterar.php
<?php
include "conectar.php"; // Chama a conexao com o banco de dados
 
if($_SERVER['REQUEST_METHOD']=='GET'){
    isset($_GET['id']) ? $busca=mysql_query("SELECT * FROM dados WHERE id='".$_GET['id']."'") : die(mysql_error());

    $dados = mysql_fetch_array($busca);

}elseif($_SERVER['REQUEST_METHOD']=='POST'){

$nome  = isset($_POST['nome']) ? $_POST['nome'] : '';
$idade = isset($_POST['idade']) ? $_POST['idade'] : false;
$sexo  = isset($_POST['sexo']) ? $_POST['sexo'] : '';

$atualizar = mysql_query("UPDATE dados SET nome='$nome',idade='$idade',sexo='$sexo' WHERE id='$id'")or die(mysql_error());

($atualizar) ? print 'Dados alterados com sucesso' : die('Falha ao alterar dados');
}
?>
<form name="teste2" id="teste2" action="" method="POST">
<input type="hidden" name="idreg" id="idreg" value="<?php echo $dados['id']; ?>">
Nome: <input type="text" name="nome" value="<?php echo $dados['nome']; ?>" />
<br />
Idade: <input type="text" name="idade" value="<?php echo $dados['idade']; ?>" />(Max: 3 caracteres)
<br />
sexo: <input type="radio" name="sexo" id="sexo" value="M" /> Masculino <input type="radio" name="sexo" id="sexo" value="F" />Feminino
<br />
<input type="submit" name="ok" value="Alterar" />
</form>
Cleyton Caetano

Cleyton Caetano

Responder

Posts

28/07/2014

Eduardo Martins

Boa Tarde Cleyton.

$nome  = isset($_POST['nome']) ? $_POST['nome'] : '';
$idade = isset($_POST['idade']) ? $_POST['idade'] : false;
$sexo  = isset($_POST['sexo']) ? $_POST['sexo'] : '';

$atualizar = mysql_query("UPDATE dados SET nome='$nome',idade='$idade',sexo='$sexo' WHERE id='$id'")or die(mysql_error());


E o "id" esta aonde ? WHERE id='$id'" ?

Att.
Responder

28/07/2014

Cleyton Caetano

Boa Tarde Cleyton.

$nome  = isset($_POST['nome']) ? $_POST['nome'] : '';
$idade = isset($_POST['idade']) ? $_POST['idade'] : false;
$sexo  = isset($_POST['sexo']) ? $_POST['sexo'] : '';

$atualizar = mysql_query("UPDATE dados SET nome='$nome',idade='$idade',sexo='$sexo' WHERE id='$id'")or die(mysql_error());


E o "id" esta aonde ? WHERE id='$id'" ?

Att.


Acho que ele é chamado com este código um pouco mais acima!

isset($_GET['id']) ? $busca=mysql_query("SELECT * FROM dados WHERE id='".$_GET['id']."'") : die(mysql_error());


mais se esse é o erro como faço para corrigir?
Responder

28/07/2014

Eduardo Martins

Tenta algo assim:

$id = isset($_POST['idreg']) ? $_POST['idreg'] : 0;
$nome  = isset($_POST['nome']) ? $_POST['nome'] : '';
$idade = isset($_POST['idade']) ? $_POST['idade'] : false;
$sexo  = isset($_POST['sexo']) ? $_POST['sexo'] : '';


ou assim

$id = isset($_POST['id']) ? $_POST['id'] : 0;
$nome  = isset($_POST['nome']) ? $_POST['nome'] : '';
$idade = isset($_POST['idade']) ? $_POST['idade'] : false;
$sexo  = isset($_POST['sexo']) ? $_POST['sexo'] : '';
Responder

28/07/2014

Cleyton Caetano

Tenta algo assim:

$id = isset($_POST['idreg']) ? $_POST['idreg'] : 0;
$nome  = isset($_POST['nome']) ? $_POST['nome'] : '';
$idade = isset($_POST['idade']) ? $_POST['idade'] : false;
$sexo  = isset($_POST['sexo']) ? $_POST['sexo'] : '';


ou assim

$id = isset($_POST['id']) ? $_POST['id'] : 0;
$nome  = isset($_POST['nome']) ? $_POST['nome'] : '';
$idade = isset($_POST['idade']) ? $_POST['idade'] : false;
$sexo  = isset($_POST['sexo']) ? $_POST['sexo'] : '';


Aparece esse erro dentro dos input:

a mensagem: Dados alterados com sucesso.

Nome:
<br /><b>Notice</b>:  Undefined variable: dados in <b>C:\Program Files\EasyPHP-DevServer-14.1VC11\data\localweb\aula\alterar.php</b> on line <b>23</b><br />

Idade:
>Notice</b>:  Undefined variable: dados in <b>C:\Program Files\EasyPHP-DevServer-14.1VC11\data\localweb\aula\alterar.php</b> on line <b>25</b><br />


e os dados não são alterados!
Responder

28/07/2014

Eduardo Martins

O que você passa na sua URL quando chama o formulário para alteração?

http://localhost ??? 
Responder

28/07/2014

Cleyton Caetano

O que você passa na sua URL quando chama o formulário para alteração?

http://localhost ??? 

Juro que não entendi kkk
mais não coloco http://localhost em lugar algum.. ou mesmo nenhum link!
só pra notar! já consegui mudar os dados do banco! agora o problema é só essa mensagem que aparece logo após fazer a alteração!

nome
<br /><b>Notice</b>:  Undefined variable: dados in <b>C:\Program Files\EasyPHP-DevServer-14.1VC11\data\localweb\aula\alterar.php</b> on line <b>23</b><br />

idade
<br /><b>Notice</b>:  Undefined variable: dados in <b>C:\Program Files\EasyPHP-DevServer-14.1VC11\data\localweb\aula\alterar.php</b> on line <b>25</b><br />
Responder

28/07/2014

Eduardo Martins

eheheheh...

assim para vc acessar seu site ai, vc digita algo mais ou menos assim:
http://localhost/seuprojetoai/alterar.php?id=10


Att.
Responder

28/07/2014

Cleyton Caetano

eheheheh...

assim para vc acessar seu site ai, vc digita algo mais ou menos assim:
http://localhost/seuprojetoai/alterar.php?id=10


Att.


sim, sim kkk
http://localhost/aula/alterar.php?id=1

é este! lembrando que já estou conseguindo alterar o banco de dados!
Responder

28/07/2014

Eduardo Martins

Cleyton Caetano.

Quando vc faz uma solicitação via GET, é pela URL, então no seu código php, ele pega $_GET['id'], este ID é o id passado na URL: "?id=1"... Entendeu?

Sobre os notices que estão ocorrendo, ele diz que o dados não existe. deve ser algo aqui...

    isset($_GET['id']) ? $busca=mysql_query("SELECT * FROM dados WHERE id='".$_GET['id']."'") : die(mysql_error());
    // verifica se tem retorno aqui  
    $dados = mysql_fetch_array($busca);


Não esta vindo nada no dados, ou se estiver vindo não esta pegando certo em:

<input type="text" name="nome" value="<?php echo $dados['nome']; ?>" />
Responder

28/07/2014

Cleyton Caetano

Cleyton Caetano.

Quando vc faz uma solicitação via GET, é pela URL, então no seu código php, ele pega $_GET['id'], este ID é o id passado na URL: "?id=1"... Entendeu?

Sobre os notices que estão ocorrendo, ele diz que o dados não existe. deve ser algo aqui...

    isset($_GET['id']) ? $busca=mysql_query("SELECT * FROM dados WHERE id='".$_GET['id']."'") : die(mysql_error());
    // verifica se tem retorno aqui  
    $dados = mysql_fetch_array($busca);


Não esta vindo nada no dados, ou se estiver vindo não esta pegando certo em:

<input type="text" name="nome" value="<?php echo $dados['nome']; ?>" />


Cara eu já mudei tudo mas ainda não deu certo, sempre exibe o erro dentro do input!
Responder

28/07/2014

Eduardo Martins

Boa Noite Cleyton

if($_SERVER['REQUEST_METHOD']=='GET'){
    isset($_GET['id']) ? $busca=mysql_query("SELECT * FROM dados WHERE id='".$_GET['id']."'") : die(mysql_error());
 
    $dados = mysql_fetch_array($busca);

// coloca isso aqui e me diga o que retorna
echo '<pre>';
echo print_r( $dados );
echo '</pre>';
 
}elseif($_SERVER['REQUEST_METHOD']=='POST'){
Responder

28/07/2014

Cleyton Caetano

Boa Noite Cleyton

if($_SERVER['REQUEST_METHOD']=='GET'){
    isset($_GET['id']) ? $busca=mysql_query("SELECT * FROM dados WHERE id='".$_GET['id']."'") : die(mysql_error());
 
    $dados = mysql_fetch_array($busca);

// coloca isso aqui e me diga o que retorna
echo '<pre>';
echo print_r( $dados );
echo '</pre>';
 
}elseif($_SERVER['REQUEST_METHOD']=='POST'){


Certo! Amanha eu vou fazer o teste e te dou um retorno! Ate amanhã!
Responder

29/07/2014

Cleyton Caetano

Boa Noite Cleyton

if($_SERVER['REQUEST_METHOD']=='GET'){
    isset($_GET['id']) ? $busca=mysql_query("SELECT * FROM dados WHERE id='".$_GET['id']."'") : die(mysql_error());
 
    $dados = mysql_fetch_array($busca);

// coloca isso aqui e me diga o que retorna
echo '<pre>';
echo print_r( $dados );
echo '</pre>';
 
}elseif($_SERVER['REQUEST_METHOD']=='POST'){


Na página ele passou a imprimir esses códigos!
Array
(
    [0] => 1
    [id] => 1
    [1] => Cleyton Caetano
    [nome] => Cleyton Caetano
    [2] => 19
    [idade] => 19
    [3] => M
    [sexo] => M
)
1


e quando coloco para alterar os dados fica na mesma! a mensagem aparece!
Responder

30/07/2014

Eduardo Martins

Eai Cleyton Caetano...

Esta com o problema ainda, ou conseguiu resolver?

Abrass
Responder

30/07/2014

Cleyton Caetano

Eai Cleyton Caetano...

Esta com o problema ainda, ou conseguiu resolver?

Abrass


Amigão o código de teste está dando erro! mais resolvi tentar com outro! ou seja colocar em prática! e o erro não apareceu! agora é só alegria aqui!

Muito obrigada pelas dicas! vlw mesmo!
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar