login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[php] Nieuwssysteem

Offline Simax - 20/08/2008 14:42
Avatar van SimaxOnbekend Mijn nieuwssysteem is zo goed als af, maar nu wil ik nog een kleine toevoeging toepassen. Echter zou ik niet weten hoe ik dit moet doen..

Al mijn nieuwsitems zijn verwerkt in mijn database. Op de startpagina wil ik mijn laatste vijf items weergeven. Graag zou ik dit op een manier doen zoals op: http://www.hardtraxx.nl, met een 'lees verder' link etc.

Iemand die mij op weg kan helpen?
Simax

23 antwoorden

Gesponsorde links
Offline Martijn - 20/08/2008 14:48
Avatar van Martijn Crew PHP dat er maar 5 topics komen is simpel, je zet gewoon in je query LIMIT 5.

Er zijn php functies waarmee je een tekst kan opdelen in stukken van een x aantal woorden, en dan laat je gewoon het 1e deel zien. Dan zet je een link neer naar een andere pagina met id=nieuwsID en op die pagina haal je het volledige nieuws op 
Offline WouterPSV - 20/08/2008 14:49 (laatste wijziging 20/08/2008 14:50)
Avatar van WouterPSV Lid Je wilt de tekst in korten en dan een knop lees meer hebben begrijp ik?

EDIT:

zo jah,

http://www.php.net/substr

Kijk daar eens naar.
Offline Simax - 20/08/2008 14:51
Avatar van Simax Onbekend
Citaat:
Er zijn php functies waarmee je een tekst kan opdelen in stukken van een x aantal woorden, en dan laat je gewoon het 1e deel zien.

Dat is juist waar ik naartoe wil, de items ophalen uit de database lukt wel, maar dan krijg ik het hele nieuwsbericht te zien. Dit is niet de bedoeling, dus misschien zou je mij een voorbeeldje kunnen laten zien?
Offline WouterPSV - 20/08/2008 14:54 (laatste wijziging 20/08/2008 14:56)
Avatar van WouterPSV Lid
  1. $kort = substr($fetch[bericht], 200);
  2. echo $kort;
  3. echo "Link lees meer";


Zoiets denk ik...


EDIT:

Quotes zijn weg.

En die 200 zijn tekens geen woorden. Dat je het even weet zeg maar 
Offline Martijn - 20/08/2008 14:55
Avatar van Martijn Crew PHP
  1. $waardeVanNieuws= uit database gedoe;
  2. $waardeVanNieuws=substr ($waardeVanNieuws,250);
  3. echo $waardeVanNieuws;

Offline WouterPSV - 20/08/2008 14:56
Avatar van WouterPSV Lid @DeviourSoul

waarvoor die extra stap als ik mag vragen ?
Offline Martijn - 20/08/2008 14:58
Avatar van Martijn Crew PHP het was deels om aan te geven waar je de input moet laten van je nieuws, en deels omdat ik het fijner vind werken ivm debuggen
Offline gothmog - 20/08/2008 16:07 (laatste wijziging 20/08/2008 16:07)
Avatar van gothmog Lid Even vraagje dat hier ook bij hoort: een 'i' is korter dan een 'm', dus stel dat er veel m'en in zitten dan wordt de tekst alsnog langer en met veel i'en weer vrij kort (ook met andere letters). Is het mogelijk een bepaalde lengte te zetten?
Bijv. max 4 regels van max. 200px breedt?
Offline Martijn - 20/08/2008 16:33
Avatar van Martijn Crew PHP niet dat ik weet. Maar ik denk dat dat weinig gebeurd, want statistisch gezien, maakt elke letter evenveel kans om voor te komen. En bovendien, dan is t hoogstens 1 regel meer
Offline gothmog - 20/08/2008 16:53
Avatar van gothmog Lid Toch wat gevonden:
http://nl2.php.net/manual/nl/function.wordwrap.php
Bovenste reactie
Offline Simax - 20/08/2008 17:04 (laatste wijziging 20/08/2008 19:07)
Avatar van Simax Onbekend Het ging mij voornamelijk om het aantal tekens. Echter zie ik nu alsnog de hele tekst, maar dan zonder de eerst 200 tekens..

  1. $select = "SELECT * FROM nieuws ORDER BY datum LIMIT 3";
  2. $query = mysql_query($select) or die(mysql_error());
  3.  
  4. $bericht = substr($result["bericht"], 200);


edit
Je ziet wel eens nieuwsberichten met plaatjes er tussendoor. Worden deze ook direct uitgelezen uit een database?
Offline Rens - 20/08/2008 19:10
Avatar van Rens Gouden medaille

Crew algemeen
  1. $bericht = substr($result["bericht"], 0, 200);

Je moet aangeven waar hij begint en hoeveel tekens.
Als je alleen 200 doet begint hij daar en gaat hij door tot het einde.
PHP.net: substr
Citaat:
string substr ( string $string , int $start [, int $length ] )
Offline Simax - 21/08/2008 11:08
Avatar van Simax Onbekend Okee, een duidelijkere uitleg kan bijna niet..

Nu vraag ik mij nog een ding af. Je ziet wel eens niewsberichten met alineas en plaatjes ertussen door, maar hoe worden deze opgeslagen? Neem nou een voorbeeld als http://www.hard...cibel.html
Offline djb - 21/08/2008 11:16
Avatar van djb PHP beginner plaatjes zijn gewoon opgeslagen op de server 
en in de database staat denk ik gewoon een link naar het plaatje
of het <img ......> is of iets anders kan je zelf bepaalen (heb hier geen ervaring mee)

maar er staat (lijkt mij) een verwijzing naar het plaatje in de database en dat plaatje staat ergens opgeslagen op de server 
Offline Simax - 21/08/2008 11:20 (laatste wijziging 21/08/2008 11:21)
Avatar van Simax Onbekend De plaatjes zijn inderdaad opgeslagen op de server. Ik zou graag een script schrijven waarmee men zelf nieuwsartikelen(zoals in mijn voorbeeld) kan toevoegen. Dus met plaatjes en alineas..

edit
Wanneer ik een tekst toevoeg met 'enters gescheiden' word deze achter elkaar opgeslagen in de database..
Offline djb - 21/08/2008 11:44
Avatar van djb PHP beginner
  1. echo nl2br($bericht);

als het goed is moet dat werken erbij 
i hope so tenminste 

Als je de tekst schrijft kan je misschien [img]url van plaatje[/img] doen
Daarna filter je dat naar <img ....> moet je even kijken bij een ubb script hoe dat gemaakt word 
want dan heb je het op een erg simpele manier opgelosd 

groetjes jeroen
Offline Simax - 21/08/2008 12:16
Avatar van Simax Onbekend
Citaat:
Als je de tekst schrijft kan je misschien [img]url van plaatje[/img] doen

Is er iemand die hier ervaring mee heeft en mij op weg zou willen helpen? Ik heb al een kijkje genomen bij de scripts, maar hier kan ik weinig mee..
Offline gothmog - 21/08/2008 13:06
Avatar van gothmog Lid Ik zou de afbeeldingen apart uploaden en apart in de database zetten. Bij die afbeelding zet je dan het nieuwsid waarmee je te maken hebt.
Je zou je tekst op kunnen maken met vetgedrukte letters etc. maar die kun je bij het inkorten van de tekst het beste weglaten, dat kan zo:
strip_tags($string);
Doe je dit niet dan kan je dit krijgen:
Dit is een nieuwsartikel</
Omdat je een maxaantal tekens had.

Als je afkort doe dus:
substr(strip_tags($string), 0, 200);

Afbeeldingen kun je er dan nog appart inzetten:
  1. <?php
  2. <img src="'.$url-uit-database.'">
  3. '.substr(strip_tags($string), 0, 200);
Offline Simax - 21/08/2008 13:09 (laatste wijziging 21/08/2008 14:13)
Avatar van Simax Onbekend Ik wil een compleet nieuwsbericht uploaden naar mijn database, dus met plaatjes(link er naartoe) inbegrepen..
Offline djb - 21/08/2008 14:12
Avatar van djb PHP beginner sidenote: Plaatjes kan je niet in de database zetten, url van het plaatje wel 

Je kunt (lees de post hiervoor) gewoon <img src='URL'> in de database zetten en wat ze hierboven gezegd hebben strip_tags erover halen op de homepage.

plaatjes dus op de server zetten en in de database het path ernaartoe.

groetjes jeroen
Offline Simax - 21/08/2008 14:14 (laatste wijziging 21/08/2008 14:15)
Avatar van Simax Onbekend Hiervoor wil ik graag een form maken waar mensen dmv een button een plaatje kunnen toevoegen of de tekst bold kunnen maken..

Iets in de richting van..
  1. [img]..[/img] of [b]..[/b]
Offline Rens - 21/08/2008 19:21
Avatar van Rens Gouden medaille

Crew algemeen
djb schreef:
sidenote: Plaatjes kan je niet in de database zetten, url van het plaatje wel 

sidenote: plaatjes kun je wel degelijk in de database zetten, net als elk ander bestand.
Heb je wel het nadeel dat je database snel groeit.

Voor het vervangen van de img-tags moet je eens kijken bij de scripts in de volgende categorie:
http://www.site...amp;cat=17
Dat zijn allemaal UBB scripts, en er zal er vast wel 1 tussen staan die de img-tag ondersteunt.
Offline djb - 22/08/2008 02:57 (laatste wijziging 22/08/2008 02:59)
Avatar van djb PHP beginner
Rens schreef:
sidenote: plaatjes kun je wel degelijk in de database zetten, net als elk ander bestand.
Heb je wel het nadeel dat je database snel groeit.


haha missed that 
maar het kan idd 
het is alleen al wat je zei erg onpraktisch. je doet het niet snel om even een foto erin te zette 
kan je tog beter de url erin gooie 

maar weer even back on the question 
  1. <?php
  2. $input = "[img=http://www.google.com/logos/olympics08_highjump_res.gif]";
  3. $input = eregi_replace("(\[img=)([A-Za-z0-9_~&=;\?:%@#./\-]+[A-Za-z0-9/])(\])", "<img src=\"\\2\">", $input);
  4. echo $input;
  5. ?>

Dat had ik om te testen 
werkt goed en makkelijk te gebruiken 
in de database zet je dit:
  1. [img=http://www.google.com/logos/olympics08_highjump_res.gif]

en met die eregi_replace moet je dus de tekst uit de database even filteren 
jammergenoeg werkt strip_tags hier niet op.
EDIT 
net getest en het werkt er wel op 
ik hoop dat je er nu weer wat verder mee komt  

owja,, je wou ook nog iets met de knoppen 
  1. onclick="document.formulier_name.veld_name.value += '[img=URL_VAN_PLAATJE]'

dat moet je dus op een knop erbij zetten.
formulier_name moet <form name='DEZE TEKST'> zijn
en veld_name moet <input name='DEZE TEKST'> zijn 

je kunt het natuurlijk ook aanpassen voor [ b ][ /b ] natuurlijk 

groetjes jeroen
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.324s