Maximaal aantal letters

Status
Niet open voor verdere reacties.

Stinuz

Terugkerende gebruiker
Lid geworden
14 jun 2003
Berichten
1.245
Hey, ik weergeef op hetm oment op de volgende manier informatie uit een MYSQL database:

PHP:
$tabelQuery = "SELECT * FROM downloads ORDER BY id desc LIMIT 3";
$tabelResult = mysql_query($tabelQuery) or die (mysql_error());

  while($tabelRow = mysql_fetch_array($tabelResult))
  {
    extract($tabelRow); 
    $text = nl2br("$description");
echo'

	<TR>
		<TD background="images/rbg1.jpg" WIDTH=373 HEIGHT=142 ALT="" valign="top" style="background-position:top; background-repeat:no-repeat ">
		<TABLE WIDTH=365 height="142" BORDER=0 CELLPADDING=0 CELLSPACING=0>
	<TR>
		<TD WIDTH=188 HEIGHT=142 valign="top" background="images/px.jpg" style="background-position:top right; background-repeat:repeat-y ">
		<div style="padding-left:35px; padding-top:5px "><img src="images/1im3.jpg"></div>
		<div style="padding-left:40PX; padding-top:10px ">
		<strong>'. $name .'</strong><br>
		'. $text .'
		</div>
		</TD>

Dit werkt allemaal heel goed maar nu wil ik graag dat hij bij
Code:
'. $text .'
alleen de eerste 50 letters uit dat gedeelte van de database laat zien. Hoe krijg ik dat voor elkaar? :thumb:
 
PHP:
$text = "Dit is een hele lange text die alleen maar als voorbeeld dient 
om de eerste vijftig karakters weer te geven";

$vijftigChars = substr($text, 0, 50);

echo $vijftigChars;

Info substr();
 
Code ziet er nu zo uit

PHP:
$tabelQuery = "SELECT * FROM downloads ORDER BY id desc LIMIT 3";
$tabelResult = mysql_query($tabelQuery) or die (mysql_error());

  while($tabelRow = mysql_fetch_array($tabelResult))
  {
    extract($tabelRow); 
    $lal = nl2br("$description");
	$lal = substr($description, 0, 1000);

echo'

	<TR>
		<TD background="images/rbg1.jpg" WIDTH=373 HEIGHT=142 ALT="" valign="top" style="background-position:top; background-repeat:no-repeat ">
		<TABLE WIDTH=365 height="142" BORDER=0 CELLPADDING=0 CELLSPACING=0>
	<TR>
		<TD WIDTH=188 HEIGHT=142 valign="top" background="images/px.jpg" style="background-position:top right; background-repeat:repeat-y ">
		<div style="padding-left:35px; padding-top:5px "><img src="images/1im3.jpg"></div>
		<div style="padding-left:40PX; padding-top:10px ">
		<strong>'. $name .'</strong><br>
		'. $lal .'
		</div>
		</TD>

Maar nu werkt het <br> gedeelte niet meer :<
 
Moet het niet zo zijn dat de substr de string van $lal controleert?

dus:
PHP:
    extract($tabelRow); 
    $lal = nl2br("$description");
    $lal = substr($lal, 0, 1000);

Ik hoop ook dat dit stuk gewoon uit een hele code is getrokken aangezien de echo voor geen meter correct wordt afgesloten...
 
Laatst bewerkt:
Thx, nu werkt het :D

En ja, dit is gewoon een gedeelte uit het script, om het overzichtelijk te houden ;)
 
Het kan zijn dat je problemen krijgt wanneer het 1000e karakter net voor de nieuwe regel zorgt.

Een oplossing heb ik daar zo 1,2,3 niet voor dus daar zou je zelf even naar moeten kijken...

Status even aanpassen?
 
Hoezo zou dat een probleem zijn dan? Dan staat er toch gewoon 1 letter op de laatste regel?
 
Volgens mij zitten er bij een textbox bepaalde codes in de input die er voor zorgt dat er een nieuwe regel komt. (Ik dacht /n o.i.d.)

De functie nl2br(); zet die codes om naar een br.
 
Oh, dus dan krijg je bijvoorbeeld ineens een open regel met daar onder 1 letter? Dat is niet on-overkomelijk :D
 
Klopt, je zou het creatief kunnen oplossen door gewoon standaard ... achter de $lal te zetten dus simpel weergegeven:
PHP:
//Let op de quotes, er staan nu meer omdat ik een echo gebruik.
//ik ga ervanuit dat je wel weet welke je moet bewaren bij de implementatie
echo ''. $lal .'...';
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan