klein stukje van de tekts weergeven
goedenavond,
Ik wil een nieuws overzicht maken dat is ook aardig gelukt alleen nu wil ik nog dat je een klein stukje van de tekst zien bijv. eerste 150 tekens maar ik heb geen idee hoe ik dat ooit kan doen?
dit is mijn nieuwsoverzicht script:
(eerste deel mis hij maar daar stonden de ww enz. in )
Ik wil een nieuws overzicht maken dat is ook aardig gelukt alleen nu wil ik nog dat je een klein stukje van de tekst zien bijv. eerste 150 tekens maar ik heb geen idee hoe ik dat ooit kan doen?
dit is mijn nieuwsoverzicht script:
(eerste deel mis hij maar daar stonden de ww enz. in )
Quote:
$sql = "SELECT
titel,tijd,foto,id,bericht
FROM
nieuws
ORDER BY
tijd DESC
LIMIT 0,4
";
if(($result = mysql_query($sql)) === false)
{
echo 'Er zit een fout in je query';
}
elseif(($num = mysql_num_rows($result)) < 1)
{
echo 'Je query vond geen rows';
}
else
{
while($row = mysql_fetch_assoc($result))
{
echo '<li>
<a href="../page/artikel.php?artikel='.$row['id'].'">
'.$row['titel'].'<br>'.$row['bericht'].'</a>
</li>
';
}
}
}
?>
titel,tijd,foto,id,bericht
FROM
nieuws
ORDER BY
tijd DESC
LIMIT 0,4
";
if(($result = mysql_query($sql)) === false)
{
echo 'Er zit een fout in je query';
}
elseif(($num = mysql_num_rows($result)) < 1)
{
echo 'Je query vond geen rows';
}
else
{
while($row = mysql_fetch_assoc($result))
{
echo '<li>
<a href="../page/artikel.php?artikel='.$row['id'].'">
'.$row['titel'].'<br>'.$row['bericht'].'</a>
</li>
';
}
}
}
?>
kijk is naar substr.
dat kan met Chopstring?
Dit is een klant en klare script die ik via webmensen had gekregen (volgens mij)
even google werkte ook ;)
Dit is een klant en klare script die ik via webmensen had gekregen (volgens mij)
Code (php)
even google werkte ook ;)
IF(LENGTH(text) < 150, LEFT(text, 150), RPAD(LEFT(text, 150), 150, "...")) AS text'
in je selectquery opnemen.
in je selectquery opnemen.
Reshad F op 27/08/2012 22:06:54:
Aanvulling: Met name naar MySQL substr en niet naar php substr want dan process je onnodig veel data.kijk is naar substr.
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
$sql = "SELECT
titel,tijd,foto,id,SUBSTRING(bericht,1,150) AS bericht
FROM
nieuws
ORDER BY
tijd DESC
LIMIT 0,4
titel,tijd,foto,id,SUBSTRING(bericht,1,150) AS bericht
FROM
nieuws
ORDER BY
tijd DESC
LIMIT 0,4
Gewijzigd op 27/08/2012 22:15:19 door Aad B
Nog een aanvullen, het is altijd goed om na een woord af te breken. Haal dus meer op uit de database (bijv. 170 characters) en gebruik zo'n soort functie om het bij een woord af te breken:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
/**
* Breek de string af op de plek van het eerste woord
* dat het maximale aantal characters overscheid
*
* @param string $str De string
* @param int $begin De plaats waar je moet beginnen
* @param int $length Het aantal characters
*
* @return string
*/
function substrword($str, $begin, $length)
{
if (($begin + $length) < strlen($str)) {
return substr($str, $begin, $length).current(explode(' ', substr($str, $length))).'...';
}
return $str;
}
?>
/**
* Breek de string af op de plek van het eerste woord
* dat het maximale aantal characters overscheid
*
* @param string $str De string
* @param int $begin De plaats waar je moet beginnen
* @param int $length Het aantal characters
*
* @return string
*/
function substrword($str, $begin, $length)
{
if (($begin + $length) < strlen($str)) {
return substr($str, $begin, $length).current(explode(' ', substr($str, $length))).'...';
}
return $str;
}
?>
Aad B op 27/08/2012 22:10:30:
Bedankt voor jullie hulp het is gelukt !!!!
Toevoeging op 27/08/2012 22:26:08:
alleen nu word de eerste zin niet vet en de rest wel ook al heb ik nergens erin gezet dat de letters vet moeten zijn ???

De query en het resultaat zorgen in ieder geval niet voor het vet afdrukken. Moet ergens in je html/css liggen tenzij er html in het bericht is opgenomen??
Gewijzigd op 27/08/2012 22:43:36 door Aad B
ja er is html in sommige berichten opgenomen




