text uit query afbreken binnen div

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Scrippy do

scrippy do

08/03/2011 22:36:44
Quote Anchor link
Hi,

Ben nu al een paar avonden aan het stoeien met iets waar ik niet uit kom.

Een query van een gastenboek waarvan ik het bericht op een postit blaadje wil laten weergeven. dus simpel een divje gemaak van 300x300px. Maar ik krijg het niet voor elkaar dat de tekst binnen de div blijft en wordt afgebroken om op de volgende regel verder te gaan... vlgs mij alles geprobeerd met css.

Kan iemand helpen? Het gaat om deze query

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
// Gegevens ophalen uit de database en sorteren op id
$sql = mysql_query("SELECT * FROM gastenboek ORDER BY datum DESC");
if (mysql_num_rows($sql) == 0) {
    // Als er nog geen reacties geplaatst zijn
    echo 'We hebben nog geen reacties!';
}
else {
    while($data = mysql_fetch_assoc($sql)) {
        // Als er wel reacties zijn geplaatst worden deze nu weergegeven
        echo '<div id="memocontent"><b>Naam:</b> '.htmlspecialchars(stripslashes($data['naam'])).'<br />
        <b>Datum:</b> '
.htmlspecialchars(stripslashes($data['datum'])).'<br />
        <b>Bericht:</b><br />'
.ubb($data['bericht']).'</div><br />';
    }
}

?>
 
PHP hulp

PHP hulp

29/04/2024 14:14:11
 
Roel -

Roel -

08/03/2011 23:43:57
Quote Anchor link
Daarvoor moet je wordwrap() gebruiken.
Daarmee kun je na x aantal tekens de zin afbreken.

Als je dan ervoor wilt zorgen dat er maar bijvoorbeeld 50 karakters per regel moeten en later niet in de problemen wilt komen dat de div uitrekt door andere content, kun je het beste de div opvullen met M'en (dit is de breedste letter)

Deze functie is overigens niet aan te raden is een ubb parser.
Stel dat m'n zin afgebroken wordt na [b, dan word je niet vrolijk.
 
Scrippy do

scrippy do

09/03/2011 00:07:42
Quote Anchor link
Bedankt Roel,

ben hiermee ook aan de gang geweest maar krijg het niet voor elkaar.
Ik kan dit
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
'.ubb($data['bericht']).'
toch niet in een variabele zetten en zodoende wordwrap() toepassen?
 
Write Down

Write Down

09/03/2011 00:39:23
Quote Anchor link
Waarom zou je dat in een variabele moeten zetten? Ik ga er vanuit dat ubb een functie is die je UBB code parsed. ( -puntjes weglaten- [B.][./B] wordt <b></b>) Wat je dus prima kan doen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
    echo '<div id="memocontent"><b>Naam:</b> '.htmlspecialchars(stripslashes($data['naam'])).'<br />
        <b>Datum:</b> '
.htmlspecialchars(stripslashes($data['datum'])).'<br />
        <b>Bericht:</b><br />'
.wordwrap(ubb($data['bericht']), 200, '<br />').'</div><br />';
?>
 
Jordi Kroon

Jordi Kroon

09/03/2011 00:39:59
Quote Anchor link
Je moet alleen $data['bericht'] door wordwrap doen
 
Write Down

Write Down

09/03/2011 01:12:21
Quote Anchor link
@Jordi

Inderdaad. PHP ziet nl. niet dat het HTML is, dus zal hij onnodig te vroeg splitsen.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?PHP
ubb(wordwrap($data['bericht'], 200, '<br />'));
?>
 
Scrippy do

scrippy do

09/03/2011 23:18:22
Quote Anchor link
Krijg het voor geen meter voor elkaar.

Hoe pas ik deze
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
<?php
ubb(wordwrap($data['bericht'], 200, '<br />'));?>


in deze
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
    echo '<div id="memocontent"><b>Naam:</b> '.htmlspecialchars(stripslashes($data['naam'])).'<br />
        <b>Datum:</b> '
.htmlspecialchars(stripslashes($data['datum'])).'<br />
        <b>Bericht:</b><br />'
.wordwrap(ubb($data['bericht']), 200, '<br />').'</div><br />';?>



Toevoeging op 10/03/2011 23:11:49:

Ik krijg deze foutmelding:

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in

maar kom er niet uit. kan iemand helpen dit optelossen?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
// Gegevens ophalen uit de database en sorteren op id
$sql = mysql_query("SELECT * FROM gastenboek ORDER BY datum DESC");
if (mysql_num_rows($sql) == 0) {
    // Als er nog geen reacties geplaatst zijn
    echo 'We hebben nog geen reacties!';
}
else {
    while($data = mysql_fetch_assoc($sql)) {
        // Als er wel reacties zijn geplaatst worden deze nu weergegeven

 echo '<div id="memocontent"><b>Naam:</b> '.htmlspecialchars(stripslashes($data['naam'])).'<br />
        <b>Datum:</b> '
.htmlspecialchars(stripslashes($data['datum'])).'<br />
        <b>Bericht:</b><br />'
ubb(wordwrap($data['bericht'], 200, '<br />'))'</div><br />';
        
    }
}

?>
Gewijzigd op 10/03/2011 23:09:01 door scrippy do
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.