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]
    pi_58247704
    quote:
    Op maandag 21 april 2008 17:25 schreef qu63 het volgende:

    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
    Je kunt een socket openen. Dan stuur je zelf de headers en leest daarna de response uit.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      woensdag 23 april 2008 @ 10:34:43 #103
    62215 qu63
    ..de tijd drinkt..
    pi_58247875
    quote:
    Op woensdag 23 april 2008 10:27 schreef SuperRembo het volgende:

    [..]

    Je kunt een socket openen. Dan stuur je zelf de headers en leest daarna de response uit.
    en hoe doen we dat?
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_58251984
    quote:
    Op woensdag 23 april 2008 10:34 schreef qu63 het volgende:
    [..]
    en hoe doen we dat?
    Daartoe lezen we de f... manual
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      woensdag 23 april 2008 @ 13:46:02 #105
    62215 qu63
    ..de tijd drinkt..
    pi_58252685
    quote:
    Op woensdag 23 april 2008 13:13 schreef SuperRembo het volgende:

    [..]

    Daartoe lezen we de f... manual :P
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <?php
    $fp 
    fsockopen("server.busbroker.nl"80$errno$errstr30);
    if (!
    $fp) {
        echo 
    "$errstr ($errno)<br />\n";
    } else {
        
    $out "GET / HTTP/1.1\r\n";
        
    $out .= "Host: www.example.com\r\n";
        
    $out .= "Connection: Close\r\n\r\n";

        
    fwrite($fp$out);
        while (!
    feof($fp)) {
            echo 
    fgets($fp128);
        }
        
    fclose($fp);
    }
    ?>

    response:
    HTTP/1.1 401 Unauthorized Content-Length: 1710 Content-Type: text/html Server: Microsoft-IIS/6.0 WWW-Authenticate: Negotiate WWW-Authenticate: NTLM X-Powered-By: ASP.NET Date: Wed, 23 Apr 2008 11:45:03 GMT Connection: close

    U bent niet gemachtigd om deze pagina te bekijken
    U bent niet gemachtigd om deze map of pagina te bekijken met de referenties die u hebt opgegeven, omdat met de webbrowser een koptekstveld voor WWW-verificatie wordt verzonden dat niet kan worden geaccepteerd door de webserver.

    etc.
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_58252915
    Aii... NTLM authenticatie... dat kan nog rottig worden. Hopen dat de server ook Basic wil slikken...
    maar voeg deze eens toe:
    1
    2
    $credentials = "username:password";
    $out.= "Authorization: Basic " . base64_encode($credentials)
    Don't hurry, be crappy!
      woensdag 23 april 2008 @ 14:01:04 #107
    62215 qu63
    ..de tijd drinkt..
    pi_58253016
    quote:
    Op woensdag 23 april 2008 13:56 schreef RiDo78 het volgende:
    Aii... NTLM authenticatie... dat kan nog rottig worden. Hopen dat de server ook Basic wil slikken...
    maar voeg deze eens toe:
    [ code verwijderd ]
    nope.
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_58253054
    tvp
    pi_58253104
    Het probleem wordt hier beschreven, maar ik heb het niet getest...

    http://blog.thinkphp.de/a(...)ources-with-PHP.html
    Don't hurry, be crappy!
      woensdag 23 april 2008 @ 14:39:08 #110
    62215 qu63
    ..de tijd drinkt..
    pi_58253938
    quote:
    Op woensdag 23 april 2008 14:05 schreef RiDo78 het volgende:
    Het probleem wordt hier beschreven, maar ik heb het niet getest...

    http://blog.thinkphp.de/a(...)ources-with-PHP.html
    ik moet dan eerst nog een NTLM-Proxy opzetten, heb er wel een gevonden, maar die werkt met Python, en ik heb geen diee of mn webhost het ondersteund
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_58255603
    Ok, dan is 't toch iets ingewikkelder dan ik in eerste instantie veronderstelde
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      woensdag 23 april 2008 @ 15:52:18 #112
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_58255926
    Voor het inlezen van een file per lijn gebruiken we de preg_match functie:

    $aData = preg_split("/\r\n/", $fileData['content']);

    Alleen nu krijgen we ook files binnen welke opeens een \n als reguliere expressie moeten hebben.
    Weet iemand hoe we de preg_match het beste op kunnen stellen dat we ongeacht het type "new line" we elke lijn in de array kunnen stouwen?
      woensdag 23 april 2008 @ 16:04:52 #113
    85514 ralfie
    !Yvan eht nioj
    pi_58256273
    quote:
    Op woensdag 23 april 2008 15:52 schreef ursel het volgende:
    Voor het inlezen van een file per lijn gebruiken we de preg_match functie:

    $aData = preg_split("/\r\n/", $fileData['content']);

    Alleen nu krijgen we ook files binnen welke opeens een \n als reguliere expressie moeten hebben.
    Weet iemand hoe we de preg_match het beste op kunnen stellen dat we ongeacht het type "new line" we elke lijn in de array kunnen stouwen?
    gwoon $array_met_elke_regel_op_een_rij = file ( "C:\bestand_met_meerdere_regels.ext");
      woensdag 23 april 2008 @ 16:10:27 #114
    187069 slacker_nl
    Sicko pur sang
    pi_58256403
    http://www.tizag.com/phpT/fileopen.php

    $ourFileName = "testFile.txt";
    $fh = fopen($ourFileName, 'X') or die("Can't open file");
    fclose($fh);

    Weet niet of je over de filehandle kan loopen, zodat je de data kan inlezen..
    In theory there is no difference between theory and practice. In practice there is.
      woensdag 23 april 2008 @ 16:21:17 #115
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_58256646
    quote:
    Op woensdag 23 april 2008 16:04 schreef ralfie het volgende:

    [..]

    gwoon $array_met_elke_regel_op_een_rij = file ( "C:\bestand_met_meerdere_regels.ext");
    Soms zijn dingen makkerlijker dan je wel eens wil denken..
    Deed het in 2 stappen altijd, get_content en daarna uitsplitsen.. Tot ik er nu dus opeens een file had met een andere end line..

    Werkt nog steeds netjes.. Tnx..
      woensdag 23 april 2008 @ 23:40:53 #116
    62215 qu63
    ..de tijd drinkt..
    pi_58268136
    quote:
    Op woensdag 23 april 2008 15:40 schreef SuperRembo het volgende:
    Ok, dan is 't toch iets ingewikkelder dan ik in eerste instantie veronderstelde
    Ik dacht er ook heel simpel over, maar helaas
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      donderdag 24 april 2008 @ 10:56:25 #117
    45071 nlboy
    aka Kasesouffle
    pi_58273823
    Ik heb denk ik een hele simpele vraag, maar ik kom er niet uit.

    Het volgende wil ik graag hebben:
    Als ik in het adresbalk test.php?p=nh in typ wil ik als echo Noord-Holland hebben.
    Wanneer ik test.php?p=nb invoer wil ik als echo Noord-Brabant hebben.
    Kortom elke provincies wil ik zo benaderen en dan als echo te tekst van de provincie.

    Ik heb al iets zitten maken, maar helaas lukt het me niet om de goede resultaat te krijgen. Het volgende heb ik:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?php

    if ($p="nh")
         echo "Noord-Holland"; 

    elseif ($p="nb")
       echo "Noord-Branbant";

    elseif ($p="zh")
       echo "Zuid-Holland";

    else
      echo "Verkeerde invoer, probeer het opnieuw!";
       
    ?>

    Ik krijg alleen maar Noord-Holland te zien i.pv. bijvoorbeeld Noord-Brabant of ik krijg geen foutmelding wanneer ik niks invul. Wat doe ik fout? Alvast bedankt!
      donderdag 24 april 2008 @ 11:01:33 #118
    46383 Tiemie
    sowieso wel!
    pi_58273908
    Je geeft $p de waarde "nh"

    if($p = 'h') moet zijn if($ == 'h')

    (geldt overigens voor elke regel )

    zie http://nl2.php.net/manual/en/language.operators.comparison.php
      donderdag 24 april 2008 @ 11:03:38 #119
    187069 slacker_nl
    Sicko pur sang
    pi_58273956
    quote:
    Op donderdag 24 april 2008 10:56 schreef nlboy het volgende:
    Ik heb denk ik een hele simpele vraag, maar ik kom er niet uit.

    Het volgende wil ik graag hebben:
    Als ik in het adresbalk test.php?p=nh in typ wil ik als echo Noord-Holland hebben.
    Wanneer ik test.php?p=nb invoer wil ik als echo Noord-Brabant hebben.
    Kortom elke provincies wil ik zo benaderen en dan als echo te tekst van de provincie.

    Ik heb al iets zitten maken, maar helaas lukt het me niet om de goede resultaat te krijgen. Het volgende heb ik:
    [ code verwijderd ]

    Ik krijg alleen maar Noord-Holland te zien i.pv. bijvoorbeeld Noord-Brabant of ik krijg geen foutmelding wanneer ik niks invul. Wat doe ik fout? Alvast bedankt!

    Maak een hash:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $plaatsnamen = array (
    nh => "Noord-Holland", 
    nb => "Noord-Brabant",
    );

    # Dan kan je heel makkelijk die conversie doen:

    $input = 'nh';
    if (array_key_exists( $input, $plaatnamen)) {
         printf("De plaatsnaam die hoort bij %s is %s\n", $input, $plaatsnamen[$input]);
    } else {
         printf("Kan geen plaatsnaam vinden voor %s\n", $input);
    }


    [ Bericht 2% gewijzigd door slacker_nl op 25-04-2008 10:56:33 ]
    In theory there is no difference between theory and practice. In practice there is.
      donderdag 24 april 2008 @ 11:09:40 #120
    45071 nlboy
    aka Kasesouffle
    pi_58274086
    Bedankt allebei! Ik ga het proberen.
    pi_58284094
    Even kort vraagje: hoe kun je dmv php checken of een site online is? Dus even proberen om een connectie te maken, zo niet: mailtje sturen. Dit wil ik namelijk graag in een cron job hebben (uiteraard op andere host)

    Opgelost: file() doet wat ik wil

    [ Bericht 18% gewijzigd door Piles op 24-04-2008 21:01:07 ]
      donderdag 24 april 2008 @ 22:50:33 #122
    37634 wobbel
    Da WoBBeL King
    pi_58290138
    Hoe kan ik zelf zoiets maken als dit?

    http://www.google.com/webhp?complete=1&hl=en&btnG=Google+Search

    Dat ie dus automatisch aanvult met gegevens uit de database? Dat het met AJAX werkt snap ik wel, maar hoe doe ik dat precies? is er al zoiets kant-en-klaar wat ik om kan bouwen zeg maar?
      donderdag 24 april 2008 @ 22:53:12 #123
    62215 qu63
    ..de tijd drinkt..
    pi_58290207
    quote:
    Op donderdag 24 april 2008 22:50 schreef wobbel het volgende:
    Hoe kan ik zelf zoiets maken als dit?

    http://www.google.com/webhp?complete=1&hl=en&btnG=Google+Search

    Dat ie dus automatisch aanvult met gegevens uit de database? Dat het met AJAX werkt snap ik wel, maar hoe doe ik dat precies? is er al zoiets kant-en-klaar wat ik om kan bouwen zeg maar?
    http://www.dynamicajax.com/fr/AJAX_Suggest_Tutorial-.html

    http://www.google.com/search?complete=1&hl=en&q=ajax+search+suggestion&btnG=Google+Search&aq=0&oq=AJAX+sea
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_58290223
    Met een stukje Javascript elke keer als er een toets ingedrukt wordt een request naar een php-pagina sturen. Die php haalt het dan uit de db, en stuurt het naar je javascript terug
    Ik ben er zelf geen ster in, maar heb het geleerd met http://www.w3schools.com/ajax/default.asp
    pi_58290426
    Ja dat is er, er zijn meerdere kant en klare oplossingen. Ik ben zelf een redelijke fan van de Ext JS library, check dat eens uit zou ik zeggen. Voorbeelden te zien op: http://extjs.com/deploy/dev/examples/form/combos.html en http://extjs.com/deploy/dev/examples/form/forum-search.html
      donderdag 24 april 2008 @ 23:16:20 #126
    37634 wobbel
    Da WoBBeL King
      vrijdag 25 april 2008 @ 10:25:29 #127
    53731 Flipper01
    Addicted Dolphin
    pi_58296914
    Ik wil een archief maken van alle nieuwsberichten geordend per maand. Ik heb nu in MySQL een kolom datum waarin de datum als DATETIME wordt weergegeven. Ik wil nu graag het volgende resultaat bereiken:
    - 2008
    januari (2)
    april (1)
    mei (8)
    .....

    Hoe kan ik dit voor elkaar krijgen?
    I don't shine if you don't shine
      vrijdag 25 april 2008 @ 10:28:50 #128
    107951 JortK
    Immer kwaliteitsposts
    pi_58296996
    quote:
    Op vrijdag 25 april 2008 10:25 schreef Flipper01 het volgende:
    Ik wil een archief maken van alle nieuwsberichten geordend per maand. Ik heb nu in MySQL een kolom datum waarin de datum als DATETIME wordt weergegeven. Ik wil nu graag het volgende resultaat bereiken:
    - 2008
    januari (2)
    april (1)
    mei (8)
    .....

    Hoe kan ik dit voor elkaar krijgen?
    Even snel
    1
    2
    3
    SELECT MONTH(datumkolom) AS month, COUNT(MONTH(datumkolom) ) AS aantal
    FROM posts
    GROUP BY MONTH(datumkolom)


    [ Bericht 10% gewijzigd door JortK op 25-04-2008 10:41:11 (Verkeerde syntax) ]
      vrijdag 25 april 2008 @ 10:38:54 #129
    53731 Flipper01
    Addicted Dolphin
    pi_58297222
    Waarvoor dient DATEPART en kan ik dit ook op een linux server gebruiken?
    I don't shine if you don't shine
      vrijdag 25 april 2008 @ 10:41:54 #130
    107951 JortK
    Immer kwaliteitsposts
    pi_58297290
    quote:
    Op vrijdag 25 april 2008 10:38 schreef Flipper01 het volgende:
    Waarvoor dient DATEPART en kan ik dit ook op een linux server gebruiken?
    Ik heb hem wat aangepast, zie deze link die je verder kan helpen

    En op wat voor server maakt niet uit natuurlijk
    pi_58301246
    Hoi,

    ik ondervind een merkwaardig probleem. Ik heb een datase backup scriptje welke iedere dag uitgevoerd wordt. Het verstuurt een dbase dump per email. Dit werkt perfect op een aantal domeinen die ik heb.
    Het werkt net niet op een ander domein. Het verschil is de hostingprovider. De niet werkende staan bij een andere provider gehost.

    Het meest vreemde is: het script verstuurt de dump als attachment. Onder windows, in Outlook Express wordt de bijlage niet herkent. Ik heb het over de "foute" server, bij de andere domeinen werkt het weer wel.
    Als ik de emails ontvang op mijn linux laptop onder Kmail, zie ik de bijlage van de dumps verstuurt door de "foute" server wel! Het verschil is dus de combinatie van mailclient en hostingprovider...

    Ik heb werkelijk geen idee waar ik het zoeken moet. De headers zijn allen hetzelfde, de emails worden verstuurd met attachment, ook dit werkt correct (denk ik, stiekem ook niet)
    Het verschil openbaart zich dus bij het ontvangen van de emails met of Outlook Express of Kmail onder linux.
    Onder Outlook Express zie ik geen bijlage, maar staat de bijlage (gecodeerd???) in de tekst. Onder Kmail is het een keurig attachment.

    Onderstaand het scriptje Komt overigens van phphulp.

    Wie kan me vertellen waar ik de fout zoeken moet? Wat zou verantwoordelijk kunnen zijn voor het verschil in outlook express en kmail, in combinatie met een andere serversetup?
    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
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    <?
    #create a sql backup and send it to your e-mail address
    //define settings
    //database host
    DEFINE('dbhost','localhost');
    //database name
    DEFINE('dbnaam','dbnaam');
    //database user
    DEFINE('dbuser','dbuser');
    //database passwordt
    DEFINE('dbpass','dbpass');
    //domeinnaam
    DEFINE('domein','domein.nl');
    //doel
    DEFINE('email','backup@domein.nl');

    //connect with database
    $link = mysql_connect(dbhost,dbuser,dbpass) or die('No datbase conection could be establised');
    mysql_select_db(dbnaam,$link) or die('No datbase selected');

    //query to recive table names
    $query = mysql_query('SHOW TABLE STATUS') or die(mysql_error());
    $sql_backup = '';

    //whileloop to loop trough every table
    while($row = mysql_fetch_assoc($query))
    {
        //show sql query to rebuild the query
        $sql = 'SHOW CREATE TABLE '.$row['Name'].'';
        //exucte error or give a error
        $query2 = mysql_query($sql) or die(mysql_error());

        //create sql
        $sql_backup.="\r\n#Create table ".$row['Name']."\r\n\r\n";
        $out = mysql_fetch_assoc($query2);

        $sql_backup.=$out['Create Table'].";\r\n\r\n";
        $sql_backup.="#Dump data\r\n\r\n";

        //SQL code to select everything for table
        $sql = 'SELECT * FROM '.$row['Name'];
        $out = mysql_query($sql);
        $sql_code = '';

        //loop trough the colloms
        while($code = mysql_fetch_array($out,MYSQL_ASSOC))
        {
            $sql_code .= "INSERT INTO ".$row['Name']." SET ";

            foreach($code as $insert => $value)
            {
                $sql_code.=$insert ."='".addslashes($value)."',";
            }
            $sql_code = substr($sql_code, 0, -1);
            $sql_code.= ";\r\n";
        }
        $sql_backup.= $sql_code;
    }

    //generade a unique id
    $unique = md5(uniqid(time()));

    //message
    $message = "Backup procedure van database: ".dbnaam." is met succes verlopen. U vind in de bijlage een backup van de inhoud gemaakt op. ".date('d-m-Y H:i:s')."\r\n Autobot";

    //maak headers aan
    //form header
    $headers = "From: Autobot <noreply@".domein.">\r\n";
    //terug sturen naar een niet bestaand mail adress (noreply@domein.nl)
    $headers .= "Reply-To: Autobot <noreply@".domein.">\r\n";
    //vertel dat het een mine versie is
    $headers .= "MIME-Version: 1.0\r\n";
    //email bestaat uit meerdere  bestanden dus vertel wat de scheidings teken is en dat het een multipart is
    $headers .= "Content-Type: multipart/mixed; boundary=\"".$unique."\"\r\n";
    //we zenden een attachment mee
    $headers .= "Content-Disposition:  attachment\r\n";

    //generenen een body. Dit is een multi part gezeik
    $body.= "This is a multi-part message in MIME format.\r\n";
    $body.= "\r\n";
    //boundary
    $body.= "--".$unique."\r\n";
    //content type + charater set (iso in dit geval)
    $body.= "Content-Type: text/plain; charset=iso-8859-1\r\n";
    //codering (7 bit)
    $body.= "Content-Transfer-Encoding: 7bit\r\n";
    $body.= "\r\n";
    //het bericht
    $body.= $message ."\r\n";
    //boundaty
    $body.= "--".$unique."\r\n";
    //content type + naam bestand (database.sql)
    $body .= "Content-Type: application/octet-stream; name=database.sql\r\n";
    //codering
    $body .= "Content-Transfer-Encoding: base64\r\n";
    //als bijlage toegevoegd
    $body.= "Content-disposition: attachment\r\n";
    $body .= "\n";
    //de inhoud van het bestand
    $body .= chunk_split(base64_encode($sql_backup)) . "\r\n";
    //zet alles op email!
    //hier kan wat tijdsverschil in zitten!
    mail(email,'Mysql backup '.date('d-m-Y H:i:s'),$body,$headers);
    ?>
      vrijdag 25 april 2008 @ 18:18:35 #132
    37634 wobbel
    Da WoBBeL King
    pi_58307402
    Ik ben weer eens aan het stoeien met wat JOINS :P en het lukt niet :(

    Ik heb deze query:

    1
    2
    3
    4
    5
    SELECT * FROM SHOP_Products 
    JOIN SHOP_Products_Lang ON SHOP_Products_Lang.ProductId = SHOP_Products.IdProduct 
    JOIN SHOP_Afbeeldingen ON SHOP_Afbeeldingen.ProductId = SHOP_Products.IdProduct 
    WHERE SHOP_Products.SubcategoryId = '1' 
    AND SHOP_Products_Lang.LanguageId = '1'


    Ik heb de tabel Products, Products_Lang en de tabel Afbeeldingen.

    Ik wil nu alle producten met SubcategoryId = 1 weergeven, en daarbij ook alle data uit Products_Lang en Afbeeldingen die hetzelfde product ID hebben.

    Maar ik krijg 0 rows terug :'( en er zijn 5 records met SubcategoryId = '1' en met LanguageId = '1'
    pi_58310832
    In principe is de syntax "INNER JOIN", niet "JOIN". Weet niet of mysql daar moeilijk over doet.

    Weet je zeker dat er in alle 3 de tabellen de juiste gegevens staan?
      zaterdag 26 april 2008 @ 12:18:03 #134
    53731 Flipper01
    Addicted Dolphin
    pi_58318392
    quote:
    Op vrijdag 25 april 2008 10:41 schreef JortK het volgende:
    Ik heb hem wat aangepast, zie deze link die je verder kan helpen

    En op wat voor server maakt niet uit natuurlijk
    Sorry voor m'n n00b vragen.. :$

    Maar ik ben eruit gekomen! Ik snapte niet helemaal hoe het werkte, maar ik heb nu de datum in datetime weergegeven en bij het uitlezen maak ik een aantal extra kolommen aan waarin ik de datum uitsplits:
    1
    2
    3
    <?php
    $query 
    "SELECT  *, DATE_FORMAT(datum, '%d') AS dag, DATE_FORMAT(datum, '%c') AS maand, DATE_FORMAT(datum, '%Y') AS jaar, DATE_FORMAT(datum, '%H:%i') AS tijd FROM weblog ORDER BY -datum LIMIT 0,8";
    ?>


    Daarnaast gebruik ik jouw aangepaste gegevens in een andee query
    THNX!

    [ Bericht 23% gewijzigd door Flipper01 op 26-04-2008 12:24:32 ]
    I don't shine if you don't shine
    pi_58318636
    quote:
    Op vrijdag 25 april 2008 22:02 schreef Arjan321 het volgende:
    In principe is de syntax "INNER JOIN", niet "JOIN". Weet niet of mysql daar moeilijk over doet.
    Daar doet MySQL niet moeilijk over.
      zaterdag 26 april 2008 @ 13:20:10 #136
    37634 wobbel
    Da WoBBeL King
    pi_58319331
    quote:
    Op vrijdag 25 april 2008 22:02 schreef Arjan321 het volgende:
    In principe is de syntax "INNER JOIN", niet "JOIN". Weet niet of mysql daar moeilijk over doet.

    Weet je zeker dat er in alle 3 de tabellen de juiste gegevens staan?
    Ja, ik heb in SHOP_Afbeeldingen 1 record met ProductId = 1
    In SHOP_Products zit ook 1 record met IdProduct = 1
    en SHOP_Products_Lang heeft ook 1 record met ProductId = 1

    alleen krijg ik 0 rows terug met mijn query
    pi_58319419
    quote:
    Op vrijdag 25 april 2008 18:18 schreef wobbel het volgende:
    Ik wil nu alle producten met SubcategoryId = 1 weergeven, en daarbij ook alle data uit Products_Lang en Afbeeldingen die hetzelfde product ID hebben.
    Probeer eens LEFT JOIN ipv gewoon JOIN.
      zaterdag 26 april 2008 @ 13:52:59 #138
    37634 wobbel
    Da WoBBeL King
    pi_58319820
    quote:
    Op zaterdag 26 april 2008 13:27 schreef Farenji het volgende:

    [..]

    Probeer eens LEFT JOIN ipv gewoon JOIN.
    De tabel SHOP_Afbeeldingen hoeft niet perse records te hebben met hetzelfde ProductID
    pi_58319983
    quote:
    Op zaterdag 26 april 2008 13:52 schreef wobbel het volgende:

    [..]

    De tabel SHOP_Afbeeldingen hoeft niet perse records te hebben met hetzelfde ProductID
    Ja, daarom juist! Daarom krijg je met een INNER JOIN geen resultaten!!
    pi_58324153
    quote:
    Op zaterdag 26 april 2008 14:03 schreef Farenji het volgende:

    [..]

    Ja, daarom juist! Daarom krijg je met een INNER JOIN geen resultaten!!
    Hehe
      zondag 27 april 2008 @ 11:35:26 #141
    53731 Flipper01
    Addicted Dolphin
    pi_58335733
    Hoe kan ik de huidige tijd als DateTime in een string zetten? Dit ivm het plaatsen in MySQL.
    Ik heb nu het volgende:
    1
    2
    3
    4
    <?php
     $datum 
    date_create('NOW');
    echo 
    $datum
    ?>

    Maar krijg een foutmelding..
    I don't shine if you don't shine
      zondag 27 april 2008 @ 11:39:15 #142
    107951 JortK
    Immer kwaliteitsposts
    pi_58335783
    quote:
    Op zondag 27 april 2008 11:35 schreef Flipper01 het volgende:
    Hoe kan ik de huidige tijd als DateTime in een string zetten? Dit ivm het plaatsen in MySQL.
    Ik heb nu het volgende:
    [ code verwijderd ]

    Maar krijg een foutmelding..
    Ooi van het datatype datetime gehoord in MySQL?
    pi_58335874
    De functie date_create geeft en DateTime object terug, dus geen string. Ik vind dit echt weer zo'n typische vage php implementatie, gaat ook wel lekker tegen alle verwachting en conventies in maar dat zijn we gewend van php.

    Als je gewoon een string wil hebben die in een mysql datetime past, dan zou ik het simpel doen met date:

    1
    2
    3
    <?php
    $datum 
    date("Y-m-d H:i:s");
    ?>


    Dat geeft dus iets terug als "2008-04-27 11:44:25".

    http://nl3.php.net/manual/en/function.date.php
      zondag 27 april 2008 @ 11:46:11 #144
    53731 Flipper01
    Addicted Dolphin
    pi_58335901
    quote:
    Op zondag 27 april 2008 11:39 schreef JortK het volgende:
    Ooi van het datatype datetime gehoord in MySQL?
    Hoe kan ik da huidige tijd hierin krijgen als ik m'n tabel op de volgende manier aanvul:
    1
    2
    3
    4
    5
    6
    7
    <?php
    $query 
    "INSERT INTO weblog_reactie 
    (weblogid, naam, email, website, tekst, ip, spam, datum) 
    VALUES 
    ('$formId', '$formNaam', '$formEmail', '$formWebsite', '$formTekst', '$_SERVER[REMOTE_ADDR]', 'spam', 'NOW')"
    ;
    mysql_query($query) or die (mysql_error()); 
    ?>
    I don't shine if you don't shine
      zondag 27 april 2008 @ 11:47:46 #145
    53731 Flipper01
    Addicted Dolphin
    pi_58335923
    quote:
    Op zondag 27 april 2008 11:44 schreef Farenji het volgende:
    De functie date_create geeft en DateTime object terug, dus geen string. Ik vind dit echt weer zo'n typische vage php implementatie, gaat ook wel lekker tegen alle verwachting en conventies in maar dat zijn we gewend van php.

    Als je gewoon een string wil hebben die in een mysql datetime past, dan zou ik het simpel doen met date:
    [ code verwijderd ]

    Dat geeft dus iets terug als "2008-04-27 11:44:25".

    http://nl3.php.net/manual/en/function.date.php
    Dit zocht ik!
    Thnx!
    I don't shine if you don't shine
    pi_58335949
    Het kan natuurlijk veel makkelijker bedenk ik me nu pas, dmv de MySQL functie NOW()

    1insert into tabel (veld1, datum) values ('blaat', NOW());
    pi_58346563
    Ik ben op dit moment bezig met het maken van een poll-systeem. Hierbij wil ik controleren of er al gestemd is vanaf het ip waarvandaan de poll bezocht wordt.

    Als ik vervolgens met een query wil kijken of het ip adres al voorkomt bij de betreffende poll krijg ik een foutmelding, namelijk:
    1queryRetreiveIpYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND ip = x.x.x.x' at line 1

    queryRetreiveIp = identificatie van de query
    x.x.x.x = ip adres


    Betreffende query:
    1
    2
    3
    4
    <?php
    $visitorIp 
    $_SERVER['REMOTE_ADDR'];
    $queryRetreiveIp mysql_query("SELECT * FROM result WHERE poll_id = $pollId AND ip = $visitorIp ") or die("queryRetreiveIp ".mysql_error());
    ?>


    Het ip komt in de database voor (is gevuld met test gegevens). Ik heb al geprobeerd te zoeken op de website van mysql.com naar een mogelijke oplossing maar ik word niks wijzer.
    Deze query heeft eerder wel gewerkt, waardoor hij nu niet meer werkt weet ik dus niet (ik kreeg deze fout niet eerder iig).
    pi_58346824
    Geen oplossing; maar wel belangrijk: zet alsjeplease niet zo variabelen in die query.. is vragen om sql-injectie.. ookal genereer je al de waarden zelf, gewoon even zo doen:
    1
    2
    3
    4
    <?php
    $visitorIp = $_SERVER['REMOTE_ADDR'];
    $queryRetreiveIp = mysql_query("SELECT * FROM result WHERE poll_id = '" . mysql_real_escape_string($pollId) . "' AND ip = "' . mysql_real_escape_string($visitorIp) . "' ") or die("queryRetreiveIp ".mysql_error());
    ?>

    ('" is ' gevolgd door ")

    Nog liever gebruik maken van prepared statements, maar die keuze is aan jezelf..
    pi_58351029
    Sowieso moet je de waarden tussen 'aanhalingstekentjes' zetten. Doe je dat niet, dan denkt MySQL dat het een kolom-naam is - en een IP-adres is uiteraard geen geldige naam voor een kolom...
    In het voorbeeldje van Interpidity is dit trouwens al verbeterd.
    pi_58351619
    quote:
    Op donderdag 24 april 2008 18:46 schreef Piles het volgende:
    Even kort vraagje: hoe kun je dmv php checken of een site online is? Dus even proberen om een connectie te maken, zo niet: mailtje sturen. Dit wil ik namelijk graag in een cron job hebben (uiteraard op andere host)

    Opgelost: file() doet wat ik wil
    Even een vraag die aansluit op hetvolgende:
    quote:
    A URL can be used as a filename with this function if the fopen wrappers have been enabled. See fopen() for more details on how to specify the filename and List of Supported Protocols/Wrappers for a list of supported URL protocols.
    Hoe vaak staan deze fopen_wrappers uit (bij bijvoorbeeld hosters)? Ik doel dan op allow_url_fopen aangezien je deze niet via ini_set() kan setten voor zover ik de documentatie lees.

    Ik vraag dit omdat ik een manier wilde hebben om wget the simuleren in php. Het is op 3 verschillende manier te doen (tenminste, ik heb het op 3 verschillende manieren geimplementeerd). Via copy() en file_get_contents(), maar netzoals file zijn deze afhankelijk van de allow_url_fopen parameter in de file php.ini. En dan om het zelf te doen door een socket te openen en zelf HTTP te gaan praten tegen de desbetreffende server..

    Als je alleen gebruikt maakt van file() in je code dan kan je nooit je scripts portable maken, aangezien file() niet altijd doet wat jij verwacht (het gaat croaken op het moment dat allow_url_fopen niet aanstaat.
    pi_58352503
    quote:
    Op maandag 28 april 2008 00:33 schreef Igen het volgende:
    Sowieso moet je de waarden tussen 'aanhalingstekentjes' zetten. Doe je dat niet, dan denkt MySQL dat het een kolom-naam is - en een IP-adres is uiteraard geen geldige naam voor een kolom...
    In het voorbeeldje van Interpidity is dit trouwens al verbeterd.
    Strings moeten tussen aanhalingstekens, getallen niet. Of nouja, MySQL maakt zich er niet zo druk om als je wel aanhalingstekens om getallen zet, maar het is netter om het niet te doen. En een IP-adres is geen getal maar een string, dus moet aanhalingstekens.
    pi_58357076
    Edit: ik had een pagina gemist
    Dit gaat over de allow_url_fopen() toestand:


    je kunt het natuurlijk ook via cURL doen ofzo
    hoevaak allow_url_fopen uitstaan zou ik niet weten...
    pi_58377513
    Ik heb een website met een deel dat alleen toegankelijk is voor geregistreerde gebruikers.
    Deze mogen bepaalde PDF bestanden downloaden.

    Ik heb het inmiddels redelijk voor elkaar gekregen. Enige minpunt is dat je als gebruiker de download per se moet opslaan. Als je op openen klikt, krijg je van Adobe een foutmelding: "There was an error opening this document. The file cannot be found".

    Ik ben er nu achter dat dit komt door het toevoegen van session_start() bovenaan mijn pagina.
    Dit is echter wel essentieel, anders kan ik niet controleren of de gebruiker is ingelogd. Ik heb geen oplossing voor dit probleem kunnen vinden: session_write_close werkt niet.

    Iemand die de oplossing weet?
      dinsdag 29 april 2008 @ 13:37:43 #154
    187069 slacker_nl
    Sicko pur sang
    pi_58379514
    Note: If you are using cookie-based sessions, you must call session_start() before anything is outputted to the browser.

    Gebruikt je cookie based sessions?
    In theory there is no difference between theory and practice. In practice there is.
      dinsdag 29 april 2008 @ 13:50:12 #155
    37634 wobbel
    Da WoBBeL King
    pi_58379764
    Oke, na wat geworstel heb ik aan de hand van dit topic de volgende query gekregen:

    1
    2
    3
    4
    5
    SELECT * FROM SHOP_Products 
    LEFT JOIN SHOP_Products_Lang ON SHOP_Products_Lang.ProductId = SHOP_Products.IdProduct 
    LEFT JOIN SHOP_Afbeeldingen ON SHOP_Afbeeldingen.ProductId = SHOP_Products.IdProduct 
    WHERE SHOP_Products.SubcategoryId = '1' 
    AND SHOP_Products_Lang.LanguageId = '1'


    Het probleem is nu alleen, dat als één artikel meerdere afbeeldingen heeft, het product ook meerdere keren erin komt te staan.

    Stel ik heb 3 producten, en 1tje heeft 2 plaatjes, eentje heeft 3 plaatjes en de ander heeft 5 plaatjes...dan krijg ik deze output

    Product 1
    Product 1
    Product 2
    Product 2
    Product 2
    Product 3
    Product 3
    Product 3
    Product 3
    Product 3

    Maar hij moet gewoon Product 1, Product 2 en Product 3 weergeven
      dinsdag 29 april 2008 @ 13:51:57 #156
    107951 JortK
    Immer kwaliteitsposts
    pi_58379786
    quote:
    Op dinsdag 29 april 2008 13:50 schreef wobbel het volgende:
    Oke, na wat geworstel heb ik aan de hand van dit topic de volgende query gekregen:
    [ code verwijderd ]

    Het probleem is nu alleen, dat als één artikel meerdere afbeeldingen heeft, het product ook meerdere keren erin komt te staan.

    Stel ik heb 3 producten, en 1tje heeft 2 plaatjes, eentje heeft 3 plaatjes en de ander heeft 5 plaatjes...dan krijg ik deze output

    Product 1
    Product 1
    Product 2
    Product 2
    Product 2
    Product 3
    Product 3
    Product 3
    Product 3
    Product 3

    Maar hij moet gewoon Product 1, Product 2 en Product 3 weergeven
    GROUP BY is your best friend
    pi_58380058
    quote:
    Op dinsdag 29 april 2008 13:37 schreef slacker_nl het volgende:
    Note: If you are using cookie-based sessions, you must call session_start() before anything is outputted to the browser.

    Gebruikt je cookie based sessions?
    Ik heb session_start() helemaal bovenaan staan.

    Het probleem is verholpen door:

    1
    2
    session_cache_limiter('private'); //in mijn geval public
    session_start();
    pi_58385726
    quote:
    Op dinsdag 29 april 2008 13:50 schreef wobbel het volgende:
    Oke, na wat geworstel heb ik aan de hand van dit topic de volgende query gekregen:
    [ code verwijderd ]

    Het probleem is nu alleen, dat als één artikel meerdere afbeeldingen heeft, het product ook meerdere keren erin komt te staan.

    Stel ik heb 3 producten, en 1tje heeft 2 plaatjes, eentje heeft 3 plaatjes en de ander heeft 5 plaatjes...dan krijg ik deze output
    [...]
    Maar hij moet gewoon Product 1, Product 2 en Product 3 weergeven
    Ligt er aan wat je wil laten zien. Als je bij elk product een wisselend aantal plaatjes wilt laten zien, dan zal je het in php moeten oplossen. Als je geen plaatjes wil laten zien, waarom join je dan tegen de afbeeldingen tabel? Als je per product 1 plaatje wil laten zien dan moet je de query aanpassen, maar hoe hangt er weer van af welk plaatje je wil laten zien.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      FOK!-Schrikkelbaas woensdag 30 april 2008 @ 13:24:56 #159
    1972 Swetsenegger
    Egocentrische Narcist
    pi_58397560
    .htaccess probleempje

    1
    2
    3
    4
    RewriteEngine On
    RewriteCond %{HTTP_REFERER} !^http://(.+\.)?123swets\.com/ [NC]
    RewriteCond %{HTTP_REFERER} !^$
    RewriteRule .*\.(jpe?g|gif|bmp|png)$ /image/hotlink.gif [L]


    hotlinking wordt wel geblokkeerd, maar alternatieve image wordt niet getoont. Wat doe ik fout?
    pi_58398195
    quote:
    Op woensdag 30 april 2008 13:24 schreef Swetsenegger het volgende:
    .htaccess probleempje
    [ code verwijderd ]

    hotlinking wordt wel geblokkeerd, maar alternatieve image wordt niet getoont. Wat doe ik fout?
    Ik zou hoe dan ook eerst de referer checken op ^$ want en daarna pas je ^123swets.com$. Het is logischer om te checken of de referer bestaat en om dan te checken of het uit het 123swets.com domain komt. Maar dat heeft wellicht niks met je probleem te maken. Of misschien ook wel:

    Als ik www.swets123.com/image/hotlink.gif direct wil benaderen kom ik uit op de volgende URL:

    http://www.123swets.com/i(...)t/index/default/home
    quote:
    Firefox has detected that the server is redirecting the request for this address in a way that will never complete.
    Volgens mij komt dat door de [NC] en de volgorde van de checks. Als de referer leeg is moet ie de check skippen, maar omdat je eerst checked of het vanuit swets123.com komt en dan door de NC ervoor zorgt dat ie de originele URL weer gaat reprocesses en je dus zorgt voor een loop in je rewrites.

    -edit- Die NC heeft er niks mee te maken, even twee flags door elkaar gehaald-

    Enable je rewritelog en zet je levellog op 9.

    Zie ook: http://httpd.apache.org/docs/1.3/misc/rewriteguide.html (zoek op Blocked Inline-Images)

    [ Bericht 4% gewijzigd door slakkie op 30-04-2008 14:27:11 ]
      woensdag 30 april 2008 @ 14:43:44 #161
    62215 qu63
    ..de tijd drinkt..
    pi_58398558
    ik zie http://www.123swets.com/image/hotlink.gif wel
    of Swets heeft het al aangepast
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      FOK!-Schrikkelbaas woensdag 30 april 2008 @ 14:52:35 #162
    1972 Swetsenegger
    Egocentrische Narcist
    pi_58398675
    Ja ik zie die image ook gewoon, zowel in safari als FF.

    De rest ga ik ff bekijken
      FOK!-Schrikkelbaas woensdag 30 april 2008 @ 14:59:31 #163
    1972 Swetsenegger
    Egocentrische Narcist
    pi_58398766
    Hij blokkeerde mijn hotlink image ook Die moet je andere extensie geven dan de fileextensies die je blokkeert
      woensdag 30 april 2008 @ 15:07:32 #164
    12880 CraZaay
    prettig gestoord
    pi_58398889
    Handig in het kader van bovenstaande en sowieso een dikke bookmark waard:

    http://perishablepress.co(...)pid-htaccess-tricks/
      woensdag 30 april 2008 @ 15:22:58 #165
    62215 qu63
    ..de tijd drinkt..
    pi_58399125
    quote:
    Op woensdag 30 april 2008 14:59 schreef Swetsenegger het volgende:
    Hij blokkeerde mijn hotlink image ook Die moet je andere extensie geven dan de fileextensies die je blokkeert
    klinkt niet zo heel raar nee

    gefeliciteerd trouwens met de kleine , wist niet dat je alweer papa was
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_58399212
    quote:
    Op woensdag 30 april 2008 14:59 schreef Swetsenegger het volgende:
    Hij blokkeerde mijn hotlink image ook Die moet je andere extensie geven dan de fileextensies die je blokkeert
    1
    2
    3
    4
    5
    RewriteEngine On
    RewriteCond %{HTTP_REQUEST} !^/image/hotlink.gif
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http://(.+\.)?123swets\.com/ [NC]
    RewriteRule .*\.(jpe?g|gif|bmp|png)$ /image/hotlink.gif [L]


    hotlink.gif mag iedereen hotlinken

    Ik blijf overigens die redirect error krijgen.. Ook na een shift reload, Ubuntu/FF/Konqueror. Zal het eens op de Mac proberen..
    Zowel Safari als FF op de Mac geven me een redirect error.

    [ Bericht 8% gewijzigd door slakkie op 30-04-2008 15:39:05 ]
      FOK!-Schrikkelbaas woensdag 30 april 2008 @ 15:37:57 #167
    1972 Swetsenegger
    Egocentrische Narcist
    pi_58399277
    hotlink.gif bestaat nu niet meer. het is nu hotlink.jpe
      FOK!-Schrikkelbaas woensdag 30 april 2008 @ 15:38:43 #168
    1972 Swetsenegger
    Egocentrische Narcist
    pi_58399299
    quote:
    Op woensdag 30 april 2008 15:37 schreef Swetsenegger het volgende:
    hotlink.gif bestaat nu niet meer. het is nu hotlink.jpe
    Dan moet ie een 404 geven ipv een 403 forbidden (Konqueror) en geen redirect errors (FF/Safari).
      woensdag 30 april 2008 @ 15:42:31 #170
    62215 qu63
    ..de tijd drinkt..
    pi_58399321
    quote:
    Op woensdag 30 april 2008 15:38 schreef Swetsenegger het volgende:
    [ afbeelding ]
    ik zie je hotlink plaatje nu
    weliswaar na een ctrl+f5, want Nienke stond nog in mn cache

    Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      FOK!-Schrikkelbaas woensdag 30 april 2008 @ 16:10:48 #171
    1972 Swetsenegger
    Egocentrische Narcist
    pi_58399657
    quote:
    Op woensdag 30 april 2008 15:40 schreef slakkie het volgende:

    [..]

    Dan moet ie een 404 geven ipv een 403 forbidden (Konqueror) en geen redirect errors (FF/Safari).
    MIjn 404 en 403 verwijst naar de index pagina. Ik heb hier geen errors. Misschien cache?
    -edit- woops, nee error in de redirect
    pi_58403140
    Ik zit met een heel raar probleem, vind ik zelf. Ik heb een html-bestand met daarin allerlei tabs en spaties. Die wil ik er uit hebben. Ik probeer dit:
    1
    2
    3
    4
    5
    6
    <?php
    $part 
    trim($part);
    $part strip_tags($part);
    $part str_replace("\t"""$part);
    $part str_replace(" """$part);
    ?>

    Alle spaties tussen woorden e.d. verdwijnen, maar toch blijven er nog een heleboel over. Wat voor 'soort' spaties kunnen dat zijn, en hoe krijg ik ze weg :?
      woensdag 30 april 2008 @ 20:25:40 #173
    107951 JortK
    Immer kwaliteitsposts
    pi_58403256
    quote:
    Op woensdag 30 april 2008 20:19 schreef Piles het volgende:
    Ik zit met een heel raar probleem, vind ik zelf. Ik heb een html-bestand met daarin allerlei tabs en spaties. Die wil ik er uit hebben. Ik probeer dit:
    [ code verwijderd ]

    Alle spaties tussen woorden e.d. verdwijnen, maar toch blijven er nog een heleboel over. Wat voor 'soort' spaties kunnen dat zijn, en hoe krijg ik ze weg
    Zijn het geen linefeeds of carriage returns?
      woensdag 30 april 2008 @ 20:26:06 #174
    12880 CraZaay
    prettig gestoord
    pi_58403268
    Zijn het spaties in de broncode ("view source")? Dit kan overigens ook:

    1
    2
    3
    <?php
    $string = str_replace(array("\t", ''), '', $string);
    ?>
    pi_58403405
    quote:
    Op woensdag 30 april 2008 20:25 schreef JortK het volgende:
    Zijn het geen linefeeds of carriage returns?
    1
    2
    3
    <?php
    $part 
    trimpreg_replace'/\s+/'' '$part) );  
    ?>

    Dat doet al een hoop, maar er blijven er toch nog een paar over
    quote:
    Op woensdag 30 april 2008 20:26 schreef CraZaay het volgende:
    Zijn het spaties in de broncode ("view source")? Dit kan overigens ook:
    [ code verwijderd ]
    Veranderd niks aan de situatie
      woensdag 30 april 2008 @ 20:38:40 #176
    12880 CraZaay
    prettig gestoord
    pi_58403562
    quote:
    Op woensdag 30 april 2008 20:31 schreef Piles het volgende:

    Veranderd niks aan de situatie
    Dat snap ik, het ging me vooral om het DRY-karakter en het gebruik van dubbele/enkele quotes.

    Maar het zijn in de source dus echt spaties (niet line endings in de HTML die gerenderd worden als spaties)?
    pi_58403627
    Oh, ik zie het al
    Het is & nbsp;
    pi_58420193
    Ik heb een functie met die checkt of een variable leeg is of niet, wanneer hij leeg is zegt hij dat hij leeg is :D. Maar dan wordt het: Hoe krijg je de tekst van een variable die leeg is op het scherm, dus de naam van de lege variable?

    1
    2
    3
    4
    5
    6
    7
    <?php
    function checkempty($var){
        if(empty(
    $var) ){
        echo 
    "$var niet ingevoerd";
        }
    }
    ?>
    pi_58420375
    De naam die je intern gebruikt komt toch niet overeen met de naam die je de gebruiker wil tonen. Ik zou een extra parameter toevoegen voor de "friendly name".
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_58420441
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    function ce($var,$dn){
        if(empty(
    $var) ){
        echo 
    $dn." niet ingevoerd";
        }
    }

    ce($name,'naam')
    ?>


    Is er iets waarmee je eenvoudig 10 waardes kan invoeren in zon functie?
    pi_58420477
    $var is de naam van de variabele toch al?
    als je checkempty("blaat") aanroept moet ie checken of $blaat leeg is lijkt me toch?
    dan is het
    if(empty($$var))
    {
    // $var nu outputten.. $var uit $$var word dus omgezet naar "blaat" --> $blaat
    }
    pi_58420626
    quote:
    Op donderdag 1 mei 2008 18:36 schreef Intrepidity het volgende:
    $var is de naam van de variabele toch al?
    als je checkempty("blaat") aanroept moet ie checken of $blaat leeg is lijkt me toch?
    dan is het
    if(empty($$var))
    {
    // $var nu outputten.. $var uit $$var word dus omgezet naar "blaat" --> $blaat
    }
    Kan ook, maar wat SuperRembo zegt klopt, ik wil eigenlijk een userfriendly name eruit hebben. Dus nu nog een manier vinden om 10 waardes in te voeren. Ik kan het handmatig doen, dan heb ik 10 regels code. kan het slimmer?
    pi_58421187
    Je kunt een functie maken waar je een willekeurig aantal parameters aan mee kunt geven; steeds afwisselend een var en een naam. Daarvoor gebruikt je func_get_arg().
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      donderdag 1 mei 2008 @ 23:05:00 #184
    85514 ralfie
    !Yvan eht nioj
    pi_58425791
    umm, waarom niet gwoon een arraytje?

    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    foreach(not_set( array('var1'=>'naam','var2'=>'lft','var3'=>'tijd','var4'=>'geslacht') as $var )  echo "hee dombo, je hebt '$var' niet gezet!";

    function 
    not_set($arr) {
       
    $out=array();
       foreach(
    $arr as $v=>$x) if(empty($GLOBALS[$v])) $out[]=$x;
       return 
    $out;
    }
    ?>
    mss niet grammaticaal correct, maar het idee klopt toch?
    pi_58427676
    quote:
    Op donderdag 1 mei 2008 23:05 schreef ralfie het volgende:
    umm, waarom niet gwoon een arraytje?
    [ code verwijderd ]

    mss niet grammaticaal correct, maar het idee klopt toch?
    Mmm, dat soort code kan ik allemala niet Ik zal es opzoeken hoe het werkt
    pi_58429556
    quote:
    Op donderdag 1 mei 2008 19:15 schreef SuperRembo het volgende:
    Je kunt een functie maken waar je een willekeurig aantal parameters aan mee kunt geven; steeds afwisselend een var en een naam. Daarvoor gebruikt je func_get_arg().
    Of gebruik func_get_args() icm met count (of func_num_args()).
    pi_58430013
    Heb er maar een recursieve functie van gemaakt, accepteerd zowel arrays, als losse scalars. Persoonlijk zou ik er ook nog check bijgooien om te zien of $GLOBALS[$v] ook gelijk is aan 0 aangezien dat ook een boolean value kan zijn.

    En een nieuwe functie erbij om bepaalde globals te definieren indien ze empty zijn, accepteerd alleen maar hashes (assoc arrays).

    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
    58
    59
    60
    61
    62
    <?php
    function is_empty() {
        
    $args func_get_args();
        
    $result = array();
        if (
    count($args)) {
            foreach(
    $args as $v) {
                if (
    is_array($v)) {
                    
    $result array_merge($resultcall_user_func_array(__FUNCTION__$v));
                } else {
                    if (empty(
    $GLOBALS[$v])) { $result[] = $v; }
                }
            }
            return 
    $result;
        }
        
    trigger_error(sprintf("%s requires at least 1 parameter\n"__FUNCTION__), E_USER_NOTICE);
        return 
    $result;
    }

    function 
    is_empty_2defaults() {
        
    $result = array();
        if (
    func_num_args()) {
           
    $args func_get_args();
           foreach(
    $args as $v) {
               if (!
    is_array($v)) { continue; }
               
    $tmp is_empty(array_keys($v));
               foreach(
    $tmp as $v2) { $GLOBALS[$v2] = $v[$v2]; }
               
    $result array_merge($result$tmp);
           }
        } else {
            
    trigger_error(sprintf("%s requires at least 1 parameter\n"__FUNCTION__), E_USER_NOTICE);
        }
        return 
    $result;
    }


    $test "test"$leeg '0'$niks null$weer_niks$array = array();

    print_r(is_empty("test"));
    print_r(is_empty("test""leeg""niks""weer_niks""array"));

    # Recursieve arrays
    print_r(is_empty(array(array(0))));

    # En als je met hashes gaat werken:
    $hash = array("var1" => "leeg");
    print_r(is_empty(array_values($hash)));
    # Maar dit mag ook:
    print_r(is_empty($hash));

    $hash = array("glas" => "half vol");

    $tmp is_empty(array_keys($hash));
    foreach(
    $tmp as $v) {
        
    printf("%s is maar %s"$v$hash[$v]);
    }

    # Als je default waardes wilt hebben voor de lege velden... 
    $hash_defaults = array("user" => "guest""password" => "guest");
    is_empty_2defaults($hash_defaults);

    printf("User: %-8s\tPassword: %s\n"$user$password);
    ?>


    [ Bericht 6% gewijzigd door slakkie op 02-05-2008 17:29:45 ]
    pi_58434274
    Stel je voor: Ik heb een klasse die beker heet, en ik heb een klasse die drank heet.

    In de klasse beker heb je de volgende vars:
    beker_id
    beker_inhoud
    beker_materiaal
    beker_drank

    Daarnaast heb ik de klasse drank, met daarin de volgende vars
    drank_id
    drank_naam

    Ik wil een nieuwe beker aanmaken, want ik heb dorst . In het veld beker_drank van de klasse beker komt een waarde, een getal. Dit getal moet overeenkomen met drank_id uit de klasse drank. Wanneer deze overeenkomt, moet de inhoud van drank_naam worden ingevuld in het veld beker_drank. Ik denk dat het wel mogelijk is, maar hoe doe ik dit dan?
    pi_58434379
    quote:
    Op vrijdag 2 mei 2008 05:00 schreef slakkie het volgende:
    Heb er maar een recursieve functie van gemaakt, accepteerd zowel arrays, als losse scalars. Persoonlijk zou ik er ook nog check bijgooien om te zien of $GLOBALS[$v] ook gelijk is aan 0 aangezien dat ook een boolean value kan zijn.
    [ code verwijderd ]
    1
    2
    3
    <?php
    trigger_error
    (sprintf("%s requires at least 1 parameter\n"__FUNCTION__E_USER_NOTICE));
    ?>

    Je geeft aan sprintf 1 string en 2 andere parameters mee, terwijl er in die string maar 1 placeholder is. Gevalletje haakjes verkeerd?
    pi_58434452
    quote:
    Op vrijdag 2 mei 2008 12:57 schreef boskameel het volgende:
    Stel je voor: Ik heb een klasse die beker heet, en ik heb een klasse die drank heet.

    In de klasse beker heb je de volgende vars:
    beker_id
    beker_inhoud
    beker_materiaal
    beker_drank

    Daarnaast heb ik de klasse drank, met daarin de volgende vars
    drank_id
    drank_naam

    Ik wil een nieuwe beker aanmaken, want ik heb dorst . In het veld beker_drank van de klasse beker komt een waarde, een getal. Dit getal moet overeenkomen met drank_id uit de klasse drank. Wanneer deze overeenkomt, moet de inhoud van drank_naam worden ingevuld in het veld beker_drank. Ik denk dat het wel mogelijk is, maar hoe doe ik dit dan?
    Waarom zou je dat überhaupt willen? Als je bij de beker het drank_id opslaat dan kun je altijd de drank_naam weer achterhalen.
    pi_58434844
    Als ik bv gebruik maak van een database, en een tabel beker en drank heb. Of denk ik nu te moeilijk?
    pi_58434858
    quote:
    Op vrijdag 2 mei 2008 13:05 schreef Light het volgende:

    [..]

    Waarom zou je dat überhaupt willen? Als je bij de beker het drank_id opslaat dan kun je altijd de drank_naam weer achterhalen.
    Misschien met foreign keys?
    pi_58435100
    quote:
    Op vrijdag 2 mei 2008 13:23 schreef boskameel het volgende:
    Als ik bv gebruik maak van een database, en een tabel beker en drank heb. Of denk ik nu te moeilijk?
    Dan maak je een JOIN over die twee tabellen, als je tenminste wilt weten welke drank er in een beker zit. Zo'n id is een makkelijk, vast punt. Ander voordeel is dat als je "bier" wilt vervangen door "Heineken" (om verwarring met "Grolsch" te voorkomen bijvoorbeeld) dan hoef je dat maar op 1 plek aan te passen.
    pi_58435144
    quote:
    Op vrijdag 2 mei 2008 13:24 schreef Flaccid het volgende:

    [..]

    Misschien met foreign keys?
    Ja, dan moet je dus die ID's laten staan en niet ineens ID's door namen gaan vervangen. Da's niet logisch. Dat het in PHP kan, komt alleen maar omdat het loosely typed is.
    pi_58435233
    Ah ik snap het . Maar ik zit nu al een paar uur te zoeken hoe je nou die 2 klassen kan laten samenwerken, in php code dan. Ik kan alleen maar dingen vinden over het werken met 1 klasse .
    pi_58435636
    Hallo, waarschijnlijk super simpel op te lossen, maar het lukt me niet;
    Ik heb de volgende code:
    1
    2
      $test = "103050060070003002100004060008030010101010111000020305081011151601060912031615";
      echo $test;

    De STRING $test bevat 76 cijfers. Echter als ik hem nu echo krijg ik zoiets te zien : "1.0305006007E+047". Hoe kan ik mijn string correct tonen? bvd
    to say of what is that it is not, or of what is not that it is, is false, while to say of what is that it is, or of what is not that it is not, is true
      vrijdag 2 mei 2008 @ 14:14:49 #197
    12880 CraZaay
    prettig gestoord
    pi_58435695
    Die code toont bij mij gewoon je string. Als integer (zonder quotes dus) komt 'ie dichter bij jouw weergave in de buurt (1.0305006007E+77).
    pi_58435768
    quote:
    Op vrijdag 2 mei 2008 14:14 schreef CraZaay het volgende:
    Die code toont bij mij gewoon je string. Als integer (zonder quotes dus) komt 'ie dichter bij jouw weergave in de buurt (1.0305006007E+77).
    ai ik zie het al, zit met de verkeerde var te spelen

    thx!
    to say of what is that it is not, or of what is not that it is, is false, while to say of what is that it is, or of what is not that it is not, is true
      vrijdag 2 mei 2008 @ 14:24:56 #199
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_58435874
    quote:
    Op vrijdag 2 mei 2008 14:14 schreef CraZaay het volgende:
    Die code toont bij mij gewoon je string. Als integer (zonder quotes dus) komt 'ie dichter bij jouw weergave in de buurt (1.0305006007E+77).
    Hier ook..
    pi_58435995
    quote:
    Op vrijdag 2 mei 2008 12:57 schreef boskameel het volgende:
    Stel je voor: Ik heb een klasse die beker heet, en ik heb een klasse die drank heet.

    In de klasse beker heb je de volgende vars:
    beker_id
    beker_inhoud
    beker_materiaal
    beker_drank

    Daarnaast heb ik de klasse drank, met daarin de volgende vars
    drank_id
    drank_naam

    Ik wil een nieuwe beker aanmaken, want ik heb dorst . In het veld beker_drank van de klasse beker komt een waarde, een getal. Dit getal moet overeenkomen met drank_id uit de klasse drank. Wanneer deze overeenkomt, moet de inhoud van drank_naam worden ingevuld in het veld beker_drank. Ik denk dat het wel mogelijk is, maar hoe doe ik dit dan?
    Kan drank bestaan zonder beker?

    Zo nee, dan kun je het beste de class drank initiëren in de class beker. Dus bij het vullen van de beker geef je een drank_id mee, vervolgens wordt er in de beker class een $beker_drank = new drank($drank_id) uitgevoerd. In de constructor van drank_id haal je vervolgens alle gegevens op die voor die drank van belang zijn. Indien nodig kun je dan aan de beker vragen welke drank er in zit. De beker vraagt dat vervolgens weer aan drank of geeft het hele drank-object terug.

    Als drank wel kan bestaan zonder beker, bijvoorbeeld omdat het nog in de fles zit, dan kun je de beker vullen met het drank-object:
    1
    2
    3
    4
    $drankje = new drank(0, "cola")
    $flesje = new fles($drankje->get_contents())
    $bekertje = new beker();
    $bekertje->vul($flesje->get_contents());
    Don't hurry, be crappy!
    abonnement Unibet Coolblue Bitvavo
    Forum Opties
    Forumhop:
    Hop naar:
    (afkorting, bv 'KLB')