Ir para conteúdo

POWERED BY:

Arquivado

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

ORisonho

[Resolvido] Editar dados do banco

Recommended Posts

Olá galera, beleza? Bom...vou passar para vocês o meu pequeno problema.

 

Eu tenho um pequeno sistema para eu criar dados em um banco de dados MY/Sql, que usam as seguintes páginas:

 

inserir_dados.php

<form name="form" method="POST" action="scripts/php/confirma_informa.php" enctype="multipart/form-data">
      <p><a class="arquivos2">Nome: </a>      
          <input type="text" name="nome" class="news" size="50">
        
          <a class="arquivos2">Quantidade:  </a>
        <input type="text" name="quantidade" class="news" size="30">
      </p>
      <p>
<input type="submit" class="news" value="Enviar">
</form>

confirma_informa.php (recebe os dados e envia para o banco e confirma se foi efetuado corretamente ou não)

<?php
mysql_connect("localhost","root","")or die("Não foi possivel conectar com o servidor<br><br>");
//echo "Você esta conectado ao servidor<br><br>";
mysql_select_db("locfestas") or die ("Não foi possivel conectar ao Banco de Dados<br><br>");
//echo "Você esta conectado ao Banco de Dados<br><br>";
header(`Content-type: text/html; charset=ISO-8859-1`);
?>
<?php
$nome = $_POST['nome'];
$quantidade = $_POST['quantidade'];

//autenciação ANTI-PALAVRÃO

//só para organizar o sript
if ($nome == null)
{
	echo "Preencha o campo Nome corretamente";
	exit();
	
}
if ($quantidade == null)
{
	echo "Preencha o campo quantidade corretamente";
	exit();
	
}
$inserir = mysql_query("insert into 01_pratos (nome,quantidade) values('$nome','$quantidade')");
if ($inserir > 0)
{ 
	echo "<span class='news2'>Informações adicionadas com sucesso.</span><br>";
	
	
}
else 
{ 
	echo "Não foi possivel o envio de sua mensagem"; 
}
?>

index.php (que mostra os dados contidos no banco de dados my/sql, usando paginação como organização)

<?php
include  "scripts/php/conexao.php";
header(`Content-type: text/html; charset=ISO-8859-1`);
?>
<?php
//######### INICIO Paginação
    $numreg = 10; // Quantos registros por página vai ser mostrado
    if (!isset($pg)) {
        $pg = 0;
    }
    $inicial = $pg * $numreg;
    
//######### FIM dados Paginação
    
    // Faz o Select pegando o registro inicial até a quantidade de registros para página
    $sql = mysql_query("SELECT * FROM 01_pratos order by id asc LIMIT $inicial, $numreg ");

    // Serve para contar quantos registros você tem na seua tabela para fazer a paginação
    $sql_conta = mysql_query("SELECT * FROM 01_pratos");
	
    
    $quantreg = mysql_num_rows($sql_conta); // Quantidade de registros pra paginação
    
    
     // Vai servir só para dar uma linha de espaço entre a paginação e o conteúdo
    
    while ($aux = mysql_fetch_array($sql)) {
	
	$id          = $aux["id"];
	
	echo "

<table width='800' height='25' border='0'>
	<tr>		
		<td width='200' valign='top' class='texto' bgcolor='#eeeeee'>
			<a class='news'>".$aux['nome']."
		</td>
		<td width='200' valign='top' bgcolor='#eeeeee'>
		<font class='newsred'>".$aux['quantidade']."</font>
		</td>
	</tr>
</table>";

	
        /* Ai o resto é com voces em montar como deve parecer o conteúdo */
    }
	include("scripts/php/paginacao.php"); // Chama o arquivo que monta a paginação. ex: << anterior 1 2 3 4 5 próximo >>
	
?>

Minha Duvida é a seguinte, eu queria criar um botão para poder EDITAR as informações contida nas tabelas do banco, para que o sistema nao ficasse rezumido apenas a CRIAR, e sim podendo CRIAR E EDITAR?

 

Agradeço pela ajuda de todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Algo bem simples...não muito dificil de entender...

 

$SQL = "SELECT ID, NOME, QUANTIDADE FROM TABELA1 WHERE ID = 1";
$BUSCAR = mysql_query($SQL);

 

Ao fazer isso, você terá feita a consulta com os dados que quer editar bl\...

Depois faça

 

while($LINHA = mysql_fetch_assoc($BUSCAR)){
   
    $ID          = $LINHA["ID"];
    $NOME        = $LINHA["NOME"];
    $QUANTIDADE  = $LINHA["QUANTIDADE"];

$TABLE.='<form action="pagina_alterar.php" method="post">
            <table>
             <tr>
                 <td>
                     <input type="hiddem" name="id" value="<?=$ID?>">
                 </td>
                 <td>
                     Nome:<input type="text" name="nome" value="<?=$NOME?>" size="30">
                 </td>
            </tr>
            <tr>
                 <td>
                     Quantidade:<input type="text" name="qtde" value="<?=$QUANTIDADE?>" size="10">
                 </td>
            </tr>
            <tr>
                 <td>
                    <input type="submit" name="alterar" value="Alterar"></a>
                 </td>
            </tr>
            </table>
         </form>';
}

Ou seja...

Após você fazer a busca dos dados especificos que deseja alterar, deverá coloca-los dentro do form ok...

 

Será enviado os dados para o arquivo pagina_alterar.php onde serão processados

Caso você faça estruturado, será algo +/- assim

 

include "seu_arquivo_de_conexao.php";

$ID         = $_POST["ID"];
$NOME       = $_POST["NOME"];
$QUANTIDADE = $_POST["QUANTIDADE"];

$UPDATE = 'UPDATE TABELA 1 SET NOME= '.$NOME.', QUANTIDADE = '.$QUANTIDADE.' WHERE ID = '.$ID.'';
$PROCESSAR =  mysql_query($UPDATE);

if($PROCESSAR == true){
     echo "<br>Dados alterados com êxito!!!";
}
else{
     echo "<br>Erro ao tentar alterar os dados!!!";
}

Bom...quero lembrar que...não testei esse codigo...passei apenas a ideia ok. http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif

Mas...qualquer coisa, posta seu codigo com sua duvida aí, que iremos tentar lhe ajudar beleza... http://forum.imasters.com.br/public/style_emoticons/default/grin.gif

Abraços e boa sorte http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esta tudo certo, eu fiz algumas adaptações no codigo e esta tudo beleza, eu estou tendo problemas apenas na pagina CONFIRMA que faz o UPDATE (troca) das informações.

 

Estou disponibilizando o código para poder esclarecer melhor, meu problema esta apenas esta na parte do código SQL que manda fazer o UPDATE que vai TROCAR as informações ao invés de CRIA-LAS.

<?php
mysql_connect("localhost","root","")or die("Não foi possivel conectar com o servidor<br><br>");
//echo "Você esta conectado ao servidor<br><br>";
mysql_select_db("locfestas") or die ("Não foi possivel conectar ao Banco de Dados<br><br>");
//echo "Você esta conectado ao Banco de Dados<br><br>";
header(`Content-type: text/html; charset=ISO-8859-1`);
?>
<?php
$id = $_POST['id'];
$nome = $_POST['nome'];
$quantidade = $_POST['quantidade'];

//só para organizar o sript
if ($id == null)
{
	echo "Preencha o campo ID corretamente";
	exit();
	
}
if ($nome == null)
{
	echo "Preencha o campo Nome corretamente";
	exit();
	
}
if ($quantidade == null)
{
	echo "Preencha o campo quantidade corretamente";
	exit();
	
}
$inserir = mysql_query("UPDATE into 01_pratos SET(id,nome,quantidade) WHERE ('$id','$nome','$quantidade')");
if ($inserir > 0)
{ 
	echo "<span class='news2'>Informações adicionadas com sucesso.</span><br>";
	
	
}
else 
{ 
	echo "Não foi possivel o envio de sua mensagem"; 
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

A instrução está errada. Teria que ser algo assim.

 

$sql = "UPDATE tabela SET nome = '$nome' ,quantidade = '$quantidade' WHERE id = '$id'";
$inserir = mysql_query($sql) or die('O update falhou. A query enviada foi '.$sql.'<br/>O erro retornado foi - '.mysql_error());
http://dev.mysql.com/doc/refman/4.1/pt/update.html

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

$inserir = mysql_query("UPDATE into 01_pratos SET(id,nome,quantidade) WHERE ('$id','$nome','$quantidade')");

 

ORisonho a sua SQL tá errada pois não existe aquele INTO lá ok e na forma de setar os valores, faça como eu e o matias_rezende lhe mostramos beleza.

 

A sua será algo como:

$inserir = mysql_query("UPDATE 01_pratos SET id = '$id',nome = '$nome',quantidade = '$quantidade' WHERE id = '$id'";

 

 

Testa aí e se der erro, posta novamente beleza... http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

Boa sorte!!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom,passei os olhos no código e notei outros erros além dos citados.

Valores vindos da $_POST só são nulos se a chave do mesmo não existir (consequentemente ele idem).Sendo assim,suas estruturas condicionais estão erradas,e se você tenta usar uma variavel inexistente,o PHP te retorna um erro caso a operação realizada não foi uma atribuição de referencia.

<?php
//$a = $variavelInexistenteQualquer; -> erro!
$b =& $variavelInexistenteQualquer;
var_dump($B); //NULL
?>
Cheque se o que você está tentando acessar na Super Global $_POST existe ou faça uma atribuição por referencia (qualquer duvida postar).

 

Troque o inicio das suas estruturas condicionais para:

if (!$variavelQualquer) /*checa se a negação da representação booleana do valor da variavel é verdadeira (o que exclue valores nulos e strings vazias) -> equivalente a: if(!(boolean)$variavelQualquer)*/ 
Ou,mais recomendado:

if(trim((string)$variavelQualquer) == '') /*checa se a representação como string do valor da variavel com os espaços retirados do inicio e fim da mesma é igual a uma string vazia (o que exclue valores nulos,strings vazias e strings com apenas espaços)*/
Dentre diversas outras maneiras...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Parabens Galera! Problema resolvido!!!!

 

Agradeço a ajuda da Galera que esta sempre dando um apoio, e pode ter certeza que o que eu poder ajudar aqui no FORUM estarei sempre disponivel.

 

Vlw Galera...e Parabens!!

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.