Avatar billede andsvel Nybegynder
22. april 2008 - 14:16 Der er 10 kommentarer og
1 løsning

simpel UPDATE som ikke virker

Jeg har lavet en UPDATE for et par år siden, og den er blevet brugt flittigt.

Jeg er nu stødt på et problem :-/

jeg har lavet et nyt site og min UPDATE lader ikke til at virke på siden.

------------------------------------------------------------------

here goes (beklager den rodede kode!)

<?
include("db.php");

$query = mysql_query("SELECT * FROM sc") or die(mysql_error());

            while($data = mysql_fetch_array($query)){
       
        $overskrift = $data["overskrift"];
        $tekst = $data["tekst"];
        $id = $data["id"];
       
           
        echo "<a href=\"ret_side_test.php?id=$id\">".$overskrift."</a><br>";
       
       
        }
       
        if(isset($_POST["submit"])){
    $id = $_GET["id"];
    $tekst = $_POST["tekst"];
    $overskrift = $_POST["overskrift"];
    echo "rettet";
   
    mysql_query("UPDATE sc SET `tekst` = '$tekst', `overskrift` = '$overskrift' WHERE id = '$id'") or die(mysql_error());
   
} else {


    $id = $_GET[id];   
$query = mysql_query("SELECT * FROM sc WHERE id = '$id'") or die(mysql_error());
$data = mysql_fetch_array($query);
$tekst = $data['tekst'];
$overskrift = $data['overskrift'];
        ?>
       
       
        <form action="<? echo $PHP_SELF ?>" method="post" name="$opretside" id="$opretside">
              <span class="style10">Overskrift:<br />
              <input name="overskrift" type="text" value="<? echo $data[overskrift]?>" />
              <br />
              <br />
              <span class="style10">Tekst:</span><br />
              <textarea name="tekst" cols="80" rows="20" ><? echo $data[tekst]?>
          </textarea>
              <br />
              <br />
              <input type="submit" name="submit" value="ret side" />
            </form>
            <?
            }
            ?>

Jeg får ingen fejl, og den når fint til at Echo'e "rettet".
Avatar billede andsvel Nybegynder
22. april 2008 - 14:18 #1
Kan tilføje, at den eneste fejl jeg oplever er, at den ikke opdaterer noget.. alt andet virker.
Avatar billede danishmale Nybegynder
22. april 2008 - 14:27 #2
Prøv denne istedetfor:

mysql_query("UPDATE sc SET `tekst` = '".$tekst."', `overskrift` = '".$overskrift."' WHERE id = '".$id."'") or die(mysql_error());
Avatar billede andsvel Nybegynder
22. april 2008 - 14:43 #3
Der er desværre ingen ændring
Avatar billede andsvel Nybegynder
22. april 2008 - 14:50 #4
for at skære det helt ned til benet.

<?
include("db.php");

if(isset($_POST["overskrift"])){
    $id = $_GET[id];
    $test = $_POST["test"];
       
    mysql_query("UPDATE test SET `test` = '".$test."' WHERE id = 1") or die(mysql_error());
   
} else {
   
$query = mysql_query("SELECT * FROM test WHERE id = 1") or die(mysql_error());
$data = mysql_fetch_array($query);
$test = $data['test'];
?>



            <form action="<? echo $PHP_SELF ?>" method="post" name="$opretside" id="$opretside">
           
              <input name="test" type="text" value="<? echo $data[test]?>" />
           
              <input type="submit" name="submit" value="ret side" />
            </form>
          <?
          }
          ?>


--------------------------------------------------------

se det her: http://www.securicon.dk/admin/ret_side_test.php
Avatar billede andsvel Nybegynder
22. april 2008 - 14:52 #5
ah if(isset($_POST["overskrift"])){
rettet til if(isset($_POST["test"])){

og dette virker.

så forstår jeg ikke hvorfor det ikke virker med den anden kode
Avatar billede andsvel Nybegynder
22. april 2008 - 15:05 #6
udbygget som før. samme fejl: ingen opdatering

<?
include("db.php");


$query = mysql_query("SELECT * FROM test") or die(mysql_error());

            while($data = mysql_fetch_array($query)){
       
        $test = $data["test"];
        $testto = $data["testto"];
        $id = $data["id"];
       
           
        echo "<a href=\"ret_side_test.php?id=$id\">".$test."</a><br>";
       
       
        }
if(isset($_POST["test"])){
    $id = $_GET[id];
    $test = $_POST["test"];
    $testto = $_POST["testto"];
       
    mysql_query("UPDATE test SET `test` = '".$test."', `testto` = '".$testto."' WHERE id = '".$id."'") or die(mysql_error());
   
} else {
$id = $_GET[id];   
$query = mysql_query("SELECT * FROM test WHERE id = '".$id."'") or die(mysql_error());
$data = mysql_fetch_array($query);
$test = $data['test'];
$testto = $data['testto'];

?>



           
    <form action="<? echo $PHP_SELF ?>" method="post" name="$opretside" id="$opretside">
            <input name="id" type="text" value="<? echo $id?>" />
              <input name="test" type="text" value="<? echo $data[test]?>" />
              <input name="testto" type="text" value="<? echo $data[testto]?>" />
           
              <input type="submit" name="submit" value="ret side" />
            </form>
          <?
          }
          ?>
Avatar billede coderdk Praktikant
22. april 2008 - 16:17 #7
$id = $_GET[id]; 

skal vel være

$id = $_POST['id'];
Avatar billede andsvel Nybegynder
24. april 2008 - 10:54 #8
<?


$query = mysql_query("SELECT * FROM sc") or die(mysql_error());

            while($data = mysql_fetch_array($query)){
       
        $overskrift = $data["overskrift"];
        $tekst = $data["tekst"];
        $id = $data["id"];
       
           
        echo "<a href=\"ret_side.php?id=$id\">".$overskrift."</a><br>";
       
       
        }
       
       
       
        if(isset($_POST["overskrift"])){
    echo "<span class=\"style1\">Siden er rettet!<br><br><br><a href=forside.php>Tilbage</span></a>";
    $id = $_POST[id];
    $tekst = $_POST["tekst"];
    $overskrift = $_POST["overskrift"];
   
   
    mysql_query("UPDATE sc SET `tekst` = '".$tekst."', `overskrift` = '".$overskrift."' WHERE id = '".$id."'") or die(mysql_error());
   
} else {


    $id = $_GET[id];   
$query = mysql_query("SELECT * FROM sc WHERE id = '$id'") or die(mysql_error());
$data = mysql_fetch_array($query);
$tekst = $data['tekst'];
$overskrift = $data['overskrift'];

   
?>



            <form action="<? echo $PHP_SELF ?>" method="post" name="$opretside" id="$opretside">
              <span class="style10">Overskrift:<br />
              <input name="overskrift" type="text" value="<? echo $data[overskrift]?>" />
              <br />
              <br />
              <span class="style10">Tekst:</span><br />
              <textarea name="tekst" cols="80" rows="20" ><? echo $data[tekst]?>
          </textarea>
              <br />
              <br />
              <input type="submit" name="submit" value="ret side" />
            </form>
          <?
     

}
?>

--------------------------

ingen ændring
Avatar billede coderdk Praktikant
24. april 2008 - 11:05 #9
prøv lige før

<input name="overskrift" type="text" value="<? echo $data[overskrift]?>" />

at indsætte

<input name="id" type="hidden" value="<? echo $data['id']?>" />
Avatar billede andsvel Nybegynder
24. april 2008 - 11:13 #10
perfect, smid et svar.
Avatar billede coderdk Praktikant
24. april 2008 - 11:17 #11
ok :)
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