Avatar billede julemandenb Nybegynder
13. februar 2010 - 14:36 Der er 21 kommentarer og
1 løsning

Teksten gør siden bredere end den skal være!

Heej eksperten :b

Jeg har et forum system
på min side.
Hvis man opretter en debat
og debatten overskrider breden
så bliver min side bare længere


Eks. http://coolboom.dk/index.php?side=debat/debat_fremvis&id=8

Hvordan gør jeg så den bliver på sin
oprenlige brede og smider ordet ned
på næste linje hvis det ikke kan
stå i feltet ?

M.v.h
Mikkel Bering

Ps. Forklare mig hvordan det
skal gøres og gerne så en
blondine kan forstå det ;i
- vil gerne selv lære det nemlig
Avatar billede claes57 Ekspert
13. februar 2010 - 15:26 #1
den vil normalt dele ved mellemrum - men der er ikke orddeling i dette. Du må lave en rutine, der finder mellemrum. Hvis afstanden mellem to mellemrum er over fx 50 tegn, så sæt et mellemrum ind der.
Jeg selv er asp-mand, så der kommer nok en php-koder ind, der lige kan banke de få linjers kode igennem.
Reelt skal de kun køres en gang - når bruger skriver et indlæg.
Avatar billede BrJoe Nybegynder
13. februar 2010 - 15:27 #2
Kan ikke komme ind på dit link, men mit bud ville være css?

Ellers ved jeg ikke hvad du mener..
Avatar billede julemandenb Nybegynder
13. februar 2010 - 15:33 #3
Siden burde virke nu
Avatar billede julemandenb Nybegynder
13. februar 2010 - 15:39 #4
Den linje som udskriver
debatten ser sådan ud

echo nl2br($show[indlaeg]);

n12br

Betyder det ikke den skal
medtage mellemrum ?
Avatar billede claes57 Ekspert
13. februar 2010 - 15:57 #5
nl2br retter bruger ny-linje til htmlkoden <br>
men derudover skal du have en funktion, der opdeler lange ord - eller som BrJoe skriver bruge CSS.
overflow: scroll;
i feltet, hvor tekst vises efterfølgende.
Avatar billede julemandenb Nybegynder
13. februar 2010 - 16:01 #6
Og det fattede jeg intet af ;I
Avatar billede claes57 Ekspert
13. februar 2010 - 16:36 #7
noget nede i kode på din side har du dette stykke
        <td class="content_text" width="100%" valign="top" style="padding: 10px;">
          <h1>bla. bla. bla.</h1><table bgcolor='black' cellpadding='2' cellspacing='1' width='300'><tr><td bgcolor='white'><b>Opretter:</b> dummekylling<br><b>Indsendt D.</b> 12/02-2010    23:15:21</td></tr><tr><td bgcolor='#e1e1e1' height='50' valign='top'>fidpjosfiwekogfmerijpagkojqmoerwkpthjg5nhng4ewdftghyjnhgfrtyhgfrtyhujnhgfrtyhujnbtryhjunhgtfyujkmnhgfrtyujngtfryujnhbgfrtyhubgfrtyhgfrtyhgfrtyuhjgfrtyhujgfrtyuhjgftryhgfrtyhgfrtyh</td></tr></table><h2>Svar</h2><br><table bgcolor='black' cellpadding='2' cellspacing='1' width='300'><tr><td bgcolor='white'><b>Navn:</b> dummekylling_Styrer<br><b>Dato:</b> 13-02-2010</td></tr><tr><td bgcolor='white' height='50' valign='top'>virker det som det skal ? </td></tr></table><br><br><hr>


Det ser noget anderledes ud i din php-kode - og det er det, du skal rette i. Find frem til
<td bgcolor='#e1e1e1' height='50' valign='top'>
og tilføj en fast bredde og en div-style:
<td bgcolor='#e1e1e1' width='450' height='50' valign='top'>
<div style="overflow:scroll; width:100%">
fidpjosfiwekogfmerijpagkojqmoerwkpthjg5nhng4ewdftghyjnhgfrtyhgfrtyhujnhgfrtyhujnbtryhjunhgtfyujkmnhgfrtyujngtfryujnhbgfrtyhubgfrtyhgfrtyhgfrtyuhjgfrtyhujgfrtyuhjgftryhgfrtyhgfrtyh
</div>
</td>

du skal have bredde (jeg har sat den til 450) svarende til dit design.
Avatar billede julemandenb Nybegynder
13. februar 2010 - 16:45 #8
Nu ser min kode således ud
_______________________________

$hent = mysql_query("SELECT * FROM debat_start_indlaeg WHERE id = '$id'") or die(mysql_error()); // Henter Alt fra tabellen forum

$vis = mysql_fetch_array($hent);

echo "<h1>$vis[overskrift]</h1>"; // Viser Overskrift

echo "<table bgcolor='black' cellpadding='2' cellspacing='1' width='300'>";

echo "<tr><td bgcolor='white'>";

echo "<b>Opretter:</b> $vis[user]<br>"; // Viser forfatteren

echo "<b>Indsendt D.</b> $vis[dato]"; // Viser datoen

echo "</td></tr><tr><td bgcolor='#e1e1e1' width='450' height='50' valign='top'>";
echo "<div style='overflow:scroll; width:100%'>";
echo nl2br($vis[debat]);

echo "</div></td></tr></table>";
__________________________________

Kunne forstille mig at jeg har lavet en fejl.
Det virker nemlig ikke :s
Avatar billede claes57 Ekspert
13. februar 2010 - 17:16 #9
i dette stykke:
echo "<table bgcolor='black' cellpadding='2' cellspacing='1' width='300'>";
echo "<tr><td bgcolor='white'>";
echo "<b>Opretter:</b> $vis[user]<br>"; // Viser forfatteren
echo "<b>Indsendt D.</b> $vis[dato]"; // Viser datoen
echo "</td></tr><tr><td bgcolor='#e1e1e1' width='450' height='50' valign='top'>";
echo "<div style='overflow:scroll; width:100%'>";

tabellen er jo kun 300 bred - så vi laver feltet til samme - og retter de 100% i div til fast bredde også:
echo "<table bgcolor='black' cellpadding='2' cellspacing='1' width='300'>";
echo "<tr><td bgcolor='white'>";
echo "<b>Opretter:</b> $vis[user]<br>"; // Viser forfatteren
echo "<b>Indsendt D.</b> $vis[dato]"; // Viser datoen
echo "</td></tr><tr><td bgcolor='#e1e1e1' width='300' height='50' valign='top'>";
echo "<div style='overflow:scroll; width:300;'>";
Avatar billede BrJoe Nybegynder
13. februar 2010 - 17:47 #10
nl2br betyder "new line to break" og sørger for at hver gang der er blev sat et nyt linjeskift i din database vil den også udskrive det.
Avatar billede julemandenb Nybegynder
13. februar 2010 - 17:51 #11
Okay, tak (:

gider i ikke lige begge to at
smide et svar (: har fået det
hele til at virke og syntes i
begge skal have svar som en
'tak for hjælpen' (:
Avatar billede claes57 Ekspert
13. februar 2010 - 18:31 #12
ok - men test også på et langt ord som i dit første eksempel.
Avatar billede julemandenb Nybegynder
13. februar 2010 - 18:37 #13
Ja. lange ord der virker det vist ikke :s
Hvis jeg skriver

Heeeeeej alllllllllllee saaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaammmen

Så virker det ikke :s
Den deler ikke

saaammen op i to ord :s
kan man gøre noget ved det? :D
Avatar billede claes57 Ekspert
13. februar 2010 - 18:57 #14
skift 'scroll' ud med 'hidden'
så klipper den bare det af, der ikke kan være der.
Men test lige med et langt ord og derefter med en masse korte ord (som jo ikke skal klippes væk).
Avatar billede julemandenb Nybegynder
13. februar 2010 - 19:02 #15
Så nu fjernede den bare Scroll baren.
Nu vil tilbage til der hvor den gjorde
siden bredere :D
Avatar billede zynzz Praktikant
13. februar 2010 - 19:08 #16
Brug wordwrap() hvis du vil af med de lange ord... http://dk2.php.net/manual/en/function.wordwrap.php
Avatar billede claes57 Ekspert
13. februar 2010 - 19:37 #17
>zynzz - så er vi tilbage på den første løsning, jeg var inde på (som asp-mand viste jeg ikke, at php havde det indbygget)

echo wordwrap(nl2br($vis[debat]),80, "<br />\n");

så burde den dele efter maksimum 80 tegn. Drop så i første omgang alle css-kode-ændringer.
Kan være, at jeg skulle begynde at interessere mig for php - det er jo lidt smart ind i mellem... ;)
Avatar billede julemandenb Nybegynder
13. februar 2010 - 19:46 #18
Tak for din kode claes57
meen

den korter de små ord ned
og lader de størreste ord være :D
har for sjov skyld sat den til 10 og der smed den
ordet "alllllllle" ned på næste linje
hvorimod ordet "saaaaaaaaaaaaaaaaaaaaammmmmmmmmmmmmmeeeeeeeennn"
måtte blive :D
Avatar billede claes57 Ekspert
13. februar 2010 - 20:14 #19
skriv til zynzz - jeg fatter intet...
Avatar billede julemandenb Nybegynder
13. februar 2010 - 20:58 #20
Okay (:

Nu vi er igang. så har jeg et spørgsmål mere

Hvordan laver man en "sti"
hvis man går ind under

Biler og und debatten "nyeste volvo, hvad syntes i"

så skriver den på siden

forum --> Biler --> nyeste volvo hvad syntes i

Eller hvis man går ind under

programmering --> den virker ikke

Så laver den en sti der ser således ud

Forum --> Programmering --> Den virker ikke

Ligesom der er på http://speek.dk/forum/category/5/317656

Se lige oppe over føreste indlæg (:
Avatar billede claes57 Ekspert
13. februar 2010 - 22:33 #21
det ligner en af de muligheder, der ligger i wordpress forum.
Og det kan meget mere, og er enkelt at sætte op.
http://da.wordpress.org/
Der er mange muligheder for design, så prøv at lege med det.
Avatar billede zynzz Praktikant
16. februar 2010 - 19:43 #22
Altså jeg går ud fra du har en mysql database tilknyttet dit php?


Du kan så evt. lave nogle tabeller med følgende indhold:


category:
ID //unik id på kategorien
parentID //id på en evt. "forældre" altså en kategori der ligger over denne, hvis fx. parentID er 0 er det en hovedkategori
name //navnet på kategorien


item:
ID //unik id
catID //denne henviser til category`s ID som bestemmer hvilken kategori denne er i...
name //navn
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