het ligt em aan mij, maar snap er geen bal van
Het is namelijk zo... Zodra ik een veld van een tabel wil inkorten, laten we dat veld eens "inhoud" noemen, lukt het niet.
Ik haal de info als volgt op:
------ Hier haal ik de info op ------
<?php
include ('connect.php');
$result = mysql_query("SELECT * FROM teksten WHERE inhoud LIKE '%$trefwoord%' ");
$num = mysql_num_rows($result);
?>
------ Hier wil ik de info laten zien (gebeurt 1 keer de <?php ?> tags te gebruiken ------
<?php
$i = 0;
if ($num > 0)
{
while($i < $num)
{
echo mysql_result($result,$i,"inhoud");
}
}
else
{
echo "er zijn geen resultaten";
}
?>
Waar moet ik dan dergelijke functies kwijt en waar en ?hoe? moet ik de functie aanroepen om mijn tekst (die nogal groot kan worden) bijvoorbeeld kan inkorten tot max. 50 karakters of 20 woorden. Zeg het maar...
Groetjes,
Douwe (Just a newb so hate me if you like but at least i'm trying, right?) :D
<?
while($i < $num)
{
echo mysql_result($result,$i,"inhoud");
}
?>

Maak daar eens van:

<?
while($i < $num)
{
echo substr(mysql_result($result,$i,"inhoud"), 0, 50);
}
?>

Dan wordt het resultaat na 50 tekens afgebroken.
Het werkt!!! Ontzettend bedankt!! Wat kan je dan lang naar iets zitten staren!! Ha ha!! Nogmaals bedankt!!!
Gr. Douwe
Het kan trouwens ook met een zelfgemaakte functie:

<?
function break_string($string, $length, $break = '..') {
if (strlen($string) > $length) {
$string = substr($string, 0, $length).$break;
}
return $string;
}
include ('connect.php');
$result = mysql_query("SELECT * FROM teksten WHERE inhoud LIKE '%".$trefwoord."%'");
$num = mysql_num_rows($result);
$i = 0;
if ($num > 0) {
while ($i < $num) {
echo break_string(mysql_result($result, $i, 'inhoud'), 50, '...');
}
}
else {
echo 'er zijn geen resultaten';
}
?>

Dan wordt het het na 50 tekens met ... afgebroken. Als je '...' na "50, " vervangt voor iets anders wordt dat het einde van de regel als de tekst langer is dan 50 tekens. 50 is ook te veranderen uiteraard. En als je het stuk

<?
echo break_string(mysql_result($result, $i, 'inhoud'), 50, '...');
?>

vervangt voor:

<?
echo break_string(mysql_result($result, $i, 'inhoud'), 50); // zonder iets achter de 50 nog dus
?>

wordt het automatisch met .. afgebroken.

Reageren