SUBSTR?? Het lukt me voor geen meter.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Douwe Hoogeveen

Douwe Hoogeveen

22/09/2004 21:26:00
Quote Anchor link
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 ------
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?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
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php ?>
tags te gebruiken ------
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
<?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
 
PHP hulp

PHP hulp

05/11/2024 15:00:58
 
Dutchcamel

dutchcamel

22/09/2004 21:33:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?
     while($i < $num)  
      {

           echo mysql_result($result,$i,"inhoud");
      }

?>


Maak daar eens van:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?
     while($i < $num)  
      {

           echo substr(mysql_result($result,$i,"inhoud"), 0, 50);
      }

?>


Dan wordt het resultaat na 50 tekens afgebroken.
 
Douwe Hoogeveen

Douwe Hoogeveen

22/09/2004 21:36:00
Quote Anchor link
Het werkt!!! Ontzettend bedankt!! Wat kan je dan lang naar iets zitten staren!! Ha ha!! Nogmaals bedankt!!!
Gr. Douwe
 
Dutchcamel

dutchcamel

22/09/2004 21:43:00
Quote Anchor link
Het kan trouwens ook met een zelfgemaakte functie:

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
18
19
20
<?
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

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
echo break_string(mysql_result($result, $i, 'inhoud'), 50, '...');
?>


vervangt voor:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
echo break_string(mysql_result($result, $i, 'inhoud'), 50); // zonder iets achter de 50 nog dus
?>


wordt het automatisch met .. afgebroken.
 



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.