Avatar billede kirsten Nybegynder
21. maj 2001 - 15:24 Der er 43 kommentarer og
3 løsninger

Opdatere tabel!?

Jeg er lige igang med sådan en smart nyhedsting!
Hvordan laver jeg en form så jeg kan opdatere nyhederne ud fra deres id!
Tabellen ser sådan her ud:
overskrift, forfatter, nyhed.
Avatar billede BacceDK Juniormester
21. maj 2001 - 15:35 #1
MYSQL_QUERY(\"UPDATE din tabel SET overskrift =\'det der skal i den\', forfatter=\'forfatteren\', nyhed=\'nyheden\' WHERE id=$id\");

Indate
Avatar billede kirsten Nybegynder
21. maj 2001 - 15:37 #2
Kan du ikke skære det lidt ud i pap for mig!!
Hvordan laver jeg det i en form!!!
Avatar billede thomasledet Nybegynder
21. maj 2001 - 15:42 #3
hvordan du laver det i en form? det kommer så sandelig an på, hvad du mener... mener du, hvordan programkoden skal se ud, der udfører dit sql-kald?
Avatar billede kirsten Nybegynder
21. maj 2001 - 15:45 #4
yes, det er intet problem at hive dataerne ud i nogle text fields men hvordan jeg laver det så jeg kan rette og gemme det igen, er spørgsmålet!
:)
Avatar billede disky Nybegynder
21. maj 2001 - 15:48 #5
lav følgende query

update TabelNavn Set (overskriv,forfatter,nyhed) values(\'hans hansen\',\'nyheds navn\',\'bla bla bla\') where nyhedsId=DinID


indate: din løsning er specifik til PHP, hvis kirsten nu er fornuftigt bruger hun jo JSP :)
Avatar billede kirsten Nybegynder
21. maj 2001 - 15:51 #6
diksy, det gør jeg ikke.... :)
Avatar billede disky Nybegynder
21. maj 2001 - 15:52 #7
kirsten, mit svar virker også fra php og asp eller perl eller hvad du nu bruger, det er nemlig ren SQL :-)
Avatar billede kirsten Nybegynder
21. maj 2001 - 15:54 #8
okay, har jeg forstået det rigtigt at values er det jeg angir text boksne til?
Avatar billede BacceDK Juniormester
21. maj 2001 - 15:55 #9
hmm her er en kort form, så må du selv lige rette den til med dine egne variabler

<?
if($action == \'send\'){
mysql_connect(\"din host\", dit brugernavn, $dit password);
    mysql_select_db($database);
MYSQL_QUERY(\"UPDATE din tabel SET overskrift =\'$overskrift\', forfatter=\'$forfatter\', nyhed=\'$nyhed\' WHERE id=$id\");
echo \"din nyhed er nu opdateret\";
}
else{
?>
<html>
<head>
<title>opdater nyhedder</title>
</head>

<body bgcolor=\"white\" text=\"black\" link=\"white\" vlink=\"white\" alink=\"white\">

<p>&nbsp;</p>
<form action=\'$PHP_SELF?action=send\' method=\'post\'>
<p>Overskrift: <input type=\"text\" name=\"overskrift\"><br>
Forfatter: <input type=\"text\" name=\"forfatter\"><br>
&nbsp;Nyhed : <textarea name=\"nyhed\" rows=\"8\" cols=\"37\"></textarea></p>
<p>&nbsp;id: &nbsp;&nbsp;<input type=\"text\" name=\"id\" size=\"5\"><br></p>
<p><input type=\"submit\" value=\"Send nyhed\">&nbsp;</p>
</form>
<p>&nbsp;</p>
</body>
</html>
<?
}
?>

indate
Avatar billede disky Nybegynder
21. maj 2001 - 15:57 #10
kirsten yep.

Det du har i values(...) er indholdet af dine form felter :)
Avatar billede kirsten Nybegynder
21. maj 2001 - 23:28 #11
hmm...
Jeg kan ikke rigtig få det til at spille!!!
Her er hvad jeg har gjort:

<----snip-------->
<?php
    mysql_connect(\"localhost\",\"root\",\"qga28anp\");
    $db = \"hornungdk\";

        $result = mysql_db_query($db, \"select * from nyheder ORDER BY tid DESC\") or die(mysql_error());
       
   
   
   

    while ($row = mysql_fetch_array($result)) {
      echo \"<div align=center><table width=\\\"40%\\\" border=\\\"0\\\" cellpadding=\\\"0\\\" cellspacing=\\\"0\\\"><tr><td><br>\";
      echo \"<form action=\'ret.php\' method=\'post\'>\";
      echo \"<font face=Verdana, Arial, Helvetica, sans-serif size=2>\";
      echo date(\"d/m Y \",$row[\"tid\"]).\"kl. \".date(\"H:i\",$row[\"tid\"]);
      echo \"<br>\";
      echo \"<input type=\'text\' name=\'overskrift\' value=\'$row[overskrift]\'><br>\";
      echo \"<input type=\'text\' name=\'forfatter\' value=\'$row[forfatter]\'><br><br>\";
      echo \"<textarea name=\'nyhed\' cols=\'35\' rows=\'10\'>$row[nyhed]</textarea>\"; 
      echo \"<br>\";
      echo \"<input type=\'hidden\' name=\'sendt\' value=\'true\'><br>\";
      echo \"<input type=\'submit\' value=\'Send\'> <input type=\'reset\' name=\'Reset\' value=\'Reset\'>\";
      echo \"<br></font></form></tr></td></table>\";
          }
      mysql_free_result($result);
     
     
      if($action == \'sendt\'){
      mysql_connect(\"localhost\",\"root\",\"qga28anp\");
      mysql_select_db($hornungdk);
      MYSQL_QUERY(\"UPDATE din nyheder SET overskrift =\'$overskrift\', forfatter=\'$forfatter\', nyhed=\'$nyhed\' WHERE id=$id\");
      echo \"din nyhed er nu opdateret\";
      }
?>
<-------snip---------->

Avatar billede kirsten Nybegynder
21. maj 2001 - 23:31 #12
Hvordan får jeg den til kun at spytte feks nyheden med id 17? Noget i stil med slet.php?id=17!!

:)
Avatar billede BacceDK Juniormester
21. maj 2001 - 23:34 #13
sæt denne ind bag på alle dine mysql forespørgelser så kommer der sikkert en fejl frem

or die(mysql_error());

eks
mysql_connect(\"localhost\",\"root\",\"qga28anp\")or die(mysql_error());

indate
Avatar billede kirsten Nybegynder
21. maj 2001 - 23:37 #14
problemet er jo ikke at jeg ikke kan få kontakt til databasen men at den ikke opdaterer!!
Avatar billede BacceDK Juniormester
21. maj 2001 - 23:45 #15
nej men du skal sætte den på ALLE forespørgelser også den hvor du beder om at opdatere :))
eks
MYSQL_QUERY(\"UPDATE din nyheder SET overskrift =\'$overskrift\', forfatter=\'$forfatter\', nyhed=\'$nyhed\' WHERE id=$id\")or die(mysql_error());
Avatar billede kirsten Nybegynder
21. maj 2001 - 23:46 #16
Er gjort, den returnere ingenting! :(
Avatar billede BacceDK Juniormester
21. maj 2001 - 23:50 #17
men får du overhovedet beskeden
din nyhed er nu opdateret ???
Avatar billede kirsten Nybegynder
21. maj 2001 - 23:54 #18
nej
Avatar billede BacceDK Juniormester
21. maj 2001 - 23:57 #19
echo \"<form action=\'ret.php?action=sendt\' method=\'post\'>\";

der var fejlen :))
Avatar billede kirsten Nybegynder
22. maj 2001 - 00:01 #20
You have an error in your SQL syntax near \'nyheder SET overskrift =\'SLET MIG\', forfatter=\'Christian\', nyhed=\'tester\' WHERE \' at line 1
Det var hvad den spyttede ud!!
Avatar billede BacceDK Juniormester
22. maj 2001 - 00:06 #21
det er garenteret det mellemrum du har ved din\" nyhedder\"
prøv at lave den om til
MYSQL_QUERY(\"UPDATE din_nyheder SET overskrift =\'$overskrift\', forfatter=\'$forfatter\', nyhed=\'$nyhed\' WHERE id=$id\");
og sel.f også rette det i din mysql :))
Avatar billede BacceDK Juniormester
22. maj 2001 - 00:08 #22
ups sådan her
MYSQL_QUERY(\"UPDATE din nyheder SET overskrift =\'$overskrift\', forfatter=\'$forfatter\', nyhed=\'$nyhed\' WHERE id=\'$id\'\")or die(mysql_error());

Avatar billede kirsten Nybegynder
22. maj 2001 - 00:09 #23
tabellen hedder bare nyheder men jeg havde ikke lige set den der!
Jeg rettede dt og fik dette smidt tilbage You have an error in your SQL syntax near \'\' at line 1
Avatar billede BacceDK Juniormester
22. maj 2001 - 00:10 #24
hmm er vist ved at være træt meen det der \"din nyhedder\" det hedder den ik længere oppe hvor du hendter den der hedder den kun \"nyhedder\" måske det er fejlen ???
Avatar billede BacceDK Juniormester
22. maj 2001 - 00:11 #25
lad mig lige se den linie igen hvordan den ser ud nu ???
Avatar billede kirsten Nybegynder
22. maj 2001 - 00:15 #26
if($action == \'sendt\'){
      mysql_connect(\"localhost\",\"root\",\"qga28anp\") or die(mysql_error());
      mysql_select_db($hornungdk);
      MYSQL_QUERY(\"UPDATE nyheder SET overskrift =\'$overskrift\', forfatter=\'$forfatter\', nyhed=\'$nyhed\' WHERE id=$id\") or die(mysql_error());
      echo \"din nyhed er nu opdateret\";
      }
Avatar billede BacceDK Juniormester
22. maj 2001 - 00:16 #27
ret dette id=$id\") til id=\'$id\'\")
Avatar billede kirsten Nybegynder
22. maj 2001 - 00:21 #28
Det hjalp!
Men den opdatere stadigvæk ikke... :(
Jeg bliver nød til at gå til køjs nu.
Tak for indsatsen... :)
Avatar billede BacceDK Juniormester
22. maj 2001 - 00:25 #29
hmm det virker meget underligt hvis den ik opdaterer det
Avatar billede kirsten Nybegynder
22. maj 2001 - 18:26 #30
Hvis der er nogle af jer der kan få det til at virke sætter jeg lidt ekstra point på højkant!!!
:)
Avatar billede BacceDK Juniormester
22. maj 2001 - 21:13 #31
Kan vi få hele scriptet som det ser ud nu ???
Avatar billede kirsten Nybegynder
22. maj 2001 - 23:08 #32
seføli\'
<?php
    mysql_connect(\"localhost\",\"root\",\"qga28anp\");
    $db = \"hornungdk\";

        $result = mysql_db_query($db, \"select * from nyheder ORDER BY tid DESC\") or die(mysql_error());
       
   
   
   

    while ($row = mysql_fetch_array($result)) {
      echo \"<div align=center><table width=\\\"40%\\\" border=\\\"0\\\" cellpadding=\\\"0\\\" cellspacing=\\\"0\\\"><tr><td><br>\";
      echo \"<form action=\'ret.php?action=sendt\' method=\'post\'>\";
      echo \"<font face=\\\"Verdana, Arial, Helvetica, sans-serif\\\" size=\\\"2\\\">\";
      echo date(\"d/m Y \",$row[\"tid\"]).\"kl. \".date(\"H:i\",$row[\"tid\"]);
      echo \"<br>\";
      echo \"<input type=\\\"text\\\" name=\\\"overskrift\\\" value=\\\"$row[overskrift]\\\"><br>\";
      echo \"<input type=\\\"text\\\" name=\\\"forfatter\\\" value=\\\"$row[forfatter]\\\"><br><br>\";
      echo \"<textarea name=\\\"nyhed\\\" cols=\\\"35\\\" rows=\\\"10\\\">$row[nyhed]</textarea>\"; 
      echo \"<br>\";
      echo \"<input type=\\\"hidden\\\" name=\\\"sendt\\\" value=\\\"true\\\"><br>\";
      echo \"<input type=\\\"submit\\\" value=\\\"Send\\\"> <input type=\\\"reset\\\" name=\\\"Reset\\\" value=\\\"Reset\\\">\";
      echo \"<br></font></form></tr></td></table>\";
          }
      mysql_free_result($result);
     
     
      if($action == \'sendt\'){
      mysql_connect(\"localhost\",\"root\",\"qga28anp\") or die(mysql_error());
      mysql_select_db($hornungdk);
      MYSQL_QUERY(\"UPDATE nyheder SET overskrift = \'$overskrift\', forfatter = \'$forfatter\', nyhed = \'$nyhed\' WHERE id = \'$id\'\") or die(mysql_error());
      echo \"din nyhed er nu opdateret\";
      }
?>
Avatar billede BacceDK Juniormester
23. maj 2001 - 03:20 #33
hvis du lige laver $hornungdk om til $db som du jo har sat den til tidligere i scriptet, så skulle den virke :))
Avatar billede BacceDK Juniormester
23. maj 2001 - 03:22 #34
eller også kan du slette den for oven og bruge denne i stedet
mysql_select_db(\"din database\", $connection)or die(mysql_error());

:)))
Avatar billede kirsten Nybegynder
23. maj 2001 - 10:31 #35
det virker stadigvæk ikke.... hvis jeg bruger din sidste mysql_select_db så giver din fejl på den linie!!
Avatar billede BacceDK Juniormester
23. maj 2001 - 13:03 #36
jamen det hjælper da i hvertaldet ikke at skrive
$db = \"hornungdk i toppen og så kalde datebasen for $hornungdk længere nede så skal du kalde den for $db

men hvilken fejl fpr du ???
Avatar billede kirsten Nybegynder
23. maj 2001 - 13:17 #37
Jeg havde sgu ikke lige set den der med databasen!
Den skriver Warning: Supplied argument is not a valid MySQL-Link resource in e:/foxserv/www/news/ret.php on line 30
Avatar billede kirsten Nybegynder
23. maj 2001 - 13:20 #38
Er det ikke denne her den er gal med?
$connection
Avatar billede BacceDK Juniormester
23. maj 2001 - 13:25 #39
hmm ok ok hvis du stadi har denne stående i toppen
$db = \"hornungdk\";
og din database vel og merkede hedder hornungdk
laver du denne linie om

mysql_select_db($hornungdk);

Til

mysql_select_db($db)or die(mysql_error());

hvad sker så ???


Avatar billede kirsten Nybegynder
23. maj 2001 - 13:49 #40
Den gir ikke fejl, men den opdatere heller ikke!!
Avatar billede BacceDK Juniormester
23. maj 2001 - 14:52 #41
hmm jeg har også lige fundet en fejl mere :)) det kunne være jeg skulle lære at kigge det hele igennem :-))) i din sql beder du den opdatere where id = \'$id\' det er også finno meen hvis den skal det skal den jo også have et id tildelt ik ?? det glemmer du at give den oppe i don form så smid denne linie ind i din form
      echo \"<input type=\\\"hidden\\\" name=\\\"$row[id]\\\" value=\\\"$row[id]\\\">\";

så skulle der sku ik være flere problemer :-))
Avatar billede kirsten Nybegynder
27. maj 2001 - 23:55 #42
Det virker stadigvæk ikke.... ØV ØV!!
Avatar billede jannersen Nybegynder
31. maj 2001 - 23:44 #43
Du laver en side som du kalder hvad du har lyst til, men den skal se sådan ud!
(Design osv. må du selvfølgelig gerne lave om!!)

Det med STORT skal du indsætte din egne oplysninger!!

<html>
<head>
<title>Vælge nyhed</title>
</head>
<body>
<form action=\"ret.php\" method=\"postt\">
Vælge nyhed: <select name=\"id\">
<?
$connection = mysql_connect(\"HOST\",\"BRUGERNAVN\",\"PASSWORD\");
mysql_select_db(\"DATABASE\", $connection);

$result = mysql_query(\"select nyhed, id from TABEL\");
while($row = mysql_fetch_array($result)) {
print \"<option>$row[nyhed]</option>\";
}
?>
</select><br>
<input type=\"submit\" value=\"Ret denne nyhed!!\"></form>
</body>
</html>


NB! På denne side vælger du hvilken nyhed du skal rettet!!
-------------------------------------------------------------------
Når den side er lavet, laver du en ny som du kalder: ret.php
Den skal se sådan ud:

<html>
<head>
<title>Ret denne nyhed</title>
</head>
<body>
<?
$connection = mysql_connect(\"HOST\",\"BRUGERNAVN\",\"PASSWORD\");
mysql_select_db(\"DATABASE\", $connection);

$result = mysql_query(\"select nyhed, id, forfatter, overskrift from TABEL\");
while($row = mysql_fetch_array($result)) {
print \"
<form action=\\\"ret_ok.php?id=$row[id]\\\" method=\\\"post\\\">
Overskrift: <input type=\\\"text\\\" name=\\\"overskrift\\\" value=\\\"$row[overskrift]\\\"><br>
Forfatter: <input type=\\\"text\\\" name=\\\"forfatter\\\" value=\\\"$row[forfatter]\\\"><br>
Nyhed: <textarea name=\\\"nyhed\\\" rows=\\\"4\\\" cols=\\\"40\\\">$row[nyhed]</textarea><br>
<br>
<input type=\\\"submit\\\" value=\\\"Ret nyhed\\\"></form>
</body>
</html>


NB! På denne side retter du det der skal rettes!!
-------------------------------------------------------------------
Så laver du en side som hedder: ret_ok.php, og som ser sådan ud:




<?
$connection = mysql_connect(\"HOST\",\"BRUGERNAVN\",\"PASSWORD\");
mysql_select_db(\"DATABASE\", $connection);

mysql_query(\"update TABEL set overskrift = \'$overskrift\', forfatter = \'$forfatter\', nyhed = \'$nyhed\' where id = \'$id\'\");
print \"Nyheden er nu blevet rettet!!\";

?>


NB! denne side retter det for dig!!
Avatar billede kirsten Nybegynder
02. juni 2001 - 15:14 #44
hmm, dens spytter intet ud fra siden hvor man vælger hvilket id man vil rette!?
Jeg har rettet de ting som skulle rettes!
Avatar billede kirsten Nybegynder
02. juni 2001 - 15:23 #45
Nå jeg fandt lige ud af at det er min udbyder det kører godt for!!!!??
:)
Avatar billede kirsten Nybegynder
02. juni 2001 - 16:15 #46
Takker for hjælpen!
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

IT-JOB

Politiets Efterretningstjeneste

Configuration Manager til PET's IT-afdeling

Netcompany A/S

Test Consultant

Netcompany A/S

Test Consultant

Ringkjøbing Landbobank – Nordjyske Bank

Forretningsudvikler til procesoptimering