Toon posts:

[MySQL] content uit database, opmaak behouden

Pagina: 1
Acties:

Verwijderd

Topicstarter
ik heb een applicatie geschreven die cursusomschrijvingen en details uit een database haalt m.b.v PHP, en dit werkt helemaal goed, alleen 1 dingetje wil niet lukken:

De cursusdetails moeten uit de database komen hoe ze erin staan, nu zet hij de hele rij text gewoon achter elkaar, terwijl het is de database als "text" staat en onder elkaar.

Introduction to style sheets (CSS-1)
Working with style sheet properties and selectors
Linked style sheets

zo staat het in de DB, zo laat hij het zien:

Introduction to style sheets (CSS-1) Working with style sheet properties and selectors Linked style sheets


ik denk dat dit te maken heeft met het feit dat ik het zo doe:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
for ($i=0; $i < $num_results; $i++)
{
    $table = mysql_fetch_array($result);
    echo '<br><b> Lesson ';
    echo stripslashes($table['Lesson_ID']);
    echo ' - ';
    echo stripslashes($table['Lesson_Title']);
    echo '</b><br> Details: ';
    echo stripslashes($table['Lesson_Detail']);
    echo '<br>';
}
?>


dat het aan de stripslashes ligt, en omdat het nogal moeilijk zoeken naar dit is vraag ik het hier even, is er misschien andere manier hoe ik het eruit moet halen?
een hint in de goede richting of functienaam o.i.d moet genoeg zijn..

[ Voor 41% gewijzigd door Verwijderd op 08-06-2005 14:41 ]


  • _js_
  • Registratie: Oktober 2002
  • Laatst online: 13-01 07:19
Html is geen geformateerde tekst. Als je tekst inclusief nieuwe regels wilt weergeven zet je er <pre>...</pre> omheen, of je gebruikt de php functie nl2br.

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

nl2br is inderdaad de functie die je zoekt, en als je ergens meerdere spaties achter elkaar gebruikt, dan zul je ook " " (twee spaties) willen vervangen door " &nbsp;", zodat ook de spaties uitlijnen. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Topicstarter
perfect, het is gelukt met:

code:
1
2
    $details = stripslashes($table['Lesson_Detail']);
    echo nl2br($details);



**zit te denken** zou het ook mogelijk zijn om het op deze manier in een <li> te krijgen, elk item per stuk..... hmmmmmmm

[ Voor 37% gewijzigd door Verwijderd op 08-06-2005 14:48 ]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Je bedoelt dat je van elke regel een lijstitem wil maken?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Topicstarter
precies.

ik denk dat ik in de richting van elke regel wrappen in <li></li> op basis van de newline moet denken?


pseudo achtig:

aan het begin een <ul><li>
na elke newline </li><li>
op het einde </li></ul>

[ Voor 36% gewijzigd door Verwijderd op 08-06-2005 14:57 ]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Simpelweg een functie schrijven die \n (of \r\n, \n\r, etc.) vervangt door </li>\n<li>, en dan achteraf vooraan nog een <li> zetten, en achteraan een </li>. Of, als je HTML 4 gebruikt, dan hoef je </li> helemaal niet te gebruiken, AFAIK. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • glashio
  • Registratie: Oktober 2001
  • Laatst online: 06-05 20:30

glashio

C64 > AMIGA > PC

en natuurlijk je entities omzetten :)

in deze volgorde :
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
DEFINE ('TAB_SIZE', 8);

function safeEcho($s, $prefix = NULL) {
  $s = strval($s);
  if (!strlen($s))
    return NULL;
  echo str_replace(array("\n", "\r", "\t", "  "), array("<BR />\n$prefix", NULL, str_repeat('&nbsp;', TAB_SIZE), '&nbsp;&nbsp;'), htmlspecialchars($s, ENT_NOQUOTES));
  return TRUE;
}

...
safeEcho($table['Lesson_ID']);
...


Stripslashes lijkt mij trouwens overbodig.... denk ik :X

[ Voor 14% gewijzigd door glashio op 08-06-2005 17:56 . Reden: '&nbsp;&nbsp;' i.p.v. '&nbsp;' ]

> Google Certified Searcher
> Make users so committed to Google that it would be painful to leave
> C64 Gospel
> [SjoQ] = SjoQing


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

waarom overigens die stripslashes? Heb je magic_quotes_runtime op on staan (default is Off meen ik tegenwoordig)?

Intentionally left blank


Verwijderd

Topicstarter
dat staat aan omdat ik dat altijd al gebruikte, geen idee of het nodig is, maar het werkt :+


edit:
heb overal stripslashes weggehaald, en het werkt nog steeds, dus blijkbaar niet nodig :)

[ Voor 36% gewijzigd door Verwijderd op 08-06-2005 15:09 ]

Pagina: 1