Avatar billede silke4ever Nybegynder
27. april 2004 - 11:07 Der er 30 kommentarer og
2 løsninger

Form fremvisning med <br>

Jeg har en formular, hvor jeg indsætter nogle dataer i.

Disse dataer skriver jeg i øjeblikket ind i formular ved at opgive manuelt <br> for at få linje skift ellers kommer der ikke nogen linjeskift.

Der må være en smartere måde, så det kører automatisk, men hvor skal det rettes i formularen, hvor jeg indsætter dataerne, i mysqlen eller i selve fremvisnings koden og hvad skal rettes?

Koden som fremviser de dataer der er i databasen er denne:

        echo '    <tr>';
        echo '      <td class="nyhed_bund"><br>';       
        echo '    <b>Beskrivelse:</b><br>'.$data["beskrivelse"];
        echo '      <br></td>';
        echo '    </tr>';

Her er koden til der hvor jeg opretter beskrivelsen i en form:
    <tr valign="top">
    <td>Beskrivelse:</td>
        <td><textarea name="beskrivelse" rows="12" cols="50"><?php echo $beskrivelse; ?></textarea></td>
    </tr>

Håber nogle kan hjælpe :-)
Avatar billede chries Nybegynder
27. april 2004 - 11:09 #1
der hvor du gemmer i db
$korrigeret = nl2br($formvar);
Avatar billede mcgoat Nybegynder
27. april 2004 - 11:12 #2
kigger lige med :)
Avatar billede chries Nybegynder
27. april 2004 - 11:14 #3
Avatar billede silke4ever Nybegynder
27. april 2004 - 11:19 #4
Jeg synes netop jeg har prøvet nl2br....

Hvordan vil du skrive min kode så?
Avatar billede chries Nybegynder
27. april 2004 - 11:21 #5
et quick fin, kunne du jo prøve

        echo '    <tr>';
        echo '      <td class="nyhed_bund"><br>';     
        echo '    <b>Beskrivelse:</b><br>'.nl2br($data["beskrivelse"]);
        echo '      <br></td>';
        echo '    </tr>';
Avatar billede chries Nybegynder
27. april 2004 - 11:21 #6
fin = fix
Avatar billede krydset Nybegynder
27. april 2004 - 11:21 #7
i fremvisnings koden bruger du bare
echo nl2br($string);

Så vil evt linie skift bkive vist
Avatar billede mcgoat Nybegynder
27. april 2004 - 11:22 #8
mener du ikke dette:
du har et textarea, og hvis du bare trykker ENTER og gemmer i DB og skal vise/hive det ud igen, så laver den ikke de ENTER. Så du bliver nødt til i dit textarea at lave <br> for at det kan vises ordenligt?
Avatar billede silke4ever Nybegynder
27. april 2004 - 11:23 #9
mcgoat > præcis!
Avatar billede mcgoat Nybegynder
27. april 2004 - 11:25 #10
yep... tænkte jeg jo nok... gætter på du gemmer tekst fra dit textarea i en blob?
Der gemmer den nemlig de "rigtige ENTER" tegn inde... men når man skriver dem ud sker der intet. så jeg vil gætte på at de "ENTER" tegn bliver gemt i blob som "\n"? for hvis de gør det så er det jo bare at hente din blob ud og så bruge funktionen nl2br for at konvertere dem til <br> så det kan vises ordenligt?
Avatar billede krydset Nybegynder
27. april 2004 - 11:27 #11
du kan osse bruget text i databasen
Avatar billede mcgoat Nybegynder
27. april 2004 - 11:29 #12
du kan jo også konvertere dine ENTER tegn til <br> lige inden du smider det i db
Avatar billede hmortensen Nybegynder
27. april 2004 - 11:38 #13
mcgoat, det er ikke særlig smart, for hvis man skriver <br> i teksten, og gerne vil ha vist det på skærmen, kan man jo ikke se forskel, så derfor nl2br() i udlæsningen
Avatar billede mcgoat Nybegynder
27. april 2004 - 11:41 #14
det er rigtigt... men nu er der jo ikke mange der skriver <br> i en tekst.... hehe... bortset fra herinde...
Avatar billede silke4ever Nybegynder
27. april 2004 - 11:42 #15
Er det blot mig der er dum, men det ændre ikke rigtigt noget?


        echo '    <tr>';
        echo '      <td class="nyhed_bund"><br>';     
        echo '    <b>Beskrivelse:</b><br>'.nl2br($data["beskrivelse"]);
        echo '      <br></td>';
        echo '    </tr>';

Mine <ENTER> tryk er der ikke blevet til linje skift på siden?
Avatar billede mcgoat Nybegynder
27. april 2004 - 11:43 #16
kan du se i din database om ENTER trykne er blevet gemt?
Avatar billede silke4ever Nybegynder
27. april 2004 - 11:52 #17
Man kan se linjeskiftene, men der står ikke <br> efter hvad linje...

Der står således i databasen:
test


test



test


Det fremvises:
test test test

Det skal fremvises
test


test



test
Avatar billede silke4ever Nybegynder
27. april 2004 - 11:53 #18
Men jeg har jo heller ikke ændret noget, som skulle gøre at databasen blev ændret... Jeg har kun ændret på fremvisningen..
Avatar billede mcgoat Nybegynder
27. april 2004 - 11:57 #19
det er vel også bare fremvisningen som skal ændres... det står jo fint i db... prøver lige at finde ud af noget
Avatar billede mcgoat Nybegynder
27. april 2004 - 12:06 #20
<?
require "connect.php";
$result = mysql_query("SELECT * FROM fede");
while($row = mysql_fetch_array($result))
{
    echo nl2br($row['text']);
}
?>

ser ud til at virke fint her
Avatar billede silke4ever Nybegynder
27. april 2004 - 12:07 #21
Stripsslashes bruge det ikke kunne gøre det??!

echo '    <b>Beskrivelse:</b><br>'.stripslashes(nl2br($data["beskrivelse"]));

næh...?
Avatar billede mcgoat Nybegynder
27. april 2004 - 12:08 #22
den laver:
hej

med

dig

om til:

hej<br />
<br />
med<br />
<br />
dig
Avatar billede silke4ever Nybegynder
27. april 2004 - 12:10 #23
echo '    <b>Beskrivelse:</b><br>'.nl2br($data["beskrivelse"]);

Hvad skal så ændres der?
Avatar billede mcgoat Nybegynder
27. april 2004 - 12:16 #24
virker fint her..
    echo '<b>Beskrivelse:</b><br>'.nl2br($row["text"]);

skriver det rigtigt ud med de <br> som der skal være
Avatar billede mcgoat Nybegynder
27. april 2004 - 12:19 #25
du kan lige prøve med mine:

-------------- index.htm -------------------

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
</head>
<body>
<form name="form1" action="add.php" method="post">
<textarea name="text"></textarea>
<input type="submit">
</form>
</body>
</html>

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

---------add.php-----------------------

<?
require "connect.php";
mysql_query("INSERT INTO fede VALUES(NULL, '".$_POST['text']."')") or die("FEJL: ".mysql_error());
header("Location: show.php");
?>

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

-----------show.php-----------------------

<?
require "connect.php";
$result = mysql_query("SELECT * FROM fede");
while($row = mysql_fetch_array($result))
{
    echo '<b>Beskrivelse:</b><br>'.nl2br($row["text"]);
}
?>

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

-------------connect.php------------------

<?
mysql_pconnect("127.0.0.1", "root", "") or die("FEJL 1");
mysql_select_db("test") or die("FEJL 2");
?>

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


Jeg har bare lavet en table som hedder "fede" og deri et "id" auto_increment primary int(5) og en "text" som er blob
Avatar billede silke4ever Nybegynder
27. april 2004 - 12:23 #26
Jeg trækker mig tilbage med store røde øre, jeg har redigeret i den forkerte fil......TUMPE!

Tak for hjælpen!!!
Avatar billede silke4ever Nybegynder
27. april 2004 - 12:24 #27
Klar lige et svar!
Avatar billede silke4ever Nybegynder
27. april 2004 - 12:24 #28
Det var til chries og mcgoat
Avatar billede mcgoat Nybegynder
27. april 2004 - 12:25 #29
svar.... :)
Avatar billede chries Nybegynder
27. april 2004 - 12:38 #30
:)
Avatar billede chries Nybegynder
27. april 2004 - 12:38 #31
:->
Avatar billede silke4ever Nybegynder
27. april 2004 - 12:40 #32
således
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