Hey,

ik zit met het volgende

ik haal gegevens uit mijn db stel nu:
darknesss
eagle
theunforgivenwarrior

dan wilk dat hij alleen dit toont tijdens de pring
darknes...
eagle
theunfor...

dus om maar een deel niet alles
[php]strlen[/php]
[php]substr[/php]

met de 2 functies moet het lukken, nog even kijken hoe je ze moet gebruiken :)

succes
<?php
$bron2 = substr($bron, 0, 7);
if ($bron2 != $bron)
{
$bron2 .= '...';
}
?>
je kunt er ook een functie van maken:
<?php
Function Inkorten($string, $tekens)
{
$aantal = strlen($string);
if($aantal > $tekens)
{
$string = substr("$string", 0, $tekens);
$string = "$string...";
}
echo $string;
}
?>
en dan tekst die je wilt inkorten:
<?php
$naam = theunforgivenwarrior;
Inkorten($naam,"7");
// dit toont: theunfo...
?>
SELECT CONCAT(SUBSTRING(veldnaam, 1, 7), '...') AS beschrijving
FROM tabel

In je voorbeeld ben je trouwens niet consequent:

darknes... heeft 7 letters en 3 puntjes
theunfor... heeft 8 letters en 3 puntjes
Wederom een heel mooie oplossing van Jan, en een perfect voornbeeld waaruit maar weer eens blijkt dat er meer mogelijk is met SQL dan alleen maar gegevens uitlezen en wegschrijven.
en ook scherp opgemerkt met de inconsequentie..
Misschien leuke dingen om in de tutorials te gooien in verschillende delen Jan, je hebt zo vaak van die mooie SQL oplossingen dat ik er graag meer van zou lezen.

[edit]
@Christophe

Denk om de naam van je Topic he, graag een duidelijke naam, dat werkt veel prettiger ;)
[/edit]
Komt er dan niet overal een ... achter (dus ook achter kleinere)?
@ Robert: dankje :-)

@ Webmakerij: scherp opgemerkt! Ik ga even kijken...

Misschien leuke dingen om in de tutorials te gooien in verschillende delen Jan, je hebt zo vaak van die mooie SQL oplossingen dat ik er graag meer van zou lezen.

Robert, leuk dat je dat zegt. Ik heb al eens zitten broeden op een tutorial met 'handige queries'. Als er meer verzoeken voor komen, wil ik er zeker wel eens tijd in steken.
Webmakerij schreef op 04.09.2006 22:29
Komt er dan niet overal een ... achter (dus ook achter kleinere)?

Verbeterde query:

SELECT
    CASE
        WHEN LENGTH( tekst ) > 7 THEN CONCAT( SUBSTRING( tekst, 1, 7 ) , '...' )
        ELSE tekst
    END
    AS aangepastetekst
FROM tabel
Dan weet ik al een goede Poll voor volgende keer Jan ;) Ik weet zeker dat er meer zullen volgen (desnoods maak ik een topic ervoor..
Ik vind het altijd leuk om te zien dat er zoveel mogelijkheden zijn voor hetzelfde resultaat, al vind ik in dit soort gevallen een MySQL oplossing mooier, omdat het gewoon qua scripting het kortst is. En je haalt het ook nog eens op de juiste manier op uit de database, zonder daarna er weer allerlei bewerkingen op los te laten. :)

Reageren