7 berichten aan het bekijken - 1 tot 7 (van in totaal 7)
  • Q:
    Bijdrager
    ibook2fast

    [PHP] assortiment weergeven zonder Mysql

    Ik ben met een website bezig die een productassortiment vertoont. Dit assortiment is opgeslagen in een tab-gescheiden textbestand. Als er bijvoorbeeld door de klant een product opgeroepen wordt, dan leest een php-script dit textbestand volledig uit en plaatst deze in een array. Dus elke keer als er iets uit het assortiment gelezen moet worden, moet dit script het complete textbestand (ca. 600KB) doorploegen. Ik heb geen Mysql-database bij het account; denk ook niet dat dit echt nodig is, want het assortiment bestaat uit ca. 1500 records.

    Nu zit ik te denken om, als de website voor het eerst opgeroepen wordt, het complete assortiment in een $_SESSION te laden, zodat het assortiment maar 1x ‘geladen’ hoeft te worden. Ik hoop namelijk dat het op deze manier een stuk sneller zal gaan. Maar… is dit slim? En is het inderdaad sneller? Voordat ik de website drastisch moet gaan aanpassen zou ik graag willen weten of ik hier goed aan zou doen. Of zitten er belangrijke minpunten aan? Alvast bedankt voor elke reactie!

    Bijdrager
    danielpunt

    1500 records en een database vind je niet nodig? :sealed:
    Hoe update en wijzigt je klant de producten? Als het met de hand is, kan het toch veel makkelijker via een formulier?

    En als hij maar 1 product wilt wijzigen, moet als nog het 1500 records tekstbestandje uitlezen. En met MySQL vraag je alleen maar op wat er nodig is (mits je query goed is), dus ik denk dat MySQL toch sneller is.

    Dus ik zou zeggen: Het is niet sneller, het is niet makkelijk te onderhouden, het is foutgevoellig (als de gebruiker geen cookies enabled heeft werken sessies niet), en MySQL is gemaakt hier voor.

    Bijdrager
    ibook2fast

    Dank voor je bericht. Klanten kunnen het assortiment niet wijzigen. Dat kan alleen de beheerder van de site. En het assortiment veranderd niet vaak (gemiddeld 1x per dag of zo). We werken met Filemaker Pro, die het assortiment geheel automatisch met één druk op de knop exporteert en uploadt, dus dat is het probleem niet. Ik wil alleen dat de website de data zo snel mogelijk kan verwerken/op het schem vertonen…

    Bijdrager
    danielpunt

    Met de klant bedoel ik dus die beheerder, omdat hij een klant van jou is (neem ik aan dan)

    Maar je kan het tekstbestand cachen en bij werken wanneer het geupload word.:)

    Bijdrager
    ibook2fast

    Cachen? Ik weet wat ’t betekent, maar op welke manier bedoel je dit? Is $_SESSION gebruiken een bepaalde manier van cachen dan? Of hoe zou jij dit doen in mijn situatie (dus zonder Mysql)?

    Bijdrager
    wout3r

    Je kan het wel uitlezen in een array. Nooit geprobeerd met gescheiden van tabs maar je kan zoiets gebruiken (even uit het hoofd):

    [code:1:a40d12d71c]
    <?php
    //Tekst bestand openen
    $sTextfile_URL = "hierjetekstbestandje.txt";
    $sTextfile_OPEN = fopen( $sTextfile_URL, "r");
    $sTextfile_CONTENT = file_get_contents( $sTextfile_URL );

    //Filteren
    $aAssortiment = explode("t", $sTextfile_CONTENT);
    $iAssortiment = count($aAssortiment);

    //Weergeven
    for( $i=0; $i <= $iAssoritment; $i++)
    {
    echo $iAssortiment[$i]."<br/>";
    }
    ?>
    [/code:1:a40d12d71c]

    Bijdrager
    DarkRaverNL

    Koop er een mysql database bij, echt waar, werkt veel makkelijker, en zeker weten ook veel sneller, en als ze dat bij jou hosting niet verkopen, dan zou ik een andere zoeken waarbij het wel zit.

    Wat je mischien wel kan doen, als het cachen niet lukt, als de bezoeker bijv een product bekijkt, jij dat stukje info van dat product opslaat in een tekst bestand en ergens neer zet, en dus als het de volgende keer geladen wordt kijk je naar de datum van het bestand met alle producten, is het ouder als het product bestand, en bestaat het product bestand, dan laad je dat stukje tekst, zo niet laad je de hele product tekst, en maak je dus voor dat product weer een nieuwe bestand, alleen zou dit pas effectief werken als het grote product bestand niet zo vaak wordt geupdate (eens in de 2 weken bijv.) en er best veel bezoekers zijn,

7 berichten aan het bekijken - 1 tot 7 (van in totaal 7)

Je moet ingelogd zijn om een reactie op dit onderwerp te kunnen geven.