Avatar billede madsbt Nybegynder
10. december 2005 - 01:06 Der er 14 kommentarer og
2 løsninger

Slette en row i MySQL database via PHP

Hej
Jeg er igang med at lave en gæstebog i PHP og mangler lige nu en funktion der skal kunne slette "uønskede" beskeder i gæstebogen. Gæstebogens info ligger i en mysql database, og jeg har defineret en værdi i tabellen "nr".
nr = mediumint(20) AUTO_INCREMENT, PRIMARY KEY. At nummer ikke gider starte ved 1 men ved 13 er hvad det er(evt løsning på dette også ville være meget dejligt) men jeg forsøger gennem nr at slette en besked. Ideen var at der under navn på afsender i gæstebogen skulle være en knap der hedder "slet" hvor admin så kunne fjerne den. Denne knap har jeg forsøgt at lave sådan:

//Opdater Site og sender info via POST.
<form method="post" action="<? echo $PHP_SELF; ?>">
//Værdi der genkendes af if-sætning
<input type="hidden" name="slet" value="1" />
//Beskednummer
<input type="hidden" name="<? echo $data["nr"]; ?>" />
<input type="submit" value="Slet" />
</form>

Den skulle gerne sende beskedens nummer videre til denne if-sætning ved genlæsning af side:
if ($_POST["slet"]){
    mysql_query("DELETE FROM gastebog WHERE nr = $_POST["nr"]")
    or die(mysql_error());
}

Her kommer problemet så at jeg ikke kan bruge en variable inde i min mysql_query(eller det brokker min Apache sig over ihvertfald ;) )

Hvad skal jeg gøre ?

Udklip af hele koden ligger på: www.mesterbaldur.dk/udklip.txt

PS. Håber det ikke er alt for uklart ;-)
Avatar billede johan.o Nybegynder
10. december 2005 - 01:10 #1
Umiddelbart tror jeg det er brugen af $_POST["nr"]

prøv $_POST['nr'] istedet

Mvh. Johan
Avatar billede jaw Nybegynder
10. december 2005 - 01:10 #2
Jeg ville personligt ikke bruge forms, men bare bruge et link:

echo "<a href='slet.php?nr=".$data['nr']."'>Slet</a>";

Og så på slet.php:

if(isset($_GET['nr']) && is_numeric($_GET['nr'])) {
  mysql_query("DELETE FROM gaestebog WHERE nr = ".$_GET['nr']);
} else {
  echo "Fejl i nr.";
}
Avatar billede madsbt Nybegynder
10. december 2005 - 11:42 #3
Hehe kommentarer kan ikke få point de herre !
Avatar billede johan.o Nybegynder
10. december 2005 - 11:57 #4
Hvis jeg nogensinde har set en hentydning, så var det da vist en :)

Mvh. Johan
Avatar billede jaw Nybegynder
10. december 2005 - 13:11 #5
Hvilken løsning har du brugt da? Det er jo 2 ret forskellige ting vi gør/foreslår :)
Avatar billede madsbt Nybegynder
10. december 2005 - 14:40 #6
Jeg brugte Jaws men Johans ville sikkert også have duet ;-)
Avatar billede johan.o Nybegynder
10. december 2005 - 14:43 #7
Jamen, så takker jeg da for point :)

Mvh. Johan
Avatar billede jaw Nybegynder
10. december 2005 - 15:14 #8
Ja, ja, pive gider jeg ikke - men det er noget fis efter min mening :)

Men også tak for point herfra...
Avatar billede johan.o Nybegynder
10. december 2005 - 15:20 #9
jaw>> Som jeg ser det, så prøvede jeg (ved jo ikke om det virkede) at løse problemet, hvor du mere tilbød en alternativ løsning. Jeg vurderer ikke om den er bedre eller ej :)

MEN hvis du føler at der lugter ilde her så skal jeg da med glæde overfører 15 point til dig :)

Mvh. Johan
Avatar billede jaw Nybegynder
10. december 2005 - 15:22 #10
Nej, nej, min pointe var ikke mængden af point, for dem mangler jeg jo som sådan ikke just, men mere at folk ikke "tør" at afvise de svar de enten ikke bruger, eller som ikke virker, men bare giver point til alle der deltager :) (Som jeg mener Eksperten lægger op til)

Sagde jo også, at jeg ikke gider bitche over det, for det var som sagt ikke pointen.
Avatar billede johan.o Nybegynder
10. december 2005 - 15:25 #11
Nahj, det ved jeg godt du sagde, men det er lidt ligesom der hjemme ikke......hun siger "Det behøver du ikke tænke på !"....hun mener..."Det er sgu da logik for burhøns at du skal tænke over sådan noget" :)

Mvh. Johan
Avatar billede jaw Nybegynder
10. december 2005 - 15:27 #12
Hehe, tjoh. Men nej, det er faktisk mere fordi det et eller andet sted irriterer mig lidt. Lige det her spørgsmål var jo bare en enkelt kommentar fra os begge, så pyt. Men sidder man, måske bruger et par timer på at hjælpe, så kommer der en anden med en enkelt lille bitte kommentar, og så splitter man point, det synes jeg ikke er helt som det skal være :)

Men lad den så ligge her, det var ikke meningen den skulle køres så meget op, og nu er vi vist ude i noget spam :)
Avatar billede johan.o Nybegynder
10. december 2005 - 15:29 #13
Allright, vi stopper her, men vi er jo også fuldstændigt enige så det fører vist kun til yderligerer rygklap og indforstået nikken :)

Mvh. Johan
Avatar billede madsbt Nybegynder
10. december 2005 - 15:39 #14
Hehe jeg gav begge point fordi Johans løsning fungerede for mig. Men Jaws var en jeg ikke selv havde tænkt på og faktisk virkede bedre på min side. Derfor ville det være forkert ikke at give begge point :D
Avatar billede johan.o Nybegynder
10. december 2005 - 15:46 #15
Sådan der, big thumbs up :)

Mvh. Johan
Avatar billede jaw Nybegynder
10. december 2005 - 16:40 #16
Allrigt, så er situationen også en lidt anden - fair nok :)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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