Avatar billede Leoking Nybegynder
18. marts 2010 - 10:22 Der er 12 kommentarer og
1 løsning

Delete id problem

Kan ikke rigtig få min delete kode til at fungere. Jeg skal ha lavet så at jeg kan slette en hel tabel/id med alle de felter der nu er i id'en.


Linket fra adminstrator siden:
<a href=\"slet.php?sletid=<? echo$id; ?>\" >Slet</a>

Koden på slet.php :
<?php

//connect to db
include('forbindelse.php');

//delete from table
mysql_query = "DELETE FROM uc WHERE id = $sletid";

?>

Nogen der kan hjælpe? .. Gerne med et eksempel på den rigtige koden.
Avatar billede michael_stim Ekspert
18. marts 2010 - 11:12 #1
<a href="slet.php?sletid=<?php echo $id; ?>" >Slet</a>
<?php

//connect to db
include('forbindelse.php');

//delete from table
if(isset($_GET['sletid']) && $_GET['sletid'] != ""){
  mysql_query = "DELETE FROM uc WHERE id = ".$sletid."";
}
?>

En noget farlig kode. Kig på mysql injection og mysqli_query osv fra php. Har man med sådan kode at gøre (følsomme data, databaser osv), er det en god idé at sætte sig ind i kodesproget.
Avatar billede michael_stim Ekspert
18. marts 2010 - 11:14 #2
Hov, glemte at deklarere variablen:

//delete from table
if(isset($_GET['sletid']) && $_GET['sletid'] != ""){
  $sletid=$_GET['sletid'];
  mysql_query = "DELETE FROM uc WHERE id = ".$sletid."";
}
Avatar billede Leoking Nybegynder
18. marts 2010 - 11:20 #3
Den laver en fejl "Parse error: syntax error, unexpected '='"

linien er: mysql_query = "DELETE FROM uc WHERE id = ".$sletid."";
Avatar billede michael_stim Ekspert
18. marts 2010 - 11:41 #4
$sql="DELETE FROM uc WHERE id = ".$sletid."";
mysql_query($sql);
Avatar billede Leoking Nybegynder
18. marts 2010 - 12:26 #5
nu fjerner den ikke noget, den springer bare til en helt blank side når man klikker på linket :/ kommer heller ikke med nogle fejl.
Avatar billede michael_stim Ekspert
18. marts 2010 - 12:35 #6
Så må du jo vise noget kode, ellers kan jeg sidde og gætte herfra og til juleaften. Gerne det hele og et link til siden, hvis du har.
Avatar billede Leoking Nybegynder
18. marts 2010 - 12:40 #7
Kan desværre ikke give dig et link til siden ..

Men koden her.



Fra adminstrator siden:
//linket til slet siden
print '<a href="slet.php?sletid=<?php echo $id; ?>" >Slet</a>';


Fra slet siden:
<?php

//connect to db and choose table
include('forbindelse.php');

//delete from table
if(isset($_GET['sletid']) && $_GET['sletid'] != ""){
  $sletid=$_GET['sletid'];
  $sql="DELETE FROM uc WHERE id = ".$sletid."";
mysql_query($sql);
}

?>
Avatar billede michael_stim Ekspert
18. marts 2010 - 13:03 #8
Du har en tabel der hedder uc?
Du har et felt der hedder id?
Du har connection til databasen?
Du får din get variabel med?
Der er data i tabellen med det valgte id?
Din side hedder slet.php?

I stedet for at eksekvere sql'en kan du udskrive den.

$sql="DELETE FROM uc WHERE id = ".$sletid."";
//mysql_query($sql);
echo $sql;

Så kan du se hvad der står.
Avatar billede Leoking Nybegynder
19. marts 2010 - 08:25 #9
Altså nu fjerner den indholdet i tabellen efter jeg har flyttet lidt på det .. har smidt linket til slet.php ind på edit siden.

Men selve felterne står der stadig. :/ .. ville gerne ha det fjernet.. er det en if der skal ind så? .. altså en if der gør at hvis de er tomme så blir de ikke vist. Har du koden på det? :)
Avatar billede Leoking Nybegynder
19. marts 2010 - 08:36 #10
Har fundet ud af det.. :) kom med et svar michael_stim så du kan få point .. ;D Tak for hjælpen
Avatar billede michael_stim Ekspert
19. marts 2010 - 08:58 #11
samler ikke på point. Læg selv et svar og accepter.
Avatar billede Leoking Nybegynder
19. marts 2010 - 09:01 #12
Okay :) Men tak alligevel
Avatar billede Leoking Nybegynder
19. marts 2010 - 09:01 #13
:b
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester