abonnement Unibet Coolblue Bitvavo
pi_58017589

cd niet bijgeleverd

Als je vragen hebt over PHP/MySQL, dan zit je hier goed met een vaste kliek guru's en een groot aantal regelmatige bezoekers. Beperk je vragen niet tot "hij doet het niet" of "hij geeft een fout" - onze glazen bol is kapot en we willen graag van je weten w�t er niet lukt en w�lke foutmelding je precies krijgt

Vorige delen:
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
49, 50, 51, 52, 53, 54, 55, 56,57

Zie ook:
  • PHP Dataverwerking
  • Offici�le PHP website
  • PHP Documentatie
  • MySQL Reference Manual
  • Yet Another PHP Faq
  • PHP Cheat Sheet
  • PHP5 Power Programming - boek met uitleg over OOP, Pear, XML, etc

    Tutorials:
  • W3Schools PHP
  • W3Schools SQL

    Deze OP en instructies voor nieuw topic: http://wiki.fok.nl/index.php/OP/PHP
  • I asked God for a bike, but I know God doesn't work that way.
    So I stole a bike and asked for forgiveness.
    pi_58017599
    Laatste vraag:
    quote:
    Op zondag 13 april 2008 10:54 schreef beerten het volgende:
    Een beetje een n00b vraag...

    MySQL tabelrijen kan je voorzien van een index. Nu begrijp ik dat dit omwille van doorzoekbaarheid gedaan kan worden.

    Wat is nu precies een index, welke kolommen komen hier voor in aanmerking?
    Ik vind allerlei info over het hoe, maar niet het waarom.
    I asked God for a bike, but I know God doesn't work that way.
    So I stole a bike and asked for forgiveness.
      zondag 13 april 2008 @ 11:12:35 #3
    62215 qu63
    ..de tijd drinkt..
    pi_58017616
    hodfr, heb d'r net ook een gemaakt
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      zondag 13 april 2008 @ 11:13:09 #4
    62215 qu63
    ..de tijd drinkt..
    pi_58017621
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_58017661
    Ik heb een tabel met getallen erin. Die getallen geven het aantal rijen in een tabel in mn db aan.
    Nu wil ik dat als je over het getal heen gaat er een klein schermpje overheen komt met wat informatie over dat getal. Dat kan natuurlijk met onmouseover enz, maar nu wil ik in dat schermpje geen eigen tekst hebben, maar een tekst gegenereerd door een stukje php.
    Weet iemand wel script ik daarvoor kan gebruiken? De mouseover-scipts die ik ken, laten geen php toe in dat schermpje.
    I asked God for a bike, but I know God doesn't work that way.
    So I stole a bike and asked for forgiveness.
    pi_58017704
    quote:
    Op zondag 13 april 2008 11:15 schreef -J-D- het volgende:
    Ik heb een tabel met getallen erin. Die getallen geven het aantal rijen in een tabel in mn db aan.
    Nu wil ik dat als je over het getal heen gaat er een klein schermpje overheen komt met wat informatie over dat getal. Dat kan natuurlijk met onmouseover enz, maar nu wil ik in dat schermpje geen eigen tekst hebben, maar een tekst gegenereerd door een stukje php.
    Weet iemand wel script ik daarvoor kan gebruiken? De mouseover-scipts die ik ken, laten geen php toe in dat schermpje.
    de td tag heeft natuurlijk title als property die je gewoon kan setten. En als het in je eigen stijl moet zijn of dynamisch gewoon iets in elkaar draaien met javascript/ajax
    pi_58018311
    tvp
      zondag 13 april 2008 @ 12:02:05 #8
    62215 qu63
    ..de tijd drinkt..
    pi_58018382
    quote:
    Op zondag 13 april 2008 11:15 schreef -J-D- het volgende:
    Ik heb een tabel met getallen erin. Die getallen geven het aantal rijen in een tabel in mn db aan.
    Nu wil ik dat als je over het getal heen gaat er een klein schermpje overheen komt met wat informatie over dat getal. Dat kan natuurlijk met onmouseover enz, maar nu wil ik in dat schermpje geen eigen tekst hebben, maar een tekst gegenereerd door een stukje php.
    Weet iemand wel script ik daarvoor kan gebruiken? De mouseover-scipts die ik ken, laten geen php toe in dat schermpje.
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    <script type="text/javascript">
    var cX = 0; var cY = 0;
    function UpdateCursorPosition(e){ cX = e.pageX; cY = e.pageY;}
    function UpdateCursorPositionDocAll(e){ cX = event.clientX; cY = event.clientY;}
    if(document.all) { document.onmousemove = UpdateCursorPositionDocAll; }
    else { document.onmousemove = UpdateCursorPosition; }
    function AssignPosition(d) {
    d.style.left = (cX+10) + "px";
    d.style.top = (cY+10) + "px";
    }
    function HideContent(d) {
    if(d.length < 1) { return; }
    document.getElementById(d).style.display = "none";
    }
    function ShowContent(d) {
    if(d.length < 1) { return; }
    var dd = document.getElementById(d);
    AssignPosition(dd);
    dd.style.display = "";
    }
    function ReverseContentDisplay(d) {
    if(d.length < 1) { return; }
    var dd = document.getElementById(d);
    AssignPosition(dd);
    if(dd.style.display == "none") { dd.style.display = ""; }
    else { dd.style.display = "none"; }
    }
    </script>

    <a onmouseover="ShowContent('uniquename2'); return true;" onmouseout="HideContent('uniquename2'); return true;" href="javascript:ShowContent('uniquename2')">LINKJE</a>

    <div id="uniquename2" style="display:none; position:absolute; border-style: solid; background-color: #FFFFFF; color: #004A95; padding: 5px;">EN HIER DE TEKST DIE JE WILT LATEN ZIEN</div>


    Zo heb ik het iig gedaan
    Kleruen zijn aan te passen aan je website
    En ipv een link kan het ook een div, td, of wat dan ook zijn
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_58018432
    quote:
    Op zondag 13 april 2008 12:02 schreef qu63 het volgende:

    [..]
    [ code verwijderd ]

    Zo heb ik het iig gedaan
    Kleruen zijn aan te passen aan je website
    En ipv een link kan het ook een div, td, of wat dan ook zijn
    Ik moet nu weg, maar ga er van de week naar kijken
    Mijn dank is in ieder geval groot.
    I asked God for a bike, but I know God doesn't work that way.
    So I stole a bike and asked for forgiveness.
      zondag 13 april 2008 @ 12:09:15 #10
    107951 JortK
    Immer kwaliteitsposts
    pi_58018755
    @Beerten:
    Een index doet precies wat het zegt. Je kunt het vergelijken als een index achter in een boek. Je kiest het onderwerp uit de lijst en je ziet welke pagina('s) je moet hebben om het te vinden. Bij een database-index is dat net zo. Door een index toe te passen hoeft de database niet de hele tabel door te nemen, maar kan het meteen de juiste rij pakken.

    Als voorbeeld even een foutje die ik zelf nog recentelijk had gemaakt. Ik heb een applicatie die een logfile op disk schrijft en na 1000 regels roteert. Nu wil ik die in de database hebben om er allehande queries op los te laten. Maar ik wil ook de nieuwste regels hebben, dus ik neem ook de nog niet geroteerde logfile mee waar nog in geschreven kan worden. Om te zorgen dat er geen dubbelle entries in de logfile komen, controleer ik het timestamp en een ander stuk van de logregel.

    Het inlezen van een logfile duurde ca. 11 seconden, en dat is gewoon lang. TE lang. Dus na wat zoekwerk kwam ik er achter dat de database ca. 0,01 seconde nodig had voor een query. Met 1 query per logregel en dat x 1000 zit je dus al snel op 10 seconden aan database-tijd. Toen ik zag dat daar de traagheid vandaan kwam was het probleem in no-time opgelost: even een index aanleggen op het timestamp-veld van de tabel en nu wordt een complete logfile in minder dan een seconde de database ingepropt. De query tijd is afgenomen naar 0,00039 seconden.

    Nu kun je je natuurlijk afvragen waarom er niet standaard een index op elk veld zit. En dat is simpel, als je iets wegschrijft naar de database, dan moeten alle indexen bijgewerkt worden. Dus hoe meer indexen, hoe sneller je kunt lezen, maar hoe trager je iets weg kunt schrijven.
    Don't hurry, be crappy!
    pi_58018864
    klen vraagje stel ik heb een telefoonnummer 0472123456
    hoe verwijder ik de 0472 gedeelte en vervang ik het door 32472
    pi_58018884
    quote:
    Op zondag 13 april 2008 11:15 schreef -J-D- het volgende:
    Nu wil ik dat als je over het getal heen gaat er een klein schermpje overheen komt met wat informatie over dat getal. Dat kan natuurlijk met onmouseover enz, maar nu wil ik in dat schermpje geen eigen tekst hebben, maar een tekst gegenereerd door een stukje php.
    Weet iemand wel script ik daarvoor kan gebruiken? De mouseover-scipts die ik ken, laten geen php toe in dat schermpje.
    Hoezo zou een javascript PHP aan moeten kunnen? Je kunt je PHP toch zo schrijven dat hij dat er gewoon inwrot?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php 
       $query = "SELECT `tekst` FROM `tooltips` WHERE `tooltip_id`= $tooltip_id; ";
       $row = mysql_fetch_row(mysql_query($query));
       $tooltip_text = $row[0];
    ?>
    <HTML><HEAD>
    <SCRIPT> 
    ...javascript geblaaat....
    var tekst = '<? $tooltip_text ?>'
    ...javascript geblaaat....
    </SCRIPT>
    ...

    Zo kun je tekst en variabellen in elk javascriptje prakken.
    Don't hurry, be crappy!
    pi_58018974
    quote:
    Op zondag 13 april 2008 12:37 schreef redboyonline het volgende:
    klen vraagje stel ik heb een telefoonnummer 0472123456
    hoe verwijder ik de 0472 gedeelte en vervang ik het door 32472
    1
    2
    3
    4
    $telefoonnummer = '0472123456';
    $oud = '0472';
    $nieuw = '32472';
    $nieuw_nummer = str_replace ( $oud, $nieuw, $telefoonnummer);

    En als $telefoonnummer een array is dan wordt $nieuw_nummer ook een array. Je kunt dus ineens een hele reeks van die nummers er doorheen rammen.
    Don't hurry, be crappy!
    pi_58019126
    quote:
    Op zondag 13 april 2008 12:45 schreef RiDo78 het volgende:

    [..]
    [ code verwijderd ]

    En als $telefoonnummer een array is dan wordt $nieuw_nummer ook een array. Je kunt dus ineens een hele reeks van die nummers er doorheen rammen.
    thx
    pi_58019415
    quote:
    Op zondag 13 april 2008 12:29 schreef RiDo78 het volgende:
    @Beerten:...
    Thnx!
    pi_58020094
    quote:
    Op zondag 13 april 2008 12:45 schreef RiDo78 het volgende:

    [..]
    [ code verwijderd ]

    En als $telefoonnummer een array is dan wordt $nieuw_nummer ook een array. Je kunt dus ineens een hele reeks van die nummers er doorheen rammen.
    Dan moet je wel zeker weten dat '0472' maar 1 keer in het telefoonnummer voor komt, anders gaat het fout.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_58020501
    quote:
    Op zondag 13 april 2008 14:05 schreef SuperRembo het volgende:

    [..]

    Dan moet je wel zeker weten dat '0472' maar 1 keer in het telefoonnummer voor komt, anders gaat het fout.
    Inderdaad, beter zou zijn een substring of iets dergelijks te gebruiken..
    pi_58020529
    tijd voor pizza
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_58020684
    quote:
    Op zondag 13 april 2008 14:38 schreef Chandler het volgende:
    tijd voor pizza
    Hey, het is hier geen slowchat
      zondag 13 april 2008 @ 16:02:23 #21
    32768 DionysuZ
    Respect my authority!
    pi_58021688
    quote:
    Op zondag 13 april 2008 14:05 schreef SuperRembo het volgende:

    [..]

    Dan moet je wel zeker weten dat '0472' maar 1 keer in het telefoonnummer voor komt, anders gaat het fout.
    1
    2
    3
    4
    $telefoonnummer = '04721234560472';
    $oud = '0472';
    $nieuw = '32472';
    $nieuw_nummer = preg_replace('/'.$oud.'/', $nieuw, $telefoonnummer, 1);
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
      zondag 13 april 2008 @ 16:10:30 #22
    32768 DionysuZ
    Respect my authority!
    pi_58021800
    maarrrrr.. als je ook telefoonnummers met een ander kengetal gaat parsen dan krijg je daar weer problemen mee aangezien die functie de eerste occurrence vervangt, en zodra het een ander kengetal is kan het getal verderop weer terugkomen in de rest van het telefoonnummer.
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
    pi_58026148
    okay, dan doen we het anders... er zijn meer wegen die naar rome leiden:
    1
    2
    3
    4
    $telefoonnummer = '04721234560472';
    $oud = '0472';
    $nieuw = '32472';
    $nieuw_nummer = $nieuw.substr($telefoonnummer, 3)

    Dit knipt de eerste 4 tekens weg (tellen begint bij 0) en plakt daar $nieuw voor. Er wordt dan niet opgelet wat dat voor cijfers zijn.

    Eventueel kun je ook nog kijken of die eerste 4 tekens wel het oude nummer zijn:
    1
    2
    3
    4
    5
    6
    $telefoonnummer = '04721234560472';
    $oud = '0472';
    $nieuw = '32472';
    if (substr($telefoonnummer, 0,4) == $oud) {
       $nieuw_nummer = $nieuw.substr($telefoonnummer, 3)
    }

    Maar beide methodes werken maar met 1 nummer tegelijk.
    Don't hurry, be crappy!
    pi_58026225
    quote:
    Op zondag 13 april 2008 16:10 schreef DionysuZ het volgende:
    maarrrrr.. als je ook telefoonnummers met een ander kengetal gaat parsen dan krijg je daar weer problemen mee aangezien die functie de eerste occurrence vervangt, en zodra het een ander kengetal is kan het getal verderop weer terugkomen in de rest van het telefoonnummer.

    Als je het kengetgal wil wijzigen doe je toch simpel:

    preg_replace('/^020/', '010', $tel_no);

    Zal alleen de waarde veranderen indien het telefoonnummer begint met 020.
      zondag 13 april 2008 @ 19:30:44 #25
    62215 qu63
    ..de tijd drinkt..
    pi_58026240
    kan je dan niet beter gewoon de 0 vervangen door 32?
    Ik neem aan dat je een telefoonnummer om wilt zetten naar een internationaal nummer?
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_58026777
    quote:
    Op zondag 13 april 2008 16:02 schreef DionysuZ het volgende:

    [..]
    [ code verwijderd ]
    Jij hebt best wel een vet user ID, powers of two
    pi_58031399
    quote:
    Op zondag 13 april 2008 19:50 schreef JeRa het volgende:

    [..]

    Jij hebt best wel een vet user ID, powers of two
    Ach de jouwe is 2 2log 47509,
    pi_58031810
    quote:
    Op zondag 13 april 2008 12:02 schreef qu63 het volgende:

    [..]
    [ code verwijderd ]

    Zo heb ik het iig gedaan
    Kleruen zijn aan te passen aan je website
    En ipv een link kan het ook een div, td, of wat dan ook zijn
    Het werkt als een tiet.
    Tering veel werk om het op mijn site te implementeren.
    Het moet op zo'n 150 plaatsen geplaatst worden
    Maar goed, het werkt
    I asked God for a bike, but I know God doesn't work that way.
    So I stole a bike and asked for forgiveness.
      zondag 13 april 2008 @ 22:52:44 #29
    62215 qu63
    ..de tijd drinkt..
    pi_58031977
    quote:
    Op zondag 13 april 2008 22:47 schreef -J-D- het volgende:

    [..]

    Het werkt als een tiet.
    Tering veel werk om het op mijn site te implementeren.
    Het moet op zo'n 150 plaatsen geplaatst worden
    Maar goed, het werkt
    Die div kan je overal op je site neergooien, dus ook in een footer ofzo
    Als je die footer dan toch al include is het makkelijk

    en verder gewoon je linkjes aanpassen
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_58034163
    Goed, ik wil mijn volgende projectje maar eens in een framwork gaan maken, nadat ik ontdekt heb dat die toch wel tot mooie dingen in staat zijn. De vraag is nu alleen nog welke? Ik heb de volgende bekeken en zijn het eigenlijk net allemaal niet.

    Ik heb een paar eisen:

  • MVC
  • Goede database class
  • Goede documentatie
  • Het liefst PHP 5

    CakePHP: Mooi gebruik van MVC, ook PHP 5. De documentatie is op zich redelijk maar mist wel een wat uitgebreidere uitleg en goede voorbeelden. Ook denk ik dat ik te weinig kan met al die automatische koppelingen tussen de database en de models, zonder er goede documentatie over te hebben. Ook mis ik eigenlijk wel een paar goede extra basisfunctionaliteiten waar je wat aan hebt.

    Code Igniter: Ook een mooi framework, helaas wel nog PHP 4. De documentatie is goed, ook denk ik mede doordat er een bedrijf achter zit, dit kan natuurlijk ook een nadeel zijn (?). Werkt prettig alhoewel ik dan wel weer het automatisch laden van functies mis zoals bij Kohana, komt denk ik ook mede doordat het nog in PHP 4 geschreven is (of niet?).

    Kohana: Is een fork van Code Igniter en is wel op PHP 5 gebouwd. Ziet er heel goed uit maar de documentatie laat echt heel erg te wensen over en het is zo te zien nog niet heel erg oud, dus hoe het er in de toekomst mee verder gaat bevalt ook nog maar te zien natuurlijk. Op het eerste gezicht met een beetje spelen ziet het er iig wel veelbelovend uit. Toch maar weer overwegen.

    Zend Framework: Heel kort bekeken, volgens mij out-of-the-box niet zo'n compleet framework als de anderen, wel heel erg goede documentatie maar het staat me eigenlijk gewoon niet aan.

    Iemand nog ervaringen, suggesties of iets anders waardoor ik een goede keuze kan maken? Ik weet het echt niet..
  •   maandag 14 april 2008 @ 00:06:27 #31
    32768 DionysuZ
    Respect my authority!
    pi_58034252
    quote:
    Op zondag 13 april 2008 19:30 schreef slakkie het volgende:

    [..]

    Als je het kengetgal wil wijzigen doe je toch simpel:

    preg_replace('/^020/', '010', $tel_no);

    Zal alleen de waarde veranderen indien het telefoonnummer begint met 020.
    aw natuurlijk ^ startwaarde, ff vergeten joh =)
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
    pi_58036794
    Ik wil een functie maken waarmee ik een string / code kan genereren op basis van een pattern. Een soort omgekeerde regex dus ... Ik heb alleen geen idee hoe ik dit aan moet pakken

    Ik kan natuurlijk at random codes gaan genereren, en die net zo lang tegen m'n pattern matchen totdat ik een hit heb, maar dat is natuurlijk hopeloos inefficient... iemand suggesties?
    pi_58036986
    Je wilt jezelf gaan pijnigen? Waarom wil je regular expressions reversen?
    pi_58037030
    quote:
    Op maandag 14 april 2008 08:51 schreef slakkie het volgende:
    Je wilt jezelf gaan pijnigen? Waarom wil je regular expressions reversen?
    Om bijvoorbeeld wachtwoorden a.d.h.v. een custom format te genereren?

    Ik denk dat het wel te doen is, maar er is voor zover ik weet geen PHP functie voor. Dus ofwel zelf implementeren ofwel old school strings aan elkaar plakken totdat je het gewenste formaat hebt
    pi_58037256
    quote:
    Op maandag 14 april 2008 00:02 schreef Janteh het volgende:
    Goed, ik wil mijn volgende projectje maar eens in een framwork gaan maken, nadat ik ontdekt heb dat die toch wel tot mooie dingen in staat zijn. De vraag is nu alleen nog welke? Ik heb de volgende bekeken en zijn het eigenlijk net allemaal niet.

    Ik heb een paar eisen:

  • MVC
  • Goede database class
  • Goede documentatie
  • Het liefst PHP 5

    CakePHP: Mooi gebruik van MVC, ook PHP 5. De documentatie is op zich redelijk maar mist wel een wat uitgebreidere uitleg en goede voorbeelden. Ook denk ik dat ik te weinig kan met al die automatische koppelingen tussen de database en de models, zonder er goede documentatie over te hebben. Ook mis ik eigenlijk wel een paar goede extra basisfunctionaliteiten waar je wat aan hebt.

    Code Igniter: Ook een mooi framework, helaas wel nog PHP 4. De documentatie is goed, ook denk ik mede doordat er een bedrijf achter zit, dit kan natuurlijk ook een nadeel zijn (?). Werkt prettig alhoewel ik dan wel weer het automatisch laden van functies mis zoals bij Kohana, komt denk ik ook mede doordat het nog in PHP 4 geschreven is (of niet?).

    Kohana: Is een fork van Code Igniter en is wel op PHP 5 gebouwd. Ziet er heel goed uit maar de documentatie laat echt heel erg te wensen over en het is zo te zien nog niet heel erg oud, dus hoe het er in de toekomst mee verder gaat bevalt ook nog maar te zien natuurlijk. Op het eerste gezicht met een beetje spelen ziet het er iig wel veelbelovend uit. Toch maar weer overwegen.

    Zend Framework: Heel kort bekeken, volgens mij out-of-the-box niet zo'n compleet framework als de anderen, wel heel erg goede documentatie maar het staat me eigenlijk gewoon niet aan.

    Iemand nog ervaringen, suggesties of iets anders waardoor ik een goede keuze kan maken? Ik weet het echt niet..
  • Is de smarty template geen optie?
    pi_58037361
    quote:
    Op maandag 14 april 2008 09:13 schreef dik_voormekaar het volgende:

    [..]

    Is de smarty template geen optie?
    Dat is een template engine en geen framework ernstig verschil.
    pi_58037372
    quote:
    Op maandag 14 april 2008 09:21 schreef JeRa het volgende:

    [..]

    Dat is een template engine en geen framework ernstig verschil.
    Oops..., sorry.
    pi_58037508
    quote:
    Op maandag 14 april 2008 08:56 schreef JeRa het volgende:
    Om bijvoorbeeld wachtwoorden a.d.h.v. een custom format te genereren?
    Correct... en om reeksen in een bepaald format te genereren
      maandag 14 april 2008 @ 10:18:55 #39
    187069 slacker_nl
    Sicko pur sang
    pi_58038304
    Kijk eens naar de source code van deze Perl module en rewrite het naar PHP: http://search.cpan.org/~s(...)lib/String/Random.pm
    In theory there is no difference between theory and practice. In practice there is.
      maandag 14 april 2008 @ 11:00:04 #40
    187069 slacker_nl
    Sicko pur sang
    pi_58039072
    quote:
    Op maandag 14 april 2008 00:02 schreef Janteh het volgende:
    Goed, ik wil mijn volgende projectje maar eens in een framwork gaan maken, nadat ik ontdekt heb dat die toch wel tot mooie dingen in staat zijn. De vraag is nu alleen nog welke? Ik heb de volgende bekeken en zijn het eigenlijk net allemaal niet.

    Ik heb een paar eisen:

  • MVC
  • Goede database class
  • Goede documentatie
  • Het liefst PHP 5
  • Misschien ben je deze sites al tegengekomen met je kleine onderzoek:

    http://www.phpframeworks.com/index.php5
    http://www.phpit.net/article/ten-different-php-frameworks/
    http://www.mustap.com/phpzone_post_73_top-10-php-mvc-frameworks
    http://www.phpclasses.org(...)-PHP-frameworks.html
    In theory there is no difference between theory and practice. In practice there is.
    pi_58039462
    quote:
    Op maandag 14 april 2008 10:18 schreef slacker_nl het volgende:
    Kijk eens naar de source code van deze Perl module en rewrite het naar PHP: http://search.cpan.org/~s(...)lib/String/Random.pm
    Hee, dat ziet er wel interessant uit
      maandag 14 april 2008 @ 16:38:11 #42
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_58045276
    quote:
    Op maandag 14 april 2008 00:02 schreef Janteh het volgende:
    Goed, ik wil mijn volgende projectje maar eens in een framwork gaan maken, nadat ik ontdekt heb dat die toch wel tot mooie dingen in staat zijn. De vraag is nu alleen nog welke? Ik heb de volgende bekeken en zijn het eigenlijk net allemaal niet.

    Ik heb een paar eisen:

  • MVC
  • Goede database class
  • Goede documentatie
  • Het liefst PHP 5

    CakePHP: Mooi gebruik van MVC, ook PHP 5. De documentatie is op zich redelijk maar mist wel een wat uitgebreidere uitleg en goede voorbeelden. Ook denk ik dat ik te weinig kan met al die automatische koppelingen tussen de database en de models, zonder er goede documentatie over te hebben. Ook mis ik eigenlijk wel een paar goede extra basisfunctionaliteiten waar je wat aan hebt.

    Code Igniter: Ook een mooi framework, helaas wel nog PHP 4. De documentatie is goed, ook denk ik mede doordat er een bedrijf achter zit, dit kan natuurlijk ook een nadeel zijn (?). Werkt prettig alhoewel ik dan wel weer het automatisch laden van functies mis zoals bij Kohana, komt denk ik ook mede doordat het nog in PHP 4 geschreven is (of niet?).

    Kohana: Is een fork van Code Igniter en is wel op PHP 5 gebouwd. Ziet er heel goed uit maar de documentatie laat echt heel erg te wensen over en het is zo te zien nog niet heel erg oud, dus hoe het er in de toekomst mee verder gaat bevalt ook nog maar te zien natuurlijk. Op het eerste gezicht met een beetje spelen ziet het er iig wel veelbelovend uit. Toch maar weer overwegen.

    Zend Framework: Heel kort bekeken, volgens mij out-of-the-box niet zo'n compleet framework als de anderen, wel heel erg goede documentatie maar het staat me eigenlijk gewoon niet aan.

    Iemand nog ervaringen, suggesties of iets anders waardoor ik een goede keuze kan maken? Ik weet het echt niet..
  • www.pradosoft.com schijnt ook wel erg goed te zijn. Alleen door tijdgebrek niet voldoende tijd aan kunnen besteden jammergenoeg.
      maandag 14 april 2008 @ 16:40:35 #43
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_58045308
    Ooh.. trouwens ook weer een vraagje

    Wat is nu de beste methode om een SOAP call uit te gaan voeren?

    Ik weet dat je PHP SOAP hebt. Momenteel maken we hier nu nog gebruik van NuSOAP. maar ik begreep dat dit nu niet een van de betere is.
    Via cUrl kan je ook nog een soort van SOAP versturen, zij het dat je dan de gegevens in de url zelf moet knallen.

    Wat is jullie advies om te gebruiken??
    pi_58045955
    ik gebruik NuSOAP, naar mijn weten is dat juist wel een van de betere.

    Voor zover ik weet is deze ook heel wat uitgebreider dan de PHP SOAP library. Bovendien vind ik het ook wel een voordeel dat je NuSOAP kunt gebruiken zonder dat hier speciale libraries op de betreffende server nodig zijn

    Volgens mij werkt NuSOAP overigens ook via cURL?
      maandag 14 april 2008 @ 23:18:18 #45
    46383 Tiemie
    sowieso wel!
    pi_58056673
    Nadeel van Nusoap is dat een aantal namen van classes overeen komen met (standaard?) php5-modules.
    pi_58056805
    quote:
    Op maandag 14 april 2008 23:18 schreef Tiemie het volgende:
    Nadeel van Nusoap is dat een aantal namen van classes overeen komen met (standaard?) php5-modules.
    Zal ook heel blij zijn als PHP6 stable wordt, namespaces zijn geweldig. De keren dat ik een XMLWriter/Reader class heb geschreven zonder te weten dat ze ook al in PHP5 aanwezig zijn, zijn helaas talloos
    pi_58057199
    quote:
    Op maandag 14 april 2008 23:23 schreef JeRa het volgende:

    [..]

    Zal ook heel blij zijn als PHP6 stable wordt, namespaces zijn geweldig. De keren dat ik een XMLWriter/Reader class heb geschreven zonder te weten dat ze ook al in PHP5 aanwezig zijn, zijn helaas talloos
    Moet PHP6 jouw gebrek aan kennis van PHP compenseren?
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_58057282
    quote:
    Op maandag 14 april 2008 23:40 schreef SuperRembo het volgende:

    [..]

    Moet PHP6 jouw gebrek aan kennis van PHP compenseren?
    Geef toe, voorgedefiniëerde global classes zijn gewoon ernstig nutteloos en in zo'n geval alleen maar hinderlijk
    pi_58059698
    Een paar kleine vraagjes over XML.

    Ik moet een XML script schrijven voor iemand, echter deed ik dit eerst met eregi (zoeken en uitlezen). Nu wil ik het juist aanpakken. Dus een paar vragen over XML.

    Hoe kan ik het beste een XML bestand uitlezen
    Hoe kan ik een bepaald element en zijn nodes uitlezen?
    Hoe kan ik een bepaald element zoeken?

    Ik heb de documentatie van php.net geraadpleegd maar werdt er niet echt wijs van
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_58059736
    Beter zoeken:

    http://nl2.php.net/xml
    Allemaal handige functies om XML bestanden uit te lezen.
      dinsdag 15 april 2008 @ 08:52:49 #51
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_58060224
    Mja, zit er nu een beetje naar te kijken en was verteld dat de ontwikkeling van NuSOAP al hele tijd stil lag, maar zie nu dat er in nov. 2007 een nieuwe versie is gekomen. Ga er toch even mee aan de gang..
    pi_58060252
    Ik ben ook zo'n blaataap met lezen hé maar ik heb een voorbeeld gevonden die mij kon helpen.. Bedankt GSMboy
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_58061374
    Wat is er mis met mijn query? Het gedeelte TOT de AND werkt, maar ik wil van het te submitten formulier dat hij alleen de 'volgorde' +1ed van de entries in db portfolio waar de waarde 'afdeling' hetzelfde is als de te submitten entry

    $result=db_query(sprintf("UPDATE portfolio SET volgorde = volgorde +1 WHERE volgorde >= '%s',$form['volgorde'] AND `afdeling` = $form['afdeling']));
    never underestimate the power of stupid people in large groups
    pi_58061611
    quote:
    Op dinsdag 15 april 2008 10:09 schreef Skyrise het volgende:
    Wat is er mis met mijn query?
    Kijk eens naar de query die uitgevoerd wordt, dus naar de uitkomst van sprintf(). Dan zie je vast zelf wel wat er mis is.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_58063169
    Ik zeg het wel even voor SR

    de fout zit um hier
    WHERE volgorde >= '%s',$form['volgorde'] AND `afdeling` = $form['afdeling']));

    oftewel dit er van maken
    1$result=db_query(sprintf("UPDATE portfolio SET volgorde = volgorde +1 WHERE volgorde >= '%s' AND `afdeling` = " . $form['afdeling']), $form['volgorde']);
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_58063437
    quote:
    Op dinsdag 15 april 2008 11:46 schreef Chandler het volgende:
    Ik zeg het wel even voor SR

    de fout zit um hier
    WHERE volgorde >= '%s',$form['volgorde'] AND `afdeling` = $form['afdeling']));

    oftewel dit er van maken
    [ code verwijderd ]
    Nog lelijker, sprintf en dan nog $string . "andere string doen"... IEEK.

    1
    2
    3
    <?php
    $sql 
    sprintf("UPDATE portfolio SET volgorde = volgorde +1 WHERE volgorde >= '%s' AND `afdeling` = '%s'",  $form['volgorde'],  $form['afdeling']);
    ?>
      dinsdag 15 april 2008 @ 12:01:01 #57
    84926 WyriHaximus
    Release the hounds smithers!
    pi_58063552
    quote:
    Op dinsdag 15 april 2008 11:46 schreef Chandler het volgende:
    Ik zeg het wel even voor SR

    de fout zit um hier
    WHERE volgorde >= '%s',$form['volgorde'] AND `afdeling` = $form['afdeling']));

    oftewel dit er van maken
    [ code verwijderd ]
    * WyriHaximus zucht
    1$result=db_query(sprintf("UPDATE portfolio SET volgorde = volgorde +1 WHERE volgorde >= '%s' AND `afdeling` = " . $form['afdeling'], $form['volgorde']));
    Je 1e ) stond verkeerd .

    EDIT: En ook wat slakkie zegt .
    phluphy for president!
    pi_58065715
    Hehe,... goedzo, het werkt alleen nog niet. Hij update nu uberhaupt geen volgorde meer.

    `afdeling` en `volgorde` vallen wel allebei onder dezelfde entry (parent), waarom ik dus geen simpele mutatie (+1 voor alles gelijk aan en hoger voor `volgorde`) voor alles met dezelfde `afdeling` kan maken snap ik niet.
    never underestimate the power of stupid people in large groups
    pi_58065872
    quote:
    Op dinsdag 15 april 2008 13:33 schreef Skyrise het volgende:
    Hehe,... goedzo, het werkt alleen nog niet. Hij update nu uberhaupt geen volgorde meer.

    `afdeling` en `volgorde` vallen wel allebei onder dezelfde entry (parent), waarom ik dus geen simpele mutatie (+1 voor alles gelijk aan en hoger voor `volgorde`) voor alles met dezelfde `afdeling` kan maken snap ik niet.
    Maar wat is nou de query die uitgevoerd wordt?
    Maak er eens dit van zodat je kan zien wat erg werkelijk gebreurt:

    1
    2
    3
    $sql = sprintf("UPDATE ...);
    echo $sql;
    $result = db_query($sql);


    `volgorde` is een integer, maar de parameter krijgt wel quotjes? Is `afdeling` ook een int, want die parameter krijg geen quotjes?

    [ Bericht 3% gewijzigd door SuperRembo op 15-04-2008 13:48:05 ]
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_58066549
    afdeling is een text, volgorde een integer ik zal die quotjes even omwisselen.

    De warning die ik krijg is:

    UPDATE portfolio SET volgorde = volgorde +1 WHERE volgorde >= '17', AND `afdeling` = projects
    Warning: Cannot modify header information - headers already sent

    Ik stuur echter geen headers volgens mij, ff dubbelchecken.
    edit:: Ik heb gekeken waar die headers dan verzonden worden, maar die andere .php waar hij naar verwijst
    gaat in die line over thumbs, dus dat is het iig niet.

    [ Bericht 30% gewijzigd door Skyrise op 15-04-2008 14:34:42 ]
    never underestimate the power of stupid people in large groups
      dinsdag 15 april 2008 @ 17:37:56 #61
    37634 wobbel
    Da WoBBeL King
    pi_58070022
    Ik had deze code, maar die werkte niet:

    1
    2
    3
    4
    DELETE FROM SHOP_Subcategory 
    INNER JOIN SHOP_Subcategory_Lang 
    ON ( SHOP_Subcategory.IdSubcategory = SHOP_Subcategory_Lang.SubcategoryId ) 
    WHERE SHOP_Subcategory.CategoryId = '1'


    Ik kreeg deze foutmelding:
    quote:
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INNER JOIN SHOP_Subcategory_Lang ON ( SHOP_Subcategory.IdSubcat' at line 3
    In het vorige topic had ik dit probleem gepost, en iemand kwam met deze onderstaande code:

    1
    2
    3
    4
    DELETE SHOP_Subcategory
    FROM SHOP_Subcategory s
    INNER JOIN SHOP_Subcategory_Lang l ON s.IdSubcategory = l.SubcategoryId
    WHERE s.CategoryId = 1


    maar die geeft deze foutmelding:
    quote:
    Unknown table 'SHOP_Subcategory' in MULTI DELETE
    Unknown table SHOP_Subcategory?? De tabelnaam is gewoon goed hoor :P
    pi_58071233
    Oh, dan moet het "DELETE s" zijn in plaats van "DELETE SHOP_Subcategory". Na DELETE moet dus de alias worden gebruikt.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_58073655
    MySQL vraagje..
    Ik ben bezig een database uit een oude webapplicatie over te zetten naar een nieuwe applicatie.
    De oude situatie is zo:
    Er is een tabel met hierin bedrijven. Onder andere bedrijfsnaam, website, email, bezoekadres, postadres, enzovoort. Deze moet overgezet worden.
    In de nieuwe applicatie is er ondersteuning voor meerdere filialen per bedrijf, oftewel, er is een 1 op n relatie ontstaan met bedrijf_id als eigenschap van een filiaal.

    Dit betekent dus dat ik de oude tabel moet gaan opsplitsen in 2 tabellen, waarbij het toegewezen ID uit de bedrijventabel, in het veld bedrijf_id in de filialentabel geplaatst moet worden, samen met de rest van de velden..

    Geen idee hoe ik dit simpel kan oplossen.. Tips?
    Alvast bedankt
    pi_58073815
    Scriptje maken wat de oude tabel leest, en daar doorheen loopt... In de nieuwe bedrijventabel een record aanmaken, ID opvragen en de hele meuk in de filialen tabel importeren?

    Om hoeveel bedrijven gaat het? En komt er helemaal geen info in de bedrijventabel?
    pi_58077788
    Dit hieronder is een script om de pagina's goed of af te keuren. Als ze gekeurd zijn krijgen de leden een email, maar de afzender is md108183@geenpunt.nl (dus volgens mij onbekend)

    Hoe kan ik dit veranderen?
    quote:
    <?php
    include "connect.php";
    include "var.php";
    session_start();
    print "<link rel='stylesheet' href='style.css' type='text/css'>";
    if(isset($_SESSION['topadmin']))
    {
    print "<table width=90%>";
    print "<tr><td valign='top'>";
    include "adminleft.php";
    print "</td>";
    print "<td valign='top' width=80%>";
    print "<table class='maintable'>";
    print "<tr class='headline'><td><center>Validate Sites</center></td></tr>";
    print "<tr class='mainrow'><td>";
    if(isset($_POST['submit']))
    {
    $ID=$_POST['ID'];
    $selectsite="SELECT * from ts_sites where ID='$ID'";
    $selectsite2=mysql_query($selectsite) or die("no select");
    $selectsite3=mysql_fetch_array($selectsite2);
    $validatesite="Update ts_sites set validated='1' where ID='$ID'";
    mysql_query($validatesite) or die("Could not validate site");
    print "Site Validated";
    mail("$selectsite3[email]","Je site is goedgekeurd", "Je site $selectsite3[title] is goedgekeurd bij $title");

    }
    else if(isset($_POST['submit2']))
    {
    $ID=$_POST['ID'];
    $selectsite="SELECT * from ts_sites where ID='$ID'";
    $selectsite2=mysql_query($selectsite) or die("no select");
    $selectsite3=mysql_fetch_array($selectsite2);
    $deletesite="DELETE from ts_sites where ID='$ID'";
    mysql_query($deletesite) or die("Could not delete site");
    print "Site Deleted";
    mail("$selectsite3[email]","Site verwijderd", "Helaas hebben wij je site $selectsite3[title] moeten verwijderen van $title");

    }
    else
    {
    $getnotvalidated="SELECT * from ts_sites where validated='0'";
    $getnotvalidated2=mysql_query($getnotvalidated) or die("Could not get sites");
    while($getvalidated3=mysql_fetch_array($getnotvalidated2))
    {
    print "<form action='validate.php' method='post'>";
    print "Site: <A href='$getvalidated3[url]' target='_blank'>$getvalidated3[title]</a><br>";
    print "<img src='$getvalidated3[button]'><br>";
    print "Category:$getvalidated3[catparent]<br>";
    print "Description: $getvalidated3[description]<br>";
    print "<input type='hidden' name='ID' value='$getvalidated3[ID]'>";
    print "<input type='submit' name='submit' value='validate'>";
    print " <input type='submit' name='submit2' value='Delete'></form>";
    }
    }

    print "</td></tr></table>";
    print "</td></tr></table>";
    }
    else
    {
    print "Not logged in";
    }

    ?>
    Alvast bedankt
    pi_58078107
    quote:
    Op dinsdag 15 april 2008 20:43 schreef Xcalibur het volgende:
    Scriptje maken wat de oude tabel leest, en daar doorheen loopt... In de nieuwe bedrijventabel een record aanmaken, ID opvragen en de hele meuk in de filialen tabel importeren?

    Om hoeveel bedrijven gaat het? En komt er helemaal geen info in de bedrijventabel?
    De bedrijventabel bevat: id, naam, branche, website, algemeen emailadres
    Filialentabel bevat: id, bedrijf id, postadres (meerdere velden), bezoekadres, telefoon, fax, and so on..
    Het gaat om ongeveer 18,000 records.. Het liefste zou ik het met pure SQL oplossen, maar voor zover ik heb kunnen vinden gaat dat niet helemaal lukken en moet ik inderdaad terugvallen op een PHP-scriptje..
    In ieder geval bedankt voor het meedenken

    Ik hoopte zelf dat er iets als een SELECT INTO met een join-mogelijkheid bestond, maarja, dat zal wel tegenvallen
    pi_58078165
    quote:
    Op dinsdag 15 april 2008 23:20 schreef bartoz het volgende:
    Dit hieronder is een script om de pagina's goed of af te keuren. Als ze gekeurd zijn krijgen de leden een email, maar de afzender is md108183@geenpunt.nl (dus volgens mij onbekend)

    Hoe kan ik dit veranderen?
    [..]

    Alvast bedankt
    Je gebruikt de functie mail() om je berichten te verzenden.
    Als je deze pagina doorleest, kom je al een stuk verder.
    pi_58078521
    quote:
    Op dinsdag 15 april 2008 23:36 schreef svierkant het volgende:

    [..]

    Je gebruikt de functie mail() om je berichten te verzenden.
    Als je deze pagina doorleest, kom je al een stuk verder.
    Ok bedankt....maar is het niet gewoon 1 zin die ik er tussen kan zetten?
      dinsdag 15 april 2008 @ 23:52:00 #69
    62215 qu63
    ..de tijd drinkt..
    pi_58078574
    quote:
    Op dinsdag 15 april 2008 23:50 schreef bartoz het volgende:

    [..]

    Ok bedankt....maar is het niet gewoon 1 zin die ik er tussen kan zetten?
    wat staat er in var.php? ik denk dat daar de afzender vermeldt staat, of in de php.ini
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_58078661
    <?php //variables for topsites
    $adminemail="***@*****.com";
    ?>

    Dit staat er in var.php
    pi_58079244
    quote:
    Op dinsdag 15 april 2008 23:50 schreef bartoz het volgende:

    [..]

    Ok bedankt....maar is het niet gewoon 1 zin die ik er tussen kan zetten?
    Ten eerste weet ik niet wat er allemaal in de bestanden staat, waaronder var.php. Je zult je iets meer in de code moeten verdiepen dan je nu doet.
    pi_58079330
    var.php staan voor de rest geen dingen die te maken hebben met de email.
    pi_58084295
    quote:
    Op dinsdag 15 april 2008 14:16 schreef Skyrise het volgende:
    afdeling is een text, volgorde een integer ik zal die quotjes even omwisselen.

    De warning die ik krijg is:

    UPDATE portfolio SET volgorde = volgorde +1 WHERE volgorde >= '17', AND `afdeling` = projects
    Warning: Cannot modify header information - headers already sent

    Ik stuur echter geen headers volgens mij, ff dubbelchecken.
    edit:: Ik heb gekeken waar die headers dan verzonden worden, maar die andere .php waar hij naar verwijst
    gaat in die line over thumbs, dus dat is het iig niet.
    http://www.geeklog.net/faqman/index.php?op=view&t=38
    http://forum.mamboserver.com/showthread.php?t=15068
      zaterdag 19 april 2008 @ 11:18:14 #74
    62215 qu63
    ..de tijd drinkt..
    pi_58155551
    Ik weet dat je met PHP-auth je website kan 'beveiligen' (aub geen discussie of het wel veilig genoeg is, daar gaat het me nu niet om ), maar kan je met PHP ook de username en password doorgeven? Zodat je die prompt niet krijgt..
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      zaterdag 19 april 2008 @ 11:20:49 #75
    62215 qu63
    ..de tijd drinkt..
    pi_58155590
    whoops
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_58159187
    Ik heb 2 vragen maar ben niet eens zeker of het wel onder php zelf valt.

    Op een website die ik gemaakt heb gebruikte ik tot nu toe altijd om bijvoorbeeld naar een artikel te gaan een link zoals deze: www.blabla.com/blabla.php?id=965
    Op fora zoals hier bijvoorbeeld op fok worden echter links gebruikt zoals bijvoorbeeld: forum.fok.nl/topic/1145006.
    Ik vraag me echter af hoe je links maakt zoals de laatste? Dat je dus geen gebruik maakt van ?id=965 maar dat je gewoon /1145006 hebt. Ik zou namelijk de 2e manier willen gebruiken maar heb geen idee hoe je dat moet doen.
    M'n vraag is nogal onduidelijk maar hopelijk begrijp je wat ik bedoel .

    En dan nog een vraagje dat ook over links gaat:
    (Als voorbeeld neem ik nu een artikel vanop de frontpage)
    Op de FP staat momenteel een artikel dat 'Operatie onder hypnose in plaats van verdoving' noemt. Als je naar de link kijkt van deze pagina zie je dat de pagina -Operatie-onder-hypnose-in-plaats-van-verdoving.html heet. M'n vraag is nu hoe je ervoor zorgt dat een html pagina aangemaakt wordt (of hoe het ook juist werkt) met als naam de titel van je artikel? Het is veel praktischer om de titel in de link te hebben dan louter een id dat verwijst naar je database.

    Bedankt alvast!
    pi_58164362
    Ik heb al een beetje zitten Googlen en het lijkt erop dat wat ik wil, mogelijk is, maar ik wil hier toch iets meer zekerheid over:

    Stel: er is een Excel-bestand met verschillende werkbladen (ongeveer 15) met daarin alle klantgegevens. De verschillende werkbladen zijn met elkaar gelinkt.

    Zo is snel te zien welke producten de klanten hebben. (werkblad 1 -> NAWT-gegevens klant, werkblad 2 geeft product X aan en in dit werkblad staan dus alle verschillende producten X met de klantnummers. Werkblad 3 gaat over product Y, enz. enz.)

    Elk product heeft ook nog een bepaalde provisiestructuur. Product X bij producent A geeft 10% van de omzet, product X van producent B geeft 15% van de omzet. Enz. enz.

    Elk verkocht product wordt dagelijks toegevoegd en dus automatisch gelinkt aan de klant en alle andere gegevens van deze klant.

    Uiteindelijk worden hieruit ook alle management-rapportages gehaald.

    Nu wordt er gestoeid met een nieuw softwarepakket (database) en het ervoor zorgen dat dit vlekkeloos verloopt, is een ellenlang traject, wat nog maanden gaat duren.


    De uiteindelijke vraag is dan ook: is het mogelijk om deze Excel-sheet m.b.v. PHP in te lezen in MySQL, op een dusdanige manier dat alle koppelingen behouden blijven en er nog steeds dezelfde managementsrapportages uit te extraheren zijn? Het afgelopen jaar heb ik me mede bezig gehouden met het bouwen van een applicatie, die volledig liep op PHP/MySQL. Niet de programmeer-kant, maar inhoudelijk. Daar heb ik veel mooie dingen van gezien (ik kan nog steeds niet programmeren, maar ik kan PHP inmiddels wel enigszins 'lezen') en vandaar dat ik vermoed dat dit een perfecte oplossing zou zijn.

    [b]A question that sometimes drives me hazy: am I or are the others crazy?[/b]
      FOK!-Schrikkelbaas zaterdag 19 april 2008 @ 20:05:28 #78
    1972 Swetsenegger
    Egocentrische Narcist
    pi_58164510
    Hmz, eenvoudig wordt het in ieder geval niet.
      FOK!-Schrikkelbaas zaterdag 19 april 2008 @ 20:07:35 #79
    1972 Swetsenegger
    Egocentrische Narcist
    pi_58164545
    quote:
    Op zaterdag 19 april 2008 15:11 schreef fate het volgende:
    Ik heb 2 vragen maar ben niet eens zeker of het wel onder php zelf valt.

    Op een website die ik gemaakt heb gebruikte ik tot nu toe altijd om bijvoorbeeld naar een artikel te gaan een link zoals deze: www.blabla.com/blabla.php?id=965
    Op fora zoals hier bijvoorbeeld op fok worden echter links gebruikt zoals bijvoorbeeld: forum.fok.nl/topic/1145006.
    Ik vraag me echter af hoe je links maakt zoals de laatste? Dat je dus geen gebruik maakt van ?id=965 maar dat je gewoon /1145006 hebt. Ik zou namelijk de 2e manier willen gebruiken maar heb geen idee hoe je dat moet doen.
    M'n vraag is nogal onduidelijk maar hopelijk begrijp je wat ik bedoel .
    Dat worden user friendly urls genoemd. Met apache (webserver software) is dat vrij eenvoudig te realiseren dmv een zogenaamde mod rewrite.
    quote:
    En dan nog een vraagje dat ook over links gaat:
    (Als voorbeeld neem ik nu een artikel vanop de frontpage)
    Op de FP staat momenteel een artikel dat 'Operatie onder hypnose in plaats van verdoving' noemt. Als je naar de link kijkt van deze pagina zie je dat de pagina -Operatie-onder-hypnose-in-plaats-van-verdoving.html heet. M'n vraag is nu hoe je ervoor zorgt dat een html pagina aangemaakt wordt (of hoe het ook juist werkt) met als naam de titel van je artikel? Het is veel praktischer om de titel in de link te hebben dan louter een id dat verwijst naar je database.

    Bedankt alvast!
    Mjah, als je via het cms de pagina opslaat schrijft je de url zo weg en dmv een stukje scripting zorg je dat het goed komt.
    pi_58165049
    quote:
    Op zaterdag 19 april 2008 20:05 schreef Swetsenegger het volgende:
    Hmz, eenvoudig wordt het in ieder geval niet.

    Dat zat er dik in

    Ik weet niet of het echt duidelijk is, zo zonder voorbeeld. Maandag zal ik sowieso de sheets uitpluizen op daadwerkelijke links.

    Ik vermoed dat het louter invullen van de velden niet zo'n probleem is (toch?). Maar dat is slechts een kopie van alle velden op de werkbladen. Er is dan wel een database, maar een hele platte.

    Als alle werkbladen op een bepaalde manier aan elkaar gekoppeld zijn, moet het herschrijven van deze koppeling toch relatief eenvoudig zijn? (ik kan me voorstellen dat ik het nu heel erg simplificeer) Dan kunnen de gegevens die in MySQL staan op dezelfde manier gekoppeld worden.

    De output is dan weer verhaal twee.....

    Mja.... inderdaad.... niet eenvoudig
    [b]A question that sometimes drives me hazy: am I or are the others crazy?[/b]
      zaterdag 19 april 2008 @ 20:42:38 #81
    67978 HenryHill
    Fake it 'till you make it
    pi_58165519
    quote:
    Op zaterdag 19 april 2008 19:59 schreef Five_Horizons het volgende:
    Stel: er is een Excel-bestand met verschillende werkbladen (ongeveer 15) met daarin alle klantgegevens. De verschillende werkbladen zijn met elkaar gelinkt.

    Zo is snel te zien welke producten de klanten hebben. (werkblad 1 -> NAWT-gegevens klant, werkblad 2 geeft product X aan en in dit werkblad staan dus alle verschillende producten X met de klantnummers. Werkblad 3 gaat over product Y, enz. enz.)

    Elk product heeft ook nog een bepaalde provisiestructuur. Product X bij producent A geeft 10% van de omzet, product X van producent B geeft 15% van de omzet. Enz. enz.

    Elk verkocht product wordt dagelijks toegevoegd en dus automatisch gelinkt aan de klant en alle andere gegevens van deze klant.
    <...>
    De uiteindelijke vraag is dan ook: is het mogelijk om deze Excel-sheet m.b.v. PHP in te lezen in MySQL, op een dusdanige manier dat alle koppelingen behouden blijven en er nog steeds dezelfde managementsrapportages uit te extraheren zijn?
    Sowiezo klinkt bovenstaand verhaal niet iets waar je Excel voor zou moeten gebruiken, een database is dan beter op z'n plaats.

    Dan: Ja, het is mogelijk om een Excel-bestand als een ODBC datasource te gebruiken, zodat je vanuit PHP (of MySQL) die data kunt benaderen, maar: deze methode is verre van stabiel en kent behoorlijk wat beperkingen.
    Ik zou deze methode afraden, en ervoor kiezen om de data uit Excel te exporteren naar bijvoorbeeld CSV, en deze in MySQL in te lezen.

    Houdt er rekening mee dat je de werkbladen niet 1 op 1 over wilt nemen als tabellen in je database, en dat je dus eerst een goed database-schema (= tabelstructuur) zult moeten hebben. Hiervoor zul je de data moeten herschikken zodat het correspondeert met de vorm zoals je het in de database wilt hebben. Dit kan je voor de export (dus in Excel) of na de import (als je de 'ruwe' data in tijdelijke tabellen hebt geladen) doen - ik zou je de eerste optie aanraden.

    Ook zullen de formules die je in je Excel-bestand hebt gedefinieerd verloren gaan tijdens de migratie. Hiervoor zul je een database-oplossing moeten verzinnen (stored procedures, of views met calculated fields, bijv.).

    En ik weet niet hoe jullie je management-rapportages nu maken, maar de kans is vrijwel 0% dat je deze 1 op 1 over kunt nemen als je de data in een database hebt zitten.

    't Wordt een flinke klus iig.
    So this is how liberty dies... with thunderous applause.
    Truth? What's so great about the truth? Try lying for a change, it's the currency of the world
      zaterdag 19 april 2008 @ 20:47:08 #82
    67978 HenryHill
    Fake it 'till you make it
    pi_58165622
    quote:
    Op zaterdag 19 april 2008 20:26 schreef Five_Horizons het volgende:
    Ik vermoed dat het louter invullen van de velden niet zo'n probleem is (toch?). Maar dat is slechts een kopie van alle velden op de werkbladen. Er is dan wel een database, maar een hele platte.

    Als alle werkbladen op een bepaalde manier aan elkaar gekoppeld zijn, moet het herschrijven van deze koppeling toch relatief eenvoudig zijn? (ik kan me voorstellen dat ik het nu heel erg simplificeer) Dan kunnen de gegevens die in MySQL staan op dezelfde manier gekoppeld worden.
    Nee en nee.

    Een database is heel wat anders als een Excel-werkblad. De data bestaat in beide gevallen in rijen en kolommen, maar daar houdt de vergelijking ook echt op. Zie bijv. deze link over hoe een database conceptueel opgezet moet worden.
    So this is how liberty dies... with thunderous applause.
    Truth? What's so great about the truth? Try lying for a change, it's the currency of the world
    pi_58165866
    quote:
    Op zaterdag 19 april 2008 20:47 schreef HenryHill het volgende:

    [..]

    Nee en nee.

    Een database is heel wat anders als een Excel-werkblad. De data bestaat in beide gevallen in rijen en kolommen, maar daar houdt de vergelijking ook echt op. Zie bijv. deze link over hoe een database conceptueel opgezet moet worden.
    Ik weet wat een database is. Het excel-bestand wordt daadwerkelijk als database gebruikt. Dat het geen database is, is wat anders. Toch is een eenvoudig Excel-bestand in te lezen in MySQL. De centrale vraag hier is dan ook of het in dit geval mogelijk is.

    Als dat blijkbaar niet zo is, dan is het niet zo.
    [b]A question that sometimes drives me hazy: am I or are the others crazy?[/b]
    pi_58165978
    quote:
    Op zaterdag 19 april 2008 15:11 schreef fate het volgende:
    En dan nog een vraagje dat ook over links gaat:
    (Als voorbeeld neem ik nu een artikel vanop de frontpage)
    Op de FP staat momenteel een artikel dat 'Operatie onder hypnose in plaats van verdoving' noemt. Als je naar de link kijkt van deze pagina zie je dat de pagina -Operatie-onder-hypnose-in-plaats-van-verdoving.html heet. M'n vraag is nu hoe je ervoor zorgt dat een html pagina aangemaakt wordt (of hoe het ook juist werkt) met als naam de titel van je artikel? Het is veel praktischer om de titel in de link te hebben dan louter een id dat verwijst naar je database.
    Simpel, het laatste stuk na de / wordt gewoon genegeerd (m.b.v. mod rewrite). Daar kan je dus invullen wat je maar wil.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      zaterdag 19 april 2008 @ 21:04:02 #85
    67978 HenryHill
    Fake it 'till you make it
    pi_58166003
    quote:
    Op zaterdag 19 april 2008 20:58 schreef Five_Horizons het volgende:

    [..]

    Ik weet wat een database is. Het excel-bestand wordt daadwerkelijk als database gebruikt. Dat het geen database is, is wat anders.
    Wat bedoel je hier precies mee? Zijn de gegevens in dat Excel-bestand volledig gestructureerd, en stelt elke rij een apart element voor? Worden de gegevens programatisch toegevoegd en uitgelezen (bijv. via een ODBC koppeling die je Excel-bestand doet voorkomen als een database)?

    Disclaimer: ik wil niemand hier de les lezen, ik probeer zo efficient mogelijk een zo duidelijk mogelijk beeld van je probleem boven water te krijgen. Dat idee wil nog wel eens ondergesneeuwd raken in het spervuur van vragen en adviezen, dus vandaar dat ik het maar even expliciet vermeldt.

    [ Bericht 11% gewijzigd door HenryHill op 19-04-2008 21:16:24 ]
    So this is how liberty dies... with thunderous applause.
    Truth? What's so great about the truth? Try lying for a change, it's the currency of the world
    pi_58166023
    quote:
    Op zaterdag 19 april 2008 20:42 schreef HenryHill het volgende:

    [..]

    Sowiezo klinkt bovenstaand verhaal niet iets waar je Excel voor zou moeten gebruiken, een database is dan beter op z'n plaats.


    Daar is men van bewust en dat is ook de reden dat een programma is aangeschaft. Alleen: ik vraag me af of die aanschaf goed is geweest (het programma is verre van af, zo blijkt nu) Het duurt nu al maanden (wellicht zelfs jaren) om de database gereed te maken voor het excelbestand.
    quote:
    Dan: Ja, het is mogelijk om een Excel-bestand als een ODBC datasource te gebruiken, zodat je vanuit PHP (of MySQL) die data kunt benaderen, maar: deze methode is verre van stabiel en kent behoorlijk wat beperkingen.
    Ik zou deze methode afraden, en ervoor kiezen om de data uit Excel te exporteren naar bijvoorbeeld CSV, en deze in MySQL in te lezen.


    Die methode is mij inderdaad bekend. In de gevallen waar ik dat heb moeten gebruiken, was het een Excel-bestand met maar één enkel werkblad.
    quote:
    Houdt er rekening mee dat je de werkbladen niet 1 op 1 over wilt nemen als tabellen in je database, en dat je dus eerst een goed database-schema (= tabelstructuur) zult moeten hebben. Hiervoor zul je de data moeten herschikken zodat het correspondeert met de vorm zoals je het in de database wilt hebben. Dit kan je voor de export (dus in Excel) of na de import (als je de 'ruwe' data in tijdelijke tabellen hebt geladen) doen - ik zou je de eerste optie aanraden.


    Logisch. De werkbladen zelf zijn uiteraard niet de tabellen. Die staan zelf op de werkbladen, in dit geval. Ik moet mezelf nog meer inlezen in wat het Excel-bestand nu daadwerkelijk doet, misschien stel ik de vraag ook een week te vroeg
    quote:
    Ook zullen de formules die je in je Excel-bestand hebt gedefinieerd verloren gaan tijdens de migratie. Hiervoor zul je een database-oplossing moeten verzinnen (stored procedures, of views met calculated fields, bijv.).
    Ook dat klinkt logisch voor me.
    quote:
    En ik weet niet hoe jullie je management-rapportages nu maken, maar de kans is vrijwel 0% dat je deze 1 op 1 over kunt nemen als je de data in een database hebt zitten.

    't Wordt een flinke klus iig.
    Dat lukt inderdaad sowieso niet. Ik ga er van de week nog eens goed mee stoeien en mocht ik daar iets zinniger antwoorden kunnen geven, dan meld ik me weer.

    Bedankt voor de input, i.i.g.
    [b]A question that sometimes drives me hazy: am I or are the others crazy?[/b]
      FOK!-Schrikkelbaas zaterdag 19 april 2008 @ 21:07:07 #87
    1972 Swetsenegger
    Egocentrische Narcist
    pi_58166064
    quote:
    Op zaterdag 19 april 2008 20:58 schreef Five_Horizons het volgende:

    [..]

    Ik weet wat een database is. Het excel-bestand wordt daadwerkelijk als database gebruikt. Dat het geen database is, is wat anders. Toch is een eenvoudig Excel-bestand in te lezen in MySQL. De centrale vraag hier is dan ook of het in dit geval mogelijk is.

    Als dat blijkbaar niet zo is, dan is het niet zo.
    je zal sowieso de aparte werkbladen als losse bestanden moeten opslaan. Vervolgens is ze stuk voor stuk inlezen niet zo'n probleem, vervolgens zal je de key's moeten aanbrengen. Je moet je alleen wel afvragen of de database structuur optimaal is.

    De rapporten kan je vervolgens in PHP opbouwen.
      zaterdag 19 april 2008 @ 21:22:38 #88
    67978 HenryHill
    Fake it 'till you make it
    pi_58166399
    quote:
    Op zaterdag 19 april 2008 21:07 schreef Swetsenegger het volgende:

    [..]

    je zal sowieso de aparte werkbladen als losse bestanden moeten opslaan. Vervolgens is ze stuk voor stuk inlezen niet zo'n probleem, vervolgens zal je de key's moeten aanbrengen. Je moet je alleen wel afvragen of de database structuur optimaal is.

    De rapporten kan je vervolgens in PHP opbouwen.
    PHP zou kunnen, maar wat je ook zou kunnen overwegen is een aparte reporting tool te gebruiken zoals Crystal Reports of Microsoft Reporting Services. Van de laatste weet ik iig dat deze in theorie ook overweg kan met andere RDBMSen dan MS SQL, maar in hoeverre dat in de praktijk ook echt praktisch is, durf ik niet te zeggen.

    Enne, een Excel sheet met grafiekjes e.d., die zijn data uit de database haalt, dat is natuurlijk ook een mogelijkheid.
    So this is how liberty dies... with thunderous applause.
    Truth? What's so great about the truth? Try lying for a change, it's the currency of the world
      zaterdag 19 april 2008 @ 22:47:39 #89
    37634 wobbel
    Da WoBBeL King
    pi_58168286
    Ik had net m'n PHPMyAdmin op Afrikaans staan per ongeluk

    "Jou SQL-navraag is suksesvol uitgevoer"
    "Beloer data"
    "Kies asb. 'n databasis"

    pi_58187805
    quote:
    Op zaterdag 19 april 2008 20:07 schreef Swetsenegger het volgende:

    [..]

    Dat worden user friendly urls genoemd. Met apache (webserver software) is dat vrij eenvoudig te realiseren dmv een zogenaamde mod rewrite.
    [..]

    Mjah, als je via het cms de pagina opslaat schrijft je de url zo weg en dmv een stukje scripting zorg je dat het goed komt.
    Dat eerste ga ik even moeten nakijken hoe ik het juist moet doen. Dat tweede is eigelijk logisch, dom dat ik daar niet op kwam hoe je dat kan maken .
    Bedankt!
    pi_58195726
    quote:
    Op zaterdag 19 april 2008 22:47 schreef wobbel het volgende:
    Ik had net m'n PHPMyAdmin op Afrikaans staan per ongeluk

    "Jou SQL-navraag is suksesvol uitgevoer"
    "Beloer data"
    "Kies asb. 'n databasis"

    Leuk he dat afrikaans... best leuk om te lezen (engels/ oud nederlands door elkaar )
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      maandag 21 april 2008 @ 15:30:02 #92
    187069 slacker_nl
    Sicko pur sang
    pi_58204130
    Excel is om te zetten naar csv, csv is zo in een DB te importeren, easy does it.
    In theory there is no difference between theory and practice. In practice there is.
      maandag 21 april 2008 @ 16:02:52 #93
    62215 qu63
    ..de tijd drinkt..
    pi_58204734
    quote:
    Op zaterdag 19 april 2008 11:18 schreef qu63 het volgende:
    Ik weet dat je met PHP-auth je website kan 'beveiligen' (aub geen discussie of het wel veilig genoeg is, daar gaat het me nu niet om ), maar kan je met PHP ook de username en password doorgeven? Zodat je die prompt niet krijgt..
    (n)iemand?
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      maandag 21 april 2008 @ 17:07:45 #94
    182538 jusdOrange
    Limoentjesfr3sh
    pi_58205890
    Verduidelijk je vraag eens?
      maandag 21 april 2008 @ 17:25:44 #95
    62215 qu63
    ..de tijd drinkt..
    pi_58206182
    quote:
    Op maandag 21 april 2008 17:07 schreef jusdOrange het volgende:
    Verduidelijk je vraag eens?
    http://nl2.php.net/manual/en/features.http-auth.php

    daarme kan je dingen instellen zoals
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    <?php
    /* Check for values in $PHP_AUTH_USER and $PHP_AUTH_PW */

    if ((!isset($PHP_AUTH_USER)) || (!isset($PHP_AUTH_PW))) {

        
    /* No values: send headers causing dialog box to appear */
        
    header('WWW-Authenticate: Basic realm="My Private Stuff"');
        
    header('HTTP/1.0 401 Unauthorized');
        echo 
    'Authorization Required.';
        exit;

    } else if ((isset(
    $PHP_AUTH_USER)) && (isset($PHP_AUTH_PW))){

        
    /* Values contain some values, so check to see if they're correct */

        
    if (($PHP_AUTH_USER != "validname") || ($PHP_AUTH_PW != "goodpassword")) {
           
    /* If either the username entered is incorrect, or the password entered is incorrect, send the headers causing dialog box to appear */
           
    header('WWW-Authenticate: Basic realm="My Private Stuff"');
           
    header('HTTP/1.0 401 Unauthorized');
           echo 
    'Authorization Required.';
           exit;
        } else if ((
    $PHP_AUTH_USER == "validname") || ($PHP_AUTH_PW == "goodpassword")) {
           
    /* if both values are correct, print success message */
           
    echo "<P>You're authorized!</p>";
        }

    ?>


    nu wil ik alleen een pagina, die niet van mijzelf is, includen in een pagina zodat ik niet steeds username en ww in hoef te vullen
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_58219297
    Het ligt eraan hoe de pagina zijn authenticatie regelt. Als dat door middel van een form gebeurd, dan zul je de inhoud van dat form moeten versturen en een cookie accepteren voordat je de bewuste pagina kunt downloaden.

    Als het door middel van de webserver-authenticatie gebeurd (dus met een popup waar je gebruikersnaam/wachtwoord in moet vullen) dan kun je de pagina simpelweg opvragen door alle gegevens in de URL mee te geven: http://username:password@webserver:port/dir/page.html
    Don't hurry, be crappy!
      dinsdag 22 april 2008 @ 09:27:58 #97
    62215 qu63
    ..de tijd drinkt..
    pi_58220355
    quote:
    Op dinsdag 22 april 2008 08:11 schreef RiDo78 het volgende:
    Het ligt eraan hoe de pagina zijn authenticatie regelt. Als dat door middel van een form gebeurd, dan zul je de inhoud van dat form moeten versturen en een cookie accepteren voordat je de bewuste pagina kunt downloaden.
    zo is het dus niet, wel zoals je hieronder beschrijft
    quote:
    Als het door middel van de webserver-authenticatie gebeurd (dus met een popup waar je gebruikersnaam/wachtwoord in moet vullen) dan kun je de pagina simpelweg opvragen door alle gegevens in de URL mee te geven: http://username:password@webserver:port/dir/page.html
    en dat werkt dus helaas niet.
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_58220998
    quote:
    Op dinsdag 22 april 2008 09:27 schreef qu63 het volgende:
    en dat werkt dus helaas niet.
    Bij gebrek aan PM, om welke website gaat het?
    Don't hurry, be crappy!
      dinsdag 22 april 2008 @ 10:51:02 #99
    62215 qu63
    ..de tijd drinkt..
    pi_58221896
    quote:
    Op dinsdag 22 april 2008 10:03 schreef RiDo78 het volgende:

    [..]

    Bij gebrek aan PM, om welke website gaat het?
    voordat ik het vertel, wil ik wel weten waarvoor je het wilt weten
    username en password krijg je sowieso niet
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_58245808
    Username en password heb ik niet nodig, ik wil gewoon even kijken hoe die authorisatie onderwater geregeld is, om te voorkomen dat we langs elkaar heen praten.
    Don't hurry, be crappy!
      woensdag 23 april 2008 @ 10:24:34 #101
    62215 qu63
    ..de tijd drinkt..
    pi_58247647
    quote:
    Op woensdag 23 april 2008 09:02 schreef RiDo78 het volgende:
    Username en password heb ik niet nodig, ik wil gewoon even kijken hoe die authorisatie onderwater geregeld is, om te voorkomen dat we langs elkaar heen praten.
    pm
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    abonnement Unibet Coolblue Bitvavo
    Forum Opties
    Forumhop:
    Hop naar:
    (afkorting, bv 'KLB')