Webprofis is een Forum waarin je vragen kunt stellen die webgerelateerd zijn. Heb je vragen over of problemen met je Webpagina, HTML, CSS, Javascript, PHP of andere client of serverside scriptingtalen? Stel ze dan gerust op dit forum. Op dit forum zijn een aantal vrijwilligers actief die u graag met uw vragen willen helpen en u waar mogelijk een passend antwoord aanbieden. Hebt u zelf veel ervaring en kennis met betrekking tot het bovenstaande? U bent van harte welkom om uw kennis met anderen te delen!

We hopen dat eenieder op dit Forum een leerzame ervaring mag opdoen.

Team Webprofis

interne links

bewerkt zo 9 mrt 2014 in PHP, MySQL Posts: 12
beste,

binnen verschillende CMS systemen word gewerkt met interne links,
nu zat ik mij is af te vragen.. hoe zo`n script gemaakt is, zo dat ik het zelf is kan proberen om zo iets te maken


Getagd:

Reacties

  • PMPosts: 879
    das een hele klus harrit; zover ik weet werken alle CMS systemen met een database. Met interne links bedoel je dat er bepaalde gegevens getoond worden? Als dat is wat je bedoelt, dan is dat gewoon het opvragen van bepaalde data die in de database staat.
    Als dit niet is wat je bedoelt, geef anders eens een voorbeeld om het wat duidelijker te maken
  • PMPosts: 106
    In veel gevallen (en wat jij bedoelt) is dit inderdaad vaak met behulp van de database.

    bv.
    [[~27]] zou in het CMS waar ik veel mee werk een link maken naar de pagina met ID 27. Deze code wordt opgepakt, geparsed en de 27 wordt hier uit gehaald. Vervolgens wordt in de database gekeken naar welke pagina het identificatie nummer 27 herleid. Afhankelijk van de 'friendly url' settings word de juiste URL hier bij gegenereerd.
  • zoals ik al aan gaf nuet "CMS systeem", die werken altijd met een database en het is zeker een hele klus, en teven ook leuk
    om het te zelf te leren maken, van daar dus de vraag er na.

    ik denk niet dat er alleen maar word gekeken Erwin naar een titel van een artikel, volgens mij word er ook gekeken naar de tags die je op worden gegeven, en aan de hand van de deze combinatie dat dat de interne links word gemaakt

    als het alleen op basis zou zijn van titel, dan zou je enkel maar een titel hoeven te noemen binnen je content
    en dan als ik het goed heb kan je kijken met preg_match maar zeker weten doe ik niet


  • PMPosts: 106
    harrit schreef:: ik denk niet dat er alleen maar word gekeken Erwin naar een titel van een artikel, volgens mij word er ook gekeken naar de tags die je op worden gegeven, en aan de hand van de deze combinatie dat dat de interne links word gemaakt
    Ik zeg toch nergens iets over een titel? afhankelijk van de instellingen wordt een URL gemaakt. Zij dit een archief URL, een url met subfolder gebeuren, een alias, een menu titel, een titel of gewoon index.php?id=27; het maakt niet uit.
  • ;) dan heb ik het verkeert ge??nterpreteerd, maar los daar van, hoe we database moeten uit lezen weten we wel ;)
    maar dan heb je bijvoorbeeld $row['content'] waar dus alles in staat van de index.php>ID=27
    hoe vertel ik of anders welke string zou ik het beste kunnen gebruiken om de content los te krijgen zo dat ik in elk woord kan kijken

    zo dat ik dit krijg:

    [0] => hoe
    [1] => vertel
    [2] => ik
    ect

  • PMPosts: 732
    Ik weet niet of het een oplossing is, snap eigenlijk de vraagstelling ook niet helemaal.
    Maar het licht eraan hoe je de data leest van je database.


    function getMysqlData($fields,$table,$section,$field) {
    $sql = "SELECT $fields FROM $table WHERE $section = '$field'"; // MySQL select
    $result = mysql_query($sql) or die($sql . " Invalid query: " . mysql_error()); // MySQL result
    if (mysql_num_rows($result) > 0) {
    $row = mysql_fetch_assoc($result);
    if(strpos($fields,",") || $fields == "*") {
    return $row;
    } else {
    return $row[key($row)];
    }
    }
    }

    Om nu een bepaald gedeelte uit een bepaalde table te halen wordt simpel:


    extract(getMysqlData("id,title,content", "pages", "id", "1"), EXTR_PREFIX_ALL, "page");
    echo $page_title;

    Je kunt ook werken met $_GET


    extract(getMysqlData("id,title,content", "pages", "id", $_GET['id']), EXTR_PREFIX_ALL, "page");
    echo $page_title;
    If it's not fun, you're not doing it right!
  • bewerkt di 11 mrt 2014
    PMPosts: 415
    ..maar dan heb je bijvoorbeeld $row['content'] waar dus alles in staat van de index.php>ID=27 hoe vertel ik of anders welke string zou ik het beste kunnen gebruiken om de content los te krijgen zo dat ik in elk woord kan kijken....

    zo dat ik dit krijg:
    [0] => hoe
    [1] => vertel
    [2] => ik
    ect
    Om een array te krijgen van de woorden in een zin, gewoon explode gebruiken.

    $woordArray = explode(" ", $row['content']);//dus de row wordt ge-explodeert op spaties en je houd een array over
    Maar wat je met dat array wilt gaan doen is mij ook een raadsel..
  • tot zo ver bedankt voor de reacties,

    waar ik aan zat te denken, als ik het in een array zet, kan ik daar mee per woord controleren of deze over een komt met een titel van de artikel, als deze bestaat dan daar van een link maken naar de betreffende artikel binnen de site.

    ik hoop dat het wat duidelijker maakt ??
  • bewerkt za 15 mrt 2014
    PMPosts: 415
    Dat is iig TOTAAL niet slim om te doen...

    Stel je het dus een stukje text van 500 woorden, dat haal jij uit elkaar en gaat dus 500 query's doen naar je database, ik hoef zeker niet uit te leggen dat dat niet zo slim is zeker? :D

    Ook krijg je dan nutteloze linkjes omdat het, de, is, van, etc ...nogal vaak voorkomen.
    Gebruik tags lijkt mij het slimst.
  • PMPosts: 732
    Als ik het goed begrijp wil je een soort van tags maken, bijvoorbeeld een pagina (artikel) over php dat hij dan de content afzoekt naar het woord php en hier een link voor maakt?
    Probleem is wat vinTage vermeld dat bij een lang artikel er veel tijd over gaat.

    Je kunt dan beter een aparte tag sectie maken, geef zelf aan wat de woorden zijn.
    If it's not fun, you're not doing it right!
  • ik had daar zelf nog niet aan gedacht om het via tags te doen, zal daar van de week is mee bezig,
    tot zo ver bedankt voor het mee denken over de mogelijk heden, en om 500 query's te maken is zeker niet slim
    dat weet ik inmiddels ;)
Login of Registreer om te reageren.