Avatar billede aagren Nybegynder
11. april 2003 - 17:11 Der er 13 kommentarer

UPDATE - hjælp

Jeg sidder og prøver at bikse en fil sammen der skal kunne opdatere - men det går ikke helt så nemt, som jeg havde håbet på. En/nogle der kan hjælpe?
De varabler der er gemt i databasen er: id - spoergsmaal - svar
Id skal forblive det sammen, med det skal være muligt at ændre spoergsmaal og/eller svar. Jeg havde tænkt mig, at man i text og textarea skal kunne se hvad der i forvejen står og gå ind at rette i det - men det virker heller ikke.

Der er intet der virker :(

Det kode jeg har prøvet at lave ser sådan ud:

<?php
include_once ("..//database.inc.php");
$id = $_GET['id'];

$update = "UPDATE spoergsmaal, svar FROM faq WHERE id='$id'";
$selectResult = mysql_query($update);

if(!mysql_query($update)){
    $message = "Data er opdateret!";
} else {
    $message = "Data er IKKE opdateret";
}
?>

<html>
<head>
<title>Opdater data i faq</title>
</head>
<body>
<h1>Opdateret data</h1>

<?php
//while ($select = mysql_fetch_array($selectResult)){
?>
<form action="faq_update_insert.php" method="post">
<table>
      <tr>
          <td>Spørgsmål:</td>
          <td><input type="text" name="spoergsmaal" value=<?php $select['spoergsmaal'] ?>></td>
      </tr>
      <tr>
          <td>Svar:</td>
          <td><textarea name="svar" cols="40" rows="7" value=<?php $select['svar'] ?> ></textarea></td>
      </tr>
      <tr>
          <td> </td>
      </tr>
  <?php
//}
?>
</table>
</form>

<?php echo $message; ?><br/>
<a href="faq_content.php"></a>

</body>
</html>
Avatar billede a_eriksen Nybegynder
11. april 2003 - 17:18 #1
UPDATE table SET var=value, var2=value2 WHERE var3=value3
Avatar billede aagren Nybegynder
11. april 2003 - 17:32 #2
Mener du, a_eriksen, at jeg skal ændre

$update = "UPDATE spoergsmaal, svar FROM faq WHERE id='$id'";

til

$update = "UPDATE faq spoergsmaal='$spoergsmaal', svar='$svar' WHERE id='$id'";

???

For det hjælper mig ikke så meget!!!
Avatar billede a_eriksen Nybegynder
11. april 2003 - 17:37 #3
Pas lige på hvad din kode egentlig gør. Du udfører din update to gange, så anden gang vil det nok ikke se ud som om der er sket nogle ændringer.

Første gang her:
$update = "UPDATE spoergsmaal, svar FROM faq WHERE id='$id'";
$selectResult = mysql_query($update);

Og anden gang her:
if(!mysql_query($update)){
    $message = "Data er opdateret!";
Avatar billede a_eriksen Nybegynder
11. april 2003 - 17:39 #4
En UPDATE returnerer heller ikke nogle data, så du er nødt til at lave en SELECT bagefter for at få data ud.
Avatar billede aagren Nybegynder
11. april 2003 - 17:40 #5
Hmm......er det ikke bare en besked den sidste???
Nu er jeg da helt forvirret.....jeg er heller ingen haj til det, men prøver at lære det :)
Avatar billede aagren Nybegynder
11. april 2003 - 18:04 #6
Nu har jeg prøvet at lege lidt mere med det....men.....i mit text og textarea - har jeg ikke fået hentet det ind som er i databasen......hvordan gøres det?
Og hvad skal der ellers laves?

Min første fil faq_selected_update.php

<?php
include_once ("..//database.inc.php");
$id = $_GET['id'];

$selectSQL = "SELECT spoergsmaal, svar FROM faq WHERE id='$id'";
$selectResult = mysql_query($selectSQL);
?>

<html>
<head>
<title>Opdater data i faq</title>
</head>
<body>
<h1>Opdateret data</h1>

<?php
while ($select = mysql_fetch_array($selectResult)){
?>
<form action="faq_update.php" method="post">
<table>
      <tr>
          <td>Spørgsmål:</td>
          <td><input type="text" name="spoergsmaal" value=<?php $select['spoergsmaal'] ?>></td>
      </tr>
      <tr>
          <td>Svar:</td>
          <td><textarea name="svar" cols="40" rows="7" value=<?php $select['svar'] ?> ></textarea></td>
      </tr>
      <tr>
          <td><?php echo "<a href=\"faq_update.php?id=$select[id]\">Opdater FAQ</a>"; ?></td>
      </tr>
  <?php
}
?>
</table>
</form>

<?php echo $message; ?><br/>
<a href="faq_content.php"></a>

</body>
</html>



Min anden fil faq_update.php

<?php
include_once ("..//database.inc.php");
$id = $_GET['id'];

$update = "UPDATE faq spoergsmaal='$spoergsmaal', svar='$svar' WHERE id='$id'";

if(!mysql_query($update)){
    $message = "Data er opdateret!";
} else {
    $message = "Data er IKKE opdateret";
}
?>

<html>
<head>
<title>Opdater data i faq</title>
</head>
<body>
<h1>Opdateret data</h1>


<?php echo $message; ?><br/>
<a href="faq_selected_update.php"></a>

</body>
</html>
Avatar billede a_eriksen Nybegynder
11. april 2003 - 18:08 #7
textareas skal bruges sådan:
<textarea name="navn">Teksten</textarea>
Avatar billede aagren Nybegynder
11. april 2003 - 19:30 #8
Hvad er der så galt? Det der sker er at når jeg prøver at opdatere, så slette den væriderne i variablerne spoergsmaal og svar - så der ikke er noget i de felter i min database.

nu ser faq_selected_update.php sådan ud:

<?php
include_once ("..//database.inc.php");
$id = $_GET['id'];

$selectSQL = "SELECT * FROM faq WHERE id='$id'";
$selectResult = mysql_query($selectSQL);
?>

<html>
<head>
<title>Opdater data i faq</title>
</head>
<body>
<h1>Opdateret data</h1>

<?php
while ($select = mysql_fetch_array($selectResult)){
?>
<form action="faq_update.php" method="post">
<table>
      <tr>
          <td><input type="hidden" name="id" value="<?php echo $select['id'] ?>"></td>
      </tr>
      <tr>
          <td>Spørgsmål:</td>
          <td><input type="text" name="spoergsmaal" value="<?php echo $select['spoergsmaal'] ?>"></td>
      </tr>
      <tr>
          <td>Svar:</td>
          <td><textarea name="svar" cols="40" rows="7"><?php echo $select['svar'] ?></textarea></td>
      </tr>
      <tr>
          <td><?php echo "<a href=\"faq_update.php?id=$select[id]\">Opdater FAQ</a>"; ?></td>
      </tr>
  <?php
}
?>
</table>
</form>

<?php echo $message; ?><br/>
<a href="faq_content.php"></a>

</body>
</html>


Og faq_update.php sådan ud:

<?php
include_once ("..//database.inc.php");
$id = $_GET['id'];

$update = "UPDATE faq SET spoergsmaal='$spoergsmaal', svar='$svar' WHERE id='$id'";

if(!mysql_query($update)){
    $message = "Data er opdateret!";
} else {
    $message = "Data er IKKE opdateret";
}
?>

<html>
<head>
<title>Opdater data i faq</title>
</head>
<body>
<h1>Opdateret data</h1>


<?php echo $message; ?><br/>
<a href="faq_selected_update.php"></a>

</body>
</html>
Avatar billede a_eriksen Nybegynder
11. april 2003 - 19:37 #9
$spoergsmaal=$_POST['spoergsmaal'];
$svar=$_POST['svar'];
i din faq_update.php, ellers er de variable jo tomme
Avatar billede aagren Nybegynder
11. april 2003 - 19:46 #10
Så det kommer til at se sådan ud?

?php
include_once ("..//database.inc.php");
$id = $_GET['id'];
$spoergsmaal=$_POST['spoergsmaal'];
$svar=$_POST['svar'];
.....


Det hjælper i hvertfald ikk :(
Avatar billede a_eriksen Nybegynder
11. april 2003 - 19:50 #11
Prøv med
$spoergsmaal=$_GET['spoergsmaal'];
$svar=$_GET['svar'];

Ellers lav nogle echo af dine variable forskellige steder i koden så du kan så om de overhovedet indeholder det du tror de gør
Avatar billede aagren Nybegynder
11. april 2003 - 20:57 #12
Ja jeg prøver....men jeg kan stadig ikke finde fejlen :)
Avatar billede aagren Nybegynder
15. april 2003 - 12:28 #13
Ingen andre bud?
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