Avatar billede shubijam Nybegynder
03. marts 2007 - 13:15 Der er 10 kommentarer og
1 løsning

Alm tekst og database/php-variabe giver forskellige linjeskift

Hej alle

Jeg oplever noget (i mine øjne) lidt mystisk i en alm. tabel. Jeg ønsker en fast bredde på en celle, hvor indholdet er en overskrift i H1 samt noget tekst nedenunder. Fx

<table>
  <tr>
    <td width="200">
      <h1>En overskrift der er længere end feltet er bredt</h1>
      Min tekst...
    </td>
  </tr>
</table>

I eksemplet vil der korrekt nok blive indsat et linjeskift efter "overskrift", og "der er.." vil fortsætte på næste linje.

MEN hvis min almindelige overskrift erstattes af en overskrift hentet fra min mysql-db, udvider tabellen sig, da der ikke laves linjeskift. Teksten fra databasen er 100% identisk med den hardcodede tekst-streng.

Dvs.

<table>
  <tr>
    <td width="200">
      <h1>$row[Title]</h1>
      Min tekst...
    </td>
  </tr>
</table>

Hvorfor dælan gør den det? Synes, jeg har prøvet alt...
Avatar billede blackscorpion Nybegynder
03. marts 2007 - 13:57 #1
hvordan ser dit mysql udtræk ud osv ?
Avatar billede shubijam Nybegynder
03. marts 2007 - 15:02 #2
Mit udtræk er helt plain. Overskriften gemmes som varchar(150) og trækkes ud sådan:

$result_welcome = $db_obj->query("SELECT * FROM $t_welcome WHERE Page_ref='$row_page[Id]' AND Site_ref='".$_SESSION['SESS_SITE']."'");
      $row_welcome = $db_obj->fetchArray($result_welcome);

Med andre ord står jeg med en variabel indholdende en helt almindelig tekst-streng. Tilsyneladende er der dog forskel på, om jeg udskriver den via variablen, eller om strengen hardcodes ind i tabellen.
Avatar billede shubijam Nybegynder
03. marts 2007 - 15:21 #3
På dette billede har jeg illustreret problemet: http://www.mutti.dk/Diverse/h1-problemer.gif. Øverst har jeg skrevet overskriften ind manuelt - nederst hentes den fra databasen.

Med et <div style="width:200px; overflow:hidden;"> undgår jeg dog, at tabellen ikke "smadres" helt. Men som det ses, virker de naturlige linjeskift kun, når jeg skriver overskriften ind manuelt.
Avatar billede blackscorpion Nybegynder
03. marts 2007 - 15:24 #4
prøv med en

$result_welcome = str_replace("\n","", $result_welcome);

ved ikke om det virker, men et forsøg værd.
Avatar billede shubijam Nybegynder
03. marts 2007 - 15:32 #5
Tak for kommentaren - nej desværre, det forbedrer ikke situationen. Overskriften indtastes iøvtigt i et <input type="text">, så der burde heller ikke være noget med \n i strengen.
Avatar billede hejmanden Nybegynder
03. marts 2007 - 17:45 #6
jeg har måske et gæt.
Måske når den sætter det ind i databasen , så laver den " " om til &nbsp; og så kan den ikke automatisk gå en linie ned?
Avatar billede shubijam Nybegynder
03. marts 2007 - 18:09 #7
YES!!! Det er MEGET pinligt, men ovenstående har fået mig til at se lyset. Der var tale om, at scriptet erstattede " " med "&nbsp;" ved indsættelse i databasen, så derfor var det jo netop ét langt ord. Beklager, at jeg har brugt jeres tid på denne sag - men for mig har det være super! Nu virker skidtet.. Mange tak for bidragene - skriver du et svar "hejmanden"...
Avatar billede hejmanden Nybegynder
04. marts 2007 - 01:01 #8
:( jeg er glad for at jeg kunne hjælpe:)
Avatar billede shubijam Nybegynder
04. marts 2007 - 08:42 #9
Super ;-) Skriver du lige et svar, så jeg kan give dig point? Du kom vist til at skrive en kommentar..
Go' søndag..
Avatar billede hejmanden Nybegynder
04. marts 2007 - 12:13 #10
haha, det var fordi jeg var fuld da jeg skrev kommentaren :)
Avatar billede shubijam Nybegynder
04. marts 2007 - 12:19 #11
He he.. Det skal der også være plads til ;-)
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