login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Nieuws inkorten

Offline giellexe - 24/11/2007 09:57
Avatar van giellexeMySQL interesse Beste mensen,

Ik heb een probleem ik ben nu met mijn home page bezig mar nu wil ik een funtie erin ( zit erin) Als de berichten langer zijn dan 600 Letters moet hij in gekort worden en dan een link weergeven die daar naar toe gaat. Die link doet het niet echt :S

http://www.plaatscode.be/4128/

Alvast heel erg bedankt 

3 antwoorden

Gesponsorde links
Offline MechaVore - 24/11/2007 10:28 (laatste wijziging 24/11/2007 10:42)
Avatar van MechaVore Gouden medaille

PHP gevorderde
In de functie inkorten2 gebruik je $id, dat kan niet omdat de functie zelf aparte variabelen gebruikt. Dus als je die ID erin wilt hebben, zou je hem als parameter moeten toevoegen

  1. <?php
  2. echo inkorten2($tekst,$aantal, $bekijk->id);
  3. function inkorten2($tekst,$aantal,$id){
  4.  
  5. }


of, wat ik zou doen (op deze manier staat de functie inkorten2, los van nieuws, en zou je hem dus ook op het forum o.i.d. kunnen hergebruiken:

  1. <?php
  2. //stuk code
  3. echo inkorten2($tekst,$aantal).'... <br><a href=?p=reacties&id=$bekijk->id>Lees verder</a>';



update
De code bovenin je script:
  1. <?php
  2. $sql = mysql_query("SELECT * FROM nieuws ORDER BY id DESC LIMIT 5") or die (mysql_error());
  3. while($bekijk = mysql_fetch_object($sql)){
  4. $id = $bekijk->id;
  5. }

is een beetje nutteloos, $id zal altijd het laatste nieuwsbericht krijgen. hij gaat nu alle regels langs, en veranderd elke keer $id in het id van de regel uit je database. Regel 2 t/m 5 kan je dus weghalen.

Regel 10:
  1. $tekst= substr($tekst, 0, $aantal);


En dan zou ik regel 32 veranderen in:
  1. ".inkorten2($tekst,$aantal)."... <br/><a href=?p=reacties&id=$bekijk->id>Lees verder</a><br/><br/>

Offline giellexe - 24/11/2007 10:37 (laatste wijziging 24/11/2007 10:44)
Avatar van giellexe MySQL interesse Ze doen het geen 1 van 2e

Als ik de eerste gebreuk dan geeft hij 1 error dat hij hem al 1x ingekort heeft
en als ik 2 gebruik dan geeft hij over al aan de hij ingekort is ( terwijl hij niet langer is dan 600 letters.

edit//
Ok id funtie werkt alleen nu wil ik weergeven als er minder dan 600 letters zijn dat hij het NIET weergeeft hoe kan ik dit nu krijgen ?
Offline MechaVore - 24/11/2007 10:46 (laatste wijziging 24/11/2007 10:51)
Avatar van MechaVore Gouden medaille

PHP gevorderde
De functie strlen() geeft het aantal karakters van de string terug. dus als dit aantal boven 600 is, wordt het wel weergeven, en eronder niet.

  1. <?php
  2. if(strlen($bericht) > 600){
  3. // de echo van regel 30 t/m 34.
  4. }
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2020 Sitemasters.be - Regels - Laadtijd: 0.459s