• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

electric

[MYSQL] Duvida para deletar dados...

18 mensagens neste tópico

boas

apos vasculhar as varias secções do forum e ter tentado estas dicas

http://www.portugal-a-programar.pt/index.php?showtopic=56

mas  n consigo apagar os dados da minha SQL :\

o que eu tenho é o seguinte:

del.html

.
.
.
<body>

<p>
<form action="delete.php" name="form" method="post">
</p>
<p>
  <select name="nome" id="nome">
    <option>electric</option>
    <option>solid</option>
  </select>
</p>
<p>
  <input type="submit" name="Submit" value="Submit" />
  <input name="limpar" type="reset" id="limpar" value="Reset" />
  
</p>
</form>
</body>
</html>

os dados são electric e solid porque eu na base de dados tenho o campo user como electric logo seria apagar o que esta na select box depois disso tenho o delete.php

delete.php

<?
//abre conexão com o mysql
include"conexao.php";
//define a variavel nome
$nome = $_GET[nome];
//comando que exclui o registro
$query = mysql_query("DELETE FROM electric_teste.showtbox where nome = '$nome'");
echo"Registro excluido!";
//fexando conexão com o mysql.
mysql_close($conexao);
?>

que é o que esta no link acima :\ apenas mudei o caminho para a BD

alguem ajuda? obrigado

[]'s

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

$query = mysql_query("DELETE FROM electric_teste.showtbox where nome = '". $nome. "'" );

experimenta assim

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pela experiência que tenho tido, colocar " em vez de ' dá maus resultados nos querys...

a linha que tens, $query = mysql_query("DELETE FROM electric_teste.showtbox where nome = '$nome'");, em principio está bem, falta-lhe é os pontos antes e depois de $nome... tem de ficar $query = mysql_query("DELETE FROM electric_teste.showtbox where nome = '.$nome.'");

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pois tentei e n continua igual :\ seleciono o electric

carrego no botão

vai ao delete.php diz k exclui com sucesso

e quando vai a pagina do listar eles continuam la :\

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

coloquei isso no inicio do delete.php

depois de trocar [ 'nome']; onde faltava as ''

dame o seguinte erro

Notice: Undefined index: nome in C:\Documents and Settings\electric\Ambiente de trabalho\PHP SERVER\www\showtbox\delete.php on line 6
Registro excluido!
Notice: Undefined variable: conexao in C:\Documents and Settings\electric\Ambiente de trabalho\PHP SERVER\www\showtbox\delete.php on line 11

Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in C:\Documents and Settings\electric\Ambiente de trabalho\PHP SERVER\www\showtbox\delete.php on line 11

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tu tas a mandar a variavel por POST, e no ficheiro .php tas a recebe-la por GET

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

e outra cena, a variavel $conexao que tas a usar no mysql_close, nao ta definida.

poe

include ("conexao.php");

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

falta um pormenor:

tem de ficar query = mysql_query("DELETE FROM electric_teste.showtbox where nome = '".$nome."'")

depois do igual fica a plica (') seguida de (") .$nome. "'"... o valor que é passado para nome (nome =) tem de ficar entre plicas (por exemplo nome = 'carlos') mas como estás a passar uma variavel, fica nome=' e tens de colocar as aspas para terminar a string e fazer a concatenação da variavel $nome com os pontos... como o valor tem de ficar entre plicas, falta colocar a segunda plica, que tem de ficar entre aspas, visto que é a continua da string anterior...

acho que está um pouco confuso mas dá para perceber ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Marinheiro

a partir do momento em k puz

... nome='"$nome"'")

a pagina de delete.php deixa de dar erros , n mostra o echo nem apaga nd :\

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

mas puseste pontos antes e depois de $nome para fazer a concatenação?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pa o codigo do delet.php esta assim

<?
error_reporting(E_ALL);
//abre conexão com o mysql
include "conexao.php";
//define a variavel nome
$nome = $_POST['nome'];
//comando que exclui o registro
$query = mysql_query("DELETE FROM electric_teste.showtbox where nome = '.$nome.'");
echo"Registro excluido!";
//fexando conexão com o mysql.
mysql_close($conexao);
?>

diz  que esclui com sucesso mas depois quando vou ver  o listar.php que é onde mostra os dados eles continuam la :\

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

$query = mysql_query("DELETE FROM electric_teste.showtbox where nome = '.$nome.'");

isto esta errado

tás a criar uma string com: DELETE FROM electric_teste.showtbox where nome = '.$nome.'

o q tu precisas é assim: DELETE FROM electric_teste.showtbox where nome = '".$nome."'

repara nas aspas! a diferenca está aí :(

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

as aspas ' ' são usadas na instrução SQL, as " " para fechar a string... isto é complicado de explicar assim, mas se compiares o meu exemplo ou o do marinheiro deve de funcionar.

cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pois bem meu amigo :(

troquei então o $query po este

$query = mysql_query("DELETE FROM electric_teste.showtbox where nome = '".$nome."'");

e continua com o mesmo problema, diz que escluiu mas nada continua la :\

tentei tirar o WHERE ... e deixar só o que esta atraz do WHERE e ai ja apaga a tabela toda :\ n sei se isto pode ajudar a ajudar-me lol

é que n percebo mesmo nada ou muito pouco de PHP :\

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

através do phpmyadmin, escreve o mesmo que estás a escrever na string ( DELETE FROM electric_teste.showtbox where nome = 'asdfasdf' em que asdfasdf é o conteúdo de um do campo nome num dos registos que tens na tabela) e manda executar... a seguir, verifica na página se esse registo desapareceu ou não... se não desapareceu, tens alguma coisa configurada para te mostrar os registos que estão apagados...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pah fui coloquei la isso e não deu, então troquei o nome por user que era o nome do meu campo na sql e ja deu

ai fui ao *.php e tambem fiz a troca e ja funciona :( obrigado ppl

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ja agora escuso de abrir outro topico :(

eu queria que essa selec box fosse "automatica" ou seja ela se preenchese sozinha com os dados da tabela na parte user :\

eu tentei inventar e coloquei este codigo so que  não ta a dar :|

<?php

error_reporting(E_ALL);
include "conexao.php";





$result = mysql_query("SELECT * FROM electric_teste.showtbox WHERE user"); 

echo "<table width=\"250\" border=\"0\">";
echo "<tr bgcolor=\"#FFFFFF\">";

while ($r = mysql_fetch_array($result)) { 
     $var1 = $r['user'];
 $var2 = $r['msg'];
 echo "<select name="nome" id="nome">";
echo "    <option>";
echo $var1;
echo "</option>";
echo "  </select>";
 }
mysql_close($conexao);

?>

algo esta mal mas nem ha erros nem nada :\

e para terminar este post porque é que quando eu estou a listar se eu tiver 1 faz do tipo

11111111

111111

1111111111

11111

mo listar ela aparece numa so linha :\ ha maneira de a mostrar como esta foi inserida ou seja como esta na sql...

[]'s

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora