Avatar billede kappel Nybegynder
27. maj 2005 - 12:12 Der er 17 kommentarer og
1 løsning

Rediger i news mysql tabel

Hej eks.

Jeg har følgende der sletter en nyhed, jeg vil gerne lave den om så brugeren får mulighed for at ændre [id] istedet, er der nogle der kan hjælpe?

<?php
    include('include.php');

    $id = $_GET['id'];

    mysql_select_db($database, $db);
    $del = "update news set status = 0 where id = $id";
    mysql_query($del);
   
    header('location:add.php');
?>

/Kappel
Avatar billede Bjarne Novice
27. maj 2005 - 18:39 #1
Kan du uddybe det lidt? "Så brugeren får mulighed for at ændre[id]"?
Avatar billede kappel Nybegynder
29. maj 2005 - 10:21 #2
jeg skal prøve, ud fra hver nyhed der er tilføjet, står der "slet" og indlægget kan slettes med ovenstående php script, jeg vil dog også gerne give mulighed for at ændre i den tekst der skrevet i nyheden istedet for at slette den.

Håber det giver mere mening, ellers må du sige til.

/kappel
Avatar billede Bjarne Novice
29. maj 2005 - 14:31 #3
hjalp en med det i denne tråd: http://www.eksperten.dk/spm/616012

Håber du kan bruge det
Avatar billede kappel Nybegynder
29. maj 2005 - 17:29 #4
Tak for linket, jeg har kigget på og fået det til at virke.

Har dog et enkelt problem, da linjeskift vises med <br />, det skal jo ikke med, hvordan ændrer man det?
Avatar billede Bjarne Novice
29. maj 2005 - 22:26 #5
Ved ikke helt hvor du mener de <br /> kommer. Men prøv at køre det igennem strip_tags().
Avatar billede kappel Nybegynder
30. maj 2005 - 08:34 #6
okay det prøver jeg, eksempel:

teskt...
linjeskift
tekst...

ser sådan ud:
tekst....
<br />
tekst...
Avatar billede kappel Nybegynder
30. maj 2005 - 08:35 #7
og ikke sådan:
tekst...

tekst...

Hvor skal strip_ ind henne?
Avatar billede Bjarne Novice
30. maj 2005 - 17:51 #8
inden du skriver det ud på siden, kører du det igennem strip_tags()

strip_tags($text);
Avatar billede kappel Nybegynder
30. maj 2005 - 18:38 #9
mysql_query("UPDATE news SET text  = '$text' WHERE id = '$id'") or die(mysql_error());
    echo 'Done!';
Avatar billede kappel Nybegynder
30. maj 2005 - 18:45 #10
mysql_query("UPDATE news SET text  = '$text' WHERE id = '$id'") or die(mysql_error());
strip_tags($text);
echo 'Done!';

dette virker f.eks ikke, hvordan skal det så stå
Avatar billede Bjarne Novice
30. maj 2005 - 21:56 #11
Det er ikke når du indsætter teksten, men når du udskriver den:)

Altså:

$newtext = strip_tags($row[text]);

Så kan du udskrive indholdet af variablen "newtext" i det textarea, hvor du redigere
Avatar billede kappel Nybegynder
31. maj 2005 - 09:31 #12
jeg er åbenbart særlig skarp, det her virker ikke:

<?

    include('include.php');

    if($_GET['action'] AND $_GET['id']) {

    if($_GET['action'] == "delete") {
        $query = mysql_query("DELETE FROM news WHERE id = '$_GET[id]'") or die(mysql_error());
    echo 'Done!';
    } elseif($_GET['action'] == "edit") {
        $query = mysql_query("SELECT * FROM news WHERE id = '$_GET[id]'") or die(mysql_error());
        $row = mysql_fetch_row($query);
        $newtext = strip_tags($row[text]);
    echo '<form method="post" action="'.$_SERVER[PHP_SELF].'">';
    echo '<textarea name="newtext" rows="10" cols="30">'.$row[3].'</textarea><br />';
    echo '<input type="hidden" value="'.$row[0].'" name="id">';
    echo '<input type="submit" value="Go">';

    echo '</form>';
    }
    } elseif($_POST['text']) {
        $text = nl2br($_POST['text']);
        $id = $_POST['id'];

    mysql_query("UPDATE news SET text  = '$text' WHERE id = '$id'") or die(mysql_error());
   
    echo 'Done!';
    }
?>
Avatar billede kappel Nybegynder
31. maj 2005 - 09:31 #13
åbenbart IKKE særlig
Avatar billede Bjarne Novice
31. maj 2005 - 15:08 #14
<?

    include('include.php');

    if($_GET['action'] AND $_GET['id']) {

    if($_GET['action'] == "delete") {
        $query = mysql_query("DELETE FROM news WHERE id = '$_GET[id]'") or die(mysql_error());
    echo 'Done!';
    } elseif($_GET['action'] == "edit") {
        $query = mysql_query("SELECT * FROM news WHERE id = '$_GET[id]'") or die(mysql_error());
        $row = mysql_fetch_row($query);
        $text = strip_tags($row[3]);
    echo '<form method="post" action="'.$_SERVER[PHP_SELF].'">';
    echo '<textarea name="newtext" rows="10" cols="30">'.$text.'</textarea><br />';
    echo '<input type="hidden" value="'.$row[0].'" name="id">';
    echo '<input type="submit" value="Go">';

    echo '</form>';
    }
    } elseif($_POST['text']) {
        $text = nl2br($_POST['text']);
        $id = $_POST['id'];

    mysql_query("UPDATE news SET text  = '$text' WHERE id = '$id'") or die(mysql_error());
 
    echo 'Done!';
    }
?>

Sådan, det er dog ikke sikkert det virker. Hvis ikke, må vi lave en anden løsning
Avatar billede kappel Nybegynder
01. juni 2005 - 20:28 #15
<br />

fremkommer stadig :(
Avatar billede Bjarne Novice
03. juni 2005 - 18:09 #16
Sorry, havde nær glemt dig:|

Prøv med dette i stedet:

<?

    include('include.php');

    function skridBr($q) {
    $newq = str_replace("<br />", "", $q);

    return $newq;
    }

    if($_GET['action'] AND $_GET['id']) {

    if($_GET['action'] == "delete") {
        $query = mysql_query("DELETE FROM news WHERE id = '$_GET[id]'") or die(mysql_error());
    echo 'Done!';
    } elseif($_GET['action'] == "edit") {
        $query = mysql_query("SELECT * FROM news WHERE id = '$_GET[id]'") or die(mysql_error());
        $row = mysql_fetch_row($query);
        $text = skridBr($row[3]);
    echo '<form method="post" action="'.$_SERVER[PHP_SELF].'">';
    echo '<textarea name="newtext" rows="10" cols="30">'.$text.'</textarea><br />';
    echo '<input type="hidden" value="'.$row[0].'" name="id">';
    echo '<input type="submit" value="Go">';

    echo '</form>';
    }
    } elseif($_POST['text']) {
        $text = nl2br($_POST['text']);
        $id = $_POST['id'];

    mysql_query("UPDATE news SET text  = '$text' WHERE id = '$id'") or die(mysql_error());

    echo 'Done!';
    }
?>

Hvis ikke det virker, skal vi lave to rækker i din tabel til teksten. En med <br /> til at udskrive på din side, og en uden <br /> til din redigeringsfunktion.
Avatar billede kappel Nybegynder
23. juni 2005 - 08:32 #17
jeg havde da også glemt dig :)

det virker så smid et svar

takker
Avatar billede kappel Nybegynder
04. december 2005 - 07:52 #18
-> bjarne

smid et svar
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