22. juni 2008 - 14:14Der er
18 kommentarer og 1 løsning
Redigering af Mysql data
Hej jeg har lige et spørgsmål ang. redigering af MySQL data. Jeg har oprettet en velkomst tabel i phpmyadmin, og skrevet en lille velkomst besked. Men i modsætningen til f.eks. nyheder, hvor du bare indsætter en ny teskt, vil jeg gerne have, at man får teksten fra mysql databasen, ud i et tekstfelt, så man kan redigere og trykke gem, og så bliver velkomsten redigeret i Mysql tabellen.
Håber i forstår, ellers bare spørg ind til det.
PS. Jeg har lavet sådan at jeg sagtens kan se velkomsten og skrive den. Men vil gerne have at den bliver redigeret, i stedet for bare at lave en ny. :)
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Okay .. Hvis jeg forstår dig rigtigt, så skal du bare bruge koden
UPDATE tabel_navn SET [text] = 'dittekst' WHERE [id] = 124
I stedet for 'dittekst' skal du så hente den tekst der skal gemmes, og i stedet for 124 skal du have id'et på den række der skal ændres. I og med du kan hente tekst frem kan du også finde id'et, og dermed også gemme ændringerne.
Hvor skal jeg sætte koden ind henne af? Jeg har velkomst.php som indholder mit tekstfelt hvor jeg kan skrive, også har jeg sat den til post på index.velkomst.php, hvor jeg lige nu har en alm. mysql_query("insert to .. kode. Men er det den (mysql_query red.) som skal laves om til UPDATE?
Den bruges akkurat ligesom en MySQL INSERT. Du skal altså have en form hvor dataene indsættes der så har en action til en side hvor der fx står :
<?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("my_db", $con); $tekst = $_POST['tekst']; mysql_query("UPDATE tabel SET tekst = '$tekst' WHERE id = '$id'"); ?>
Du skal dog lige rette nogle små ting så den passer. Men i teorien det samme som MySQL INSERT bortset fra at den opdatere og ikke indsætter.
Ja. Altså hvis rækken i tabellen hedder tekst skal der stå SET tekst = 'den nye tekst'. Og da du vel har den nye tekst i en variabel kan du kalde denne tekst. Har du fx en variabel med navnet $indhold skal der så stå
Tja.. Min række i tabellen velkomst hedder også bare velkomst.
<?
include("mysql.php");
mysql_query("UPDATE velkomst SET velkomst = '$tekst' WHERE id = '$3'") or die(mysql_error());
echo "Din nyhed er oprettet";
?>
Men mht. variabel, tror jeg ikke jeg har sådan en. Jeg har bare en normal php side, som hedder velkomst.php, hvor der er en alm. opsætning med et tekstfelt og en Submit knappe. Den går så over til index.velkomst.php, som indeholder den ovenstående insert kode. Så lige i de 2 filer, kan jeg ikke rigtig se nogen variabel? Hvis du kan følge mig.
Ja. $3 betyder variablen ved navn 3. Og hvis ikke du har sat $3 til at have en værdi leder den efter den række hvor id = ''. Hvis den skal opdatere hvor id er 3 skal der stå:
mysql_query("UPDATE velkomst SET velkomst = '$tekst' WHERE id = '3'") or die(mysql_error());
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.