Avatar billede artico Novice
17. februar 2005 - 13:08 Der er 7 kommentarer og
1 løsning

Henter forkert i DBén

Jeg har en siden med flg. link:
<a href='$_PHP_SELF?id=".$row[id]."&nx=opgaver/ret_opgave'>

Som godt nok medtager ID til næste side med denne kode:

if($_POST['task']=="ok") {

$insertSQL  = "UPDATE opgaver SET id='".$_POST['id']."', gruppe='".$_POST['gruppe']."', menupunkt='".$_POST['menupunkt']."', opgave='".$_POST['opgave']."', deadline='".$_POST['deadline']."', prioritering='".$_POST['prioritering']."' ";

mysql_query($insertSQL) or die(mysql_error());
      echo "<script>top.location.href = 'index.php?nx=opgaver/opgaver';</script>";

  }
$result = mysql_query("select *,date_format(oprettet, '%e-%c %Y ') AS oprettet,date_format(deadline, '%e-%c %Y ') AS deadline from opgaver where id='".$_POST['id']."' ")or die (mysql_error());

if($row = mysql_fetch_array($result))


{
?>
<html>
    <body bgcolor="#ffffff">
   
    <br>
        <b>Opgaver</b><br>
        <form id="" action="<?= $_SERVER['REQUEST_URI'] ?>" method="post" name="">
            <table width="122" border="0" cellspacing="2" cellpadding="2">
                <tr>
                    <td><input type="hidden" name="task" value="ok"></td>
                    <td></td>
                </tr>
                <tr>
                    <td>ID</td>
                    <td><? echo $_GET['id'];?></td>
                </tr>
                <tr>
                    <td>Gruppe</td>
                    <td><select name="gruppe" size="1">
                            <option value="programmering">Programmering</option>
                            <option value="tekster">Tekster</option>
                            <option value="design">Design</option>
                            <option value="markedsføring">Markedsf&oslash;ring</option>
                            <option value="økonomi">&Oslash;konomi</option>
                            <option value="ide">ide</option>
                        </select></td>
                </tr>
                <tr>
                    <td>Menupunkt</td>
                    <td><select name="menupunkt" size="1">
                            <option>admin</option>
                            <option value="slagtermester">Slagtermester</option>
                            <option value="leverandører">Leverand&oslash;rer</option>
                            <option value="annoncøre">Annonc&oslash;re</option>
                            <option value="kunder">Kunder</option>
                            <option value="indkøbslister">Indk&oslash;bslister</option>
                            <option value="opskrifter">Opskrifter</option>
                            <option value="metainfo">Metainfo</option>
                            <option value="ejerinfo">Ejer info</option>
                            <option value="opgaver">Opgaver</option>
                            <option>Public forside</option>
                            <option value="ugepakker">ugepakker</option>
                        </select></td>
                </tr>
                <tr>
                    <td>Opgave</td>
                    <td><textarea name="opgave" rows="4" cols="40"><? echo $row[opgave]?></textarea></td>
                </tr>
                <tr>
                    <td>Deadline</td>
                    <td><input type="text" name="deadline" value="<? echo $row[deadline]?>" size="24"></td>
                </tr>
                <tr>
                    <td>Prioritering</td>
                    <td><select name="prioritering" size="1">
                            <option value="1">ingen</option>
                            <option value="2">H&oslash;j</option>
                            <option value="3">Lav</option>
                        <? echo $row[prioritering]?></select></td>
                </tr>
                <tr>
                    <td></td>
                    <td><input type="hidden" name="status" value="0"></td>
                </tr>
                <tr>
                    <td></td>
                    <td></td>
                </tr>
                <tr>
                    <td></td>
                    <td><input type="submit" name="submitButtonName" value="Opdater opgave"></td>
                </tr>
                <tr>
                    <td></td>
                    <td></td>
                </tr>
            </table>
        </form>
        <p></p>
    <?
} else {
  echo("Systemet er ikke oprettet til brug endnu !!");
}
?>
    </body>
</html>

Mit problem er at den ikke henter de rigtige data ud af DBén, óg dermed ikke lader mig opdatere rigtigt ?

Hvad står forkert ??
Avatar billede erikjacobsen Ekspert
17. februar 2005 - 14:23 #1
Jeg kan se to ting:

1) Har du et felt med dit "id" i fra databasen, som du får med over når du skal opdatere?
2) Din UPDATE sætning skal indeholde en WHERE id=....  så du kun opdaterer een post i tabellen.
Avatar billede artico Novice
17. februar 2005 - 19:37 #2
jeps det kommer med: <a href='$_PHP_SELF?id=".$row
2. er det  WHERE id='$id'?
Avatar billede erikjacobsen Ekspert
17. februar 2005 - 20:27 #3
Sådan en fyr hentes med $_GET['id'] ikke $_POST....
2. Ja.
Avatar billede artico Novice
17. februar 2005 - 23:02 #4
skal denne linie så udskiftes med $_GET istedet for ?
$insertSQL  = "UPDATE opgaver SET id='".$_POST['id']."', gruppe='".$_POST['gruppe']."', menupunkt='".$_POST['menupunkt']."', opgave='".$_POST['opgave']."', deadline='".$_POST['deadline']."', prioritering='".$_POST['prioritering']."' ";
Avatar billede artico Novice
18. februar 2005 - 00:01 #5
Nu henter den rigtigt, men lægger ikke ændringer i DBén... så fejlen må være her,
$insertSQL  = "UPDATE opgaver SET gruppe='".$_POST['gruppe']."', menupunkt='".$_POST['menupunkt']."', opgave='".$_POST['opgave']."', deadline='".$_POST['deadline']."', prioritering='".$_POST['prioritering']."' WHERE id='$id' ";

    mysql_query($insertSQL) or die (mysql_error());

Står der noget forkert ??
Avatar billede erikjacobsen Ekspert
18. februar 2005 - 06:50 #6
Jah, ok, men du er tæt på. Du skal ikke bruge $id, den findes ikke. Jeg sagde "Ja" før til den generelle syntax for WHERE - ikke specielt til $id  .... ;)

Men du kan fx blot før din SQL-sætning

    $id = $_GET['id'];

Så bør det virke, og du kan så senere tilføje checks på at det faktisk er etg tal.
Avatar billede artico Novice
18. februar 2005 - 12:32 #7
Fedt nu fungere det !!! lige en lille ting :-) når jeg skal redigere henter den fint nok værdierne fra DBén ind i textarea etc. men ikke i select, der viser den ikke DBéns værdi, kan man få den til det ?
Avatar billede artico Novice
14. august 2005 - 20:20 #8
lukker
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