abonnement Unibet Coolblue Bitvavo
pi_57330472

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

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
  • The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      woensdag 12 maart 2008 @ 17:36:15 #2
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_57330939
    Oe.. ga ook weer eens topic volgen..
    pi_57331393
    Kan iemand mij het voordeel uitleggen als je werkt met MySQL en MySQL wilt blijven gebruiken?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      woensdag 12 maart 2008 @ 18:21:00 #4
    187069 slacker_nl
    Sicko pur sang
    pi_57331878
    quote:
    Op woensdag 12 maart 2008 17:58 schreef Chandler het volgende:
    Kan iemand mij het voordeel uitleggen als je werkt met MySQL en MySQL wilt blijven gebruiken?
    Jow, het voordeel is dat je MySQL al kent en dus kan blijven gebruiken...

    -edit-

    OWWWWW i get it.

    PDO vs directe mysql stuff bedoel je zeker?

    Perl kent DBI, wat erg lijkt op PDO (voor zover ik de docs gelezen heb). Basicly heb je 1 generieke interface om MySQL, Postgresql, Oracle, etc etc databases te kunnen gebruiken:

    http://dbi.perl.org/about/

    Voordeel is dat je een generieke manier hebt om te kunnen connecten met X databases. En zo kan je dus code wat generieker maken zodat het makkelijker is om te switchen tussen verschillende databases zonder al je code te hoeven aanpassen. Ik gebruik 't onder Perl en het werkt fantastisch.

    [ Bericht 45% gewijzigd door slacker_nl op 12-03-2008 18:27:47 ]
    In theory there is no difference between theory and practice. In practice there is.
      woensdag 12 maart 2008 @ 18:22:38 #5
    62215 qu63
    ..de tijd drinkt..
    pi_57331912
    nog steeds op zoek naar locatie gedoe voor mn foon

    slechte tvp
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_57332107
    Maar slacker_nl; er is dus niet echt een voordeel snap ik?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_57333097
    quote:
    Op woensdag 12 maart 2008 18:32 schreef Chandler het volgende:
    Maar slacker_nl; er is dus niet echt een voordeel snap ik?
    Ik zou zeggen dat het voordeel is dat je veel makkelijker kan overstappen naar een andere DB zonder je code te hoeven herschrijven.

    Als jij een MySQL DB gebruikt dan is het voor mij simpel om het op Oracle te implementeren. Je kan nml die connection string mysql:user:passwd@host (of wat die syntax ook mogen zijn) heel makkelijk aanpassen naar oracle:user:password@host.

    Voor jou bied het persoonlijk niet veel voordelen, maar als je een CMS maakt kan je op deze manier heel makkelijk meerdere databases supporten zonder al te veel moeite. Alleen zorgen dat je de juiste library gebruikt voor je DB, PDO gebruiken, connection string aanpassen en klaar. Dat is het grote voordeel van PDO als je het mij vraagt.

    En die connection string kan je in een config file proppen waardoor je later helemaal geen code hoeft aan te passen om een andere DB te gebruiken. Als jij de native mysql methodes gebruikt van PHP zal iemand anders (of jijzelf) code moeten wijzigen om andere DB's te ondersteunen. Ondanks dat je alleen MySQL gebruikt zou ik je toch aanraken om PDO te gebruiken, vooral vanwege bovenstaande redenen. Uiteindelijk wordt het ook makkelijker voor jezelf omdat je je niet druk hoeft te maken over je backend aangezien de API generiek is en dus in principe geen kennis hoeft te hebben van je DB. Dat doet PDO wel voor je. Simpel en makkelijk. Het grote voordeel.

    Zie deze documentatie voor Per DBI: http://search.cpan.org/~timb/DBI/DBI.pm , ik gok dat PDO dezelfde principes hanteert.
    quote:
    The DBI is a database access module for the Perl programming language. It defines a set of methods, variables, and conventions that provide a consistent database interface, independent of the actual database being used.

    It is important to remember that the DBI is just an interface. The DBI is a layer of "glue" between an application and one or more database driver modules. It is the driver modules which do most of the real work. The DBI provides a standard interface and framework for the drivers to operate within.

    Architecture of a DBI Application

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
                 |<- Scope of DBI ->|
                      .-.   .--------------.   .-------------.
      .-------.       | |---| XYZ Driver   |---| XYZ Engine  |
      | Perl  |       | |   `--------------'   `-------------'
      | script|  |A|  |D|   .--------------.   .-------------.
      | using |--|P|--|B|---|Oracle Driver |---|Oracle Engine|
      | DBI   |  |I|  |I|   `--------------'   `-------------'
      | API   |       | |...
      |methods|       | |... Other drivers
      `-------'       | |...
              
            `-'

    The API, or Application Programming Interface, defines the call interface and variables for Perl scripts to use. The API is implemented by the Perl DBI extension.

    The DBI "dispatches" the method calls to the appropriate driver for actual execution. The DBI is also responsible for the dynamic loading of drivers, error checking and handling, providing default implementations for methods, and many other non-database specific duties.

    Each driver contains implementations of the DBI methods using the private interface functions of the corresponding database engine. Only authors of sophisticated/multi-database applications or generic library functions need be concerned with drivers.


    [ Bericht 49% gewijzigd door slakkie op 12-03-2008 19:18:27 (perl dbi link) ]
    pi_57333159
    quote:
    Op woensdag 12 maart 2008 17:58 schreef Chandler het volgende:
    Kan iemand mij het voordeel uitleggen als je werkt met MySQL en MySQL wilt blijven gebruiken?
    Ik neem aan dat je het over PDO hebt?
    Een voordeel van PDO is dat je met geparameteriseerde query's kunt werken. Daardoor heb je geen gevaar meer van SQL injection. Je hebt dus ook geen mysql_real_escape_string of addslashes nodig.

    "oud"

    1
    2
    3
    $sql = sprintf("SELECT code, name FROM mydata WHERE code LIKE '%s'", 
       mysql_real_escape_string($code))
    $q = mysql_query($sql);

    "nieuw"

    1
    2
    $stm = $db->prepare("SELECT code, name FROM mydata WHERE code LIKE :code");
    $stm->execute(array('code' => $code));

    of

    1
    2
    3
    $stm = $db->prepare("SELECT code, name FROM mydata WHERE code LIKE :code");
    $stmt->bindParam(':code', $code);
    $stm->execute();
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      woensdag 12 maart 2008 @ 19:37:41 #9
    107951 JortK
    Immer kwaliteitsposts
    pi_57334306
    Duidelijk Sr, maar hoe veel servers ondersteunen PDO?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_57335079
    TijdVoorPhpen
    pi_57335420
    quote:
    Op woensdag 12 maart 2008 20:05 schreef Chandler het volgende:
    Duidelijk Sr, maar hoe veel servers ondersteunen PDO?
    Het zit standaard bij PHP 5.1...
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      woensdag 12 maart 2008 @ 21:02:39 #13
    85919 Likkende_Lassie
    Doe eens wat aan je ondertitel
    pi_57335550
    Waren er in t vorige topic niet wat posts over PDO ? , best boeiend iets!
    pi_57347292
    quote:
    Op woensdag 12 maart 2008 20:56 schreef SuperRembo het volgende:

    [..]

    Het zit standaard bij PHP 5.1...
    Ok, maar is er geen lijst beschikbaar hoeveel (gemiddeld) van de huidige online servers php 5 of hoger draaien, want volgens mij draaien veel hosters nog steeds php 4.2x
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      donderdag 13 maart 2008 @ 23:04:49 #15
    85919 Likkende_Lassie
    Doe eens wat aan je ondertitel
    pi_57363809
    ajoh tijd voor een eigen server!
    pi_57366023
    Hoi,

    ik heb subdomains aangemaakt. Nu wil ik graag dat mijn fotoscript op een ander backoffice.subdmain.nl de foto's wegschrijft in het andere foto.subdomain.nl Scrhijfacties op een ander domain staat de server niet toe. Hoe flik ik m dit?
      zondag 16 maart 2008 @ 22:10:42 #17
    71919 wonderer
    Hung like a My Little Pony
    pi_57421324
    Ik las in een artikel ergens "stop je script dat verbinding maakt met de database en wachtwoord en username bevat in een directory die niet vanaf het web is aan te roepen" en dat lijkt me best slim, maar hoe roep ik die dan aan (met require())? Ik dacht dat /home/username/mapje/bestand.php wel zou werken, maar neit dus
    "Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
    "My brain is too smart for me."
    "We don't need no education." "Yes you do, you just used a double negative."
      zondag 16 maart 2008 @ 23:37:24 #18
    37634 wobbel
    Da WoBBeL King
    pi_57423564
    Wat zijn hele goede RegEx cursussen? Heb al zo'n PHPHulp.nl cursusje gevonden maar nog niet echt doorgebladerd....hebben jullie enige suggesties?

    Kunnen jullie tot die tijd niet ff snel een Regex maken die kijkt of een $variable een #hexadeciamele kleur is? Dus: #FF00FF of #123ABC enzo, dus # en dan minimaal 6 tekens (ik gebruik geen3 kleurige hex codes)
      zondag 16 maart 2008 @ 23:38:46 #19
    37634 wobbel
    Da WoBBeL King
    pi_57423592
    quote:
    Op vrijdag 14 maart 2008 00:52 schreef beerten het volgende:
    Hoi,

    ik heb subdomains aangemaakt. Nu wil ik graag dat mijn fotoscript op een ander backoffice.subdmain.nl de foto's wegschrijft in het andere foto.subdomain.nl Scrhijfacties op een ander domain staat de server niet toe. Hoe flik ik m dit?
    zou normaal gesproken moeten werken, omdat je niet buiten je eigen map komt.

    /home/domeinnaam/subdomain/backoffice
    /home/domeinnaam/subdomain/foto

    Je blijft in je eigen map "domeinnaam" dus er zou in princiepe niks fout moeten gaan

    = edit =

    Dat had ook wel in 1 reactie gekund
    pi_57424146
    quote:
    Op zondag 16 maart 2008 23:37 schreef wobbel het volgende:
    Wat zijn hele goede RegEx cursussen? Heb al zo'n PHPHulp.nl cursusje gevonden maar nog niet echt doorgebladerd....hebben jullie enige suggesties?
    Ik lees altijd de handleidingen...
    quote:
    Kunnen jullie tot die tijd niet ff snel een Regex maken die kijkt of een $variable een #hexadeciamele kleur is? Dus: #FF00FF of #123ABC enzo, dus # en dan minimaal 6 tekens (ik gebruik geen3 kleurige hex codes)
    1/^#[0-9a-f]{6}$/i


    [ Bericht 0% gewijzigd door SuperRembo op 17-03-2008 07:22:19 ]
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_57426909
    Uit het Perl topic:

    Reguliere expressies
    * Een quick start guide into Perl regexp'en
    * De regexp tutorial van Perl
    * Learning perl, hoofdstuk 7, regexpenp. Hier kan je zoveel uitleg als kleine oefeningen vinden om reguliere expressies onder de knie te krijgen.

    Verder is het boek Mastering regular expressions een absolute aanrader als je meer wilt weten over reguliere expressies. Het leest prettig, en gaat dieper in op reguliere expressies dan de perl tutorials, en laten zien hoe het in andere talen dan Perl (Java en .Net) gebruikt kunnen worden. Dus ook voor de niet Perllers is het een aanrader.

    http://xkcd.com/208/
      maandag 17 maart 2008 @ 09:46:25 #22
    37634 wobbel
    Da WoBBeL King
    pi_57427009
    @slakkie

    Reguliere expressies zijn dus in elke programmeertaal "universeel" zeg maar?

    @SuperRembo

    Bedankt voor het mij even snel uit de brand helpen
    pi_57427208
    quote:
    Op maandag 17 maart 2008 09:46 schreef wobbel het volgende:
    @slakkie

    Reguliere expressies zijn dus in elke programmeertaal "universeel" zeg maar?
    Nee, er zijn meestal wel verschillen. Perl regexps en perl-stijl regexps in php (preg*) komen grotendeels overeen, maar php heeft wel een paar kleine extra's. In php heb je ook posix stijl regexps (ereg*), die zijn heel anders, en hebben minder mogelijkheden. Regexps in javascript lijken er op die van perl, maar hebben veel minder mogelijkheden. De basis van regexps in .NET lijken erg op perl, maar in de geavanceerdere opties zitten grote verschillen. Dan heb je ook nog de regexps in zoekfuncties in tools as UltraEdit en Visual Studio, die zijn weer anders. En ik kwam laatst regexps tegen voor een firewall, en die waren ook weer totaal anders.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      maandag 17 maart 2008 @ 10:50:36 #24
    187069 slacker_nl
    Sicko pur sang
    pi_57427944
    quote:
    Op maandag 17 maart 2008 09:46 schreef wobbel het volgende:
    @slakkie

    Reguliere expressies zijn dus in elke programmeertaal "universeel" zeg maar?
    Niet geheel, zie het commentaar van superrembo. Er zijn verschillende types regexp engines die door de verschillende talen gebruikt worden. Dat beinvloed hoe regexpen zich gedragen. Maar aangezien PHP perl-like regexpen kent vond ik de Perl docs wel een goed uitgangspunt om te beginnen met lezen. Maar dat boek "Mastering regular expressions" behandeld bijvoorbeeld ook Java en volgens mij ook PHP (maar dit weet ik niet zeker). Dat boek heeft mij enorm geholpen met het gebruik en het beter begrijpen van reguliere expressies.

    Ik gok zo dat je 90% van de uitleg zoals in de Perl docs staat wel 1 op 1 kan toepassen in PHP. Alleen is de syntax wat anders preg_match($regexp, $input) ipv $input =~ m/$regexp/ en preg_replace($regexp, $replace, $input) ipv $input =~ s/$regexp/$replace/

    Ik heb iig geen problemen mee om m'n perl regexp kennis te misbruiken in PHP, aangezien de regexp syntax van perl afgekeken is.

    En hier nog wat cheatsheets:
    http://www.ilovejackdanie(...)essions-cheat-sheet/
    http://www.scottklarr.com(...)ssions-cheat-sheets/

    Zie ook: http://nl2.php.net/manual/en/ref.pcre.php
    In theory there is no difference between theory and practice. In practice there is.
    pi_57437600
    heb hem

    [ Bericht 48% gewijzigd door Qunix op 17-03-2008 20:31:27 ]
    pi_57439861
    quote:
    Op zondag 16 maart 2008 23:38 schreef wobbel het volgende:

    [..]

    zou normaal gesproken moeten werken, omdat je niet buiten je eigen map komt.

    /home/domeinnaam/subdomain/backoffice
    /home/domeinnaam/subdomain/foto

    Je blijft in je eigen map "domeinnaam" dus er zou in princiepe niks fout moeten gaan

    = edit =

    Dat had ook wel in 1 reactie gekund
    Tuurlijk stom, het subdomain verschijnt als map in de root. En daar kan je altijd naar schrijven.
    Thnx, soms is het zoooooooo simpel....
    pi_57470932
    Hoe maak je een script wat laat zien hoeveel leden er online zijn en hoeveel gasten?

    Het gedeelte om te zien hoeveel leden er online zijn is simpel:
    - Bij iedere request op de website een UPDATE uitvoeren op 'last_online'.
    - Een query uitvoeren met met sorteren op alle `last_online` van de laatste 5 minuten.

    Echter hoe doe je het met gasten? Zij zitten niet in de userbase.
    ne okuyon, bokmu var?
      woensdag 19 maart 2008 @ 13:41:17 #28
    187069 slacker_nl
    Sicko pur sang
    pi_57475218
    Cookie zetten, IP loggen en dat vergelijken met je userbase. Als het niet in je userbase zit == gast en kan je de hoeveelheden optellen.. Lijkt me.
    In theory there is no difference between theory and practice. In practice there is.
    pi_57482406
    Cookie? waarom niet een sessie? userid=0 en ip=ip
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_57483243
    Ja maar hoe kan ik meten hoeveel gasten er online zijn?

    /edit
    Ik kan natuurlijk checken of het een lid is, zo niet, de IP en de tijd van de gast opslaan in de database.
    Met een cronjob om de 10 minuten alle records verwijderen welke ouders zijn dan 10 minuten, zo hou ik alleen de records over van binnen de 10 minuten.

    Echter vind ik dat omslachtig, moet toch een logischer manier zijn?
    ne okuyon, bokmu var?
    pi_57485575
    Nee, dit is de manier
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_57486241
    quote:
    Op woensdag 19 maart 2008 21:16 schreef Chandler het volgende:
    Nee, dit is de manier
    Valt mee dan mezelf, ik kan dus toch nog wel een beetje logisch denken
    ne okuyon, bokmu var?
    pi_57488000
    Om het resterend aantal minuten wat duidelijker te maken heb ik het volgende geschreven om "xxxx minutes remaining" om te toveren naar "1 month, 13 days and 12 seconds remaining".

    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
    <?php
            
        
    if ($runtime 0){
        
            
    $divider ", ";
            
    $divider_last " and ";
            
            
    $parts = array();
            
    $entities = array(    array(    "singular" => "month",
                                        
    "plural" => "months",
                                        
    "minutes" => 60 24 31),
                                        
                                array(    
    "singular" => "day",
                                        
    "plural" => "days",
                                        
    "minutes" => 60 24),
                                        
                                array(    
    "singular" => "hour",
                                        
    "plural" => "hours",
                                        
    "minutes" => 60),
                                        
                                array(    
    "singular" "minute",
                                        
    "plural" => "minutes",
                                        
    "minutes" => 1)    );
                                        
            
            foreach (
    $entities as $entity){
                
    $value floor($runtime $entity["minutes"]);
            
                if (
    $value){
                    
    $parts[] = sprintf(    "%d %s"
                                        
    $value
                                        (
    $value 1) ? $entity["plural"] : $entity["singular"]    );
                    
                }
                                        
                
    $runtime $runtime $entity["minutes"];
            }
                    
            
    $html_parts implode($divider$parts);
            
            if (
    sizeof($parts) > 1) {
                
    $html_parts substr_replace(    $html_parts
                                                
    $divider_last
                                                
    strrpos($html_parts$divider), 
                                                
    strlen($divider)    );
            }
            
            return 
    $html_parts;
        }
    ?>


    Iemand nog tips of aanmerkingen? Ik namelijk dat het goed werkt, en ondanks ik het getest heb ben ik bang dat ik een wiskundige fout heb gemaakt. :)
      woensdag 19 maart 2008 @ 22:30:01 #34
    62215 qu63
    ..de tijd drinkt..
    pi_57488244
    quote:
    Op woensdag 19 maart 2008 22:24 schreef Geqxon het volgende:
    Om het resterend aantal minuten wat duidelijker te maken heb ik het volgende geschreven om "xxxx minutes remaining" om te toveren naar "1 month, 13 days and 12 seconds remaining".
    [ code verwijderd ]

    Iemand nog tips of aanmerkingen? Ik namelijk dat het goed werkt, en ondanks ik het getest heb ben ik bang dat ik een wiskundige fout heb gemaakt. :)
    Ik gebruikte dit op mijn website:
    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
    <?php
    function datediff($start_date,$end_date="now",$unit="D")
            {
                
    $unit strtoupper($unit);
                
    $start=strtotime($start_date);
                if (
    $start === -1) {
                    print(
    "invalid start date");
                }
                
                
    $end=strtotime($end_date);            
                if (
    $end === -1) {
                    print(
    "invalid end date");
                }
                
                if (
    $start $end) {
                    
    $temp $start;
                    
    $start $end;
                    
    $end $temp;
                }
                
                
    $diff $end-$start;
                
                
    $day1 date("j"$start);
                
    $mon1 date("n"$start);
                
    $year1 date("Y"$start);
                
    $day2 date("j"$end);
                
    $mon2 date("n"$end);
                
    $year2 date("Y"$end);
                
                switch(
    $unit) {
                    case 
    "D":
                        echo 
    intval($diff/(24*60*60));
                        break;
                    case 
    "M":
                        if(
    $day1>$day2) {
                            
    $mdiff = (($year2-$year1)*12)+($mon2-$mon1-1);
                        } else {
                            
    $mdiff = (($year2-$year1)*12)+($mon2-$mon1);
                        }
                        echo 
    $mdiff;
                        break;
                    case 
    "Y":
                        if((
    $mon1>$mon2) || (($mon1==$mon2) && ($day1>$day2))){
                            
    $ydiff $year2-$year1-1;
                        } else {
                            
    $ydiff $year2-$year1;
                        }
                        echo 
    $ydiff;
                        break;
                    case 
    "YM":
                        if(
    $day1>$day2) {
                            if(
    $mon1>=$mon2) {
                                
    $ymdiff 12+($mon2-$mon1-1);
                            } else {
                                
    $ymdiff $mon2-$mon1-1;
                            }
                        } else {
                            if(
    $mon1>$mon2) {
                                
    $ymdiff 12+($mon2-$mon1);
                            } else {
                                
    $ymdiff $mon2-$mon1;
                            }
                        }
                        echo 
    $ymdiff;
                        break;
                    case 
    "YD":
                        if((
    $mon1>$mon2) || (($mon1==$mon2) &&($day1>$day2))) {
                            
    $yddiff intval(($end mktime(000$mon1$day1$year2-1))/(24*60*60));                        
                        } else {
                            
    $yddiff intval(($end mktime(000$mon1$day1$year2))/(24*60*60));
                        }
                        echo 
    $yddiff;
                        break;
                    case 
    "MD":
                        if(
    $day1>$day2) {
                            
    $mddiff intval(($end mktime(000$mon2-1$day1$year2))/(24*60*60));                        
                        } else {
                            
    $mddiff intval(($end mktime(000$mon2$day1$year2))/(24*60*60));
                        }
                        echo 
    $mddiff;
                        break;
                    default:
                     print(
    "{Datedif Error: Unrecognized \$unit parameter. Valid values are 'Y', 'M', 'D', 'YM'. Default is 'D'.}");
                    
                }

            }
    ?>
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_57491533
    edit

    opgelost

    [ Bericht 42% gewijzigd door Qunix op 20-03-2008 00:58:39 ]
    pi_57494563
    quote:
    Op woensdag 19 maart 2008 19:13 schreef Chandler het volgende:
    Cookie? waarom niet een sessie? userid=0 en ip=ip
    Sessies worden toch in een cookie bewaard of niet?
    pi_57496550
    Kan iemand mij helpen om de volgende code goed te schrijven:
    Ik heb een include script gebruikt om alle pagina's dynamisch te krijgen.
    Het menu (boven aan de site) heeft 4 kopjes, daarvan wil ik dat 2 kopjes weer een extra menu krijgen. (zijkant)

    Hoe kan ik dat het best oplossen met php?
    Met if / else / include?

    Ik had zelf gedacht aan zoiets:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    if personal.php {
     include(
    "mennu_personal.php");
    }

    if 
    portfolio.php {
     include(
    menu_portfolio.php");
    }

    else {
     leave blank
    }
    ?>


    De code klopt niet, dat weet ik, maar het gaat om het principe.
    pi_57497451
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    switch ($_GET['page']) {
      case 
    "personal":
        
    $inc_page "inc/menu_personal.inc.php";
        break;
      case 
    "portfolio":
        
    $inc_page "inc/menu_portfolio.inc.php";
        break;
      default:
        
    $inc_page "inc/menu_default.inc.php";
    }

    include 
    $inc_page;
    ?>
    ne okuyon, bokmu var?
    pi_57497524
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    <a href="page.php&personal=do">personal</a><br />
    <
    a href="page.php&portfolio=do">portfolio</a>

    if(isset([
    'personal'])) {
        include(
    "personal.php");
    }
    elseif(isset([
    'portfolio'])) {
        include(
    'portfolio.php');
    }

    //Of je doet iets met:
    echo $_SERVER[PHP_SELF];
    ?>


    [ Bericht 11% gewijzigd door Tarabass op 20-03-2008 15:30:54 ]
    pi_57499504
    quote:
    Op donderdag 20 maart 2008 12:12 schreef Tarabass het volgende:

    [ code verwijderd ]
    Ik zou je code eens goed nakijken
    ne okuyon, bokmu var?
    pi_57500974
    quote:
    Op donderdag 20 maart 2008 12:10 schreef saban het volgende:

    [ code verwijderd ]
    Dat werkt perfect! Dank u!!
    pi_57501473
    quote:
    Op donderdag 20 maart 2008 09:48 schreef slakkie het volgende:

    [..]

    Sessies worden toch in een cookie bewaard of niet?
    Sessies worden op de server bewaard. De koppeling tussen sessie en gebruiker (sessie-id) wordt meestal in een cookie bij de gebruiker opgeslagen.
      donderdag 20 maart 2008 @ 18:23:34 #43
    37634 wobbel
    Da WoBBeL King
    pi_57504924
    Deze regex zorgt ervoor dat ik alleen a-z/A-Z/0-9 karakters mogen, maar hoe zorg ik ervoor dat de _ (underscore) en de . (punt) ook worden teogestaan?

    Regex die ik nu heb:
    $SQL_BestandsNaam = preg_replace("/[^a-zA-Z0-9]/", "", $SQL_BestandsNaam);

    moet dus ook _ en . toelaten
    pi_57505352
    quote:
    Op donderdag 20 maart 2008 18:23 schreef wobbel het volgende:
    Deze regex zorgt ervoor dat ik alleen a-z/A-Z/0-9 karakters mogen, maar hoe zorg ik ervoor dat de _ (underscore) en de . (punt) ook worden teogestaan?

    Regex die ik nu heb:
    $SQL_BestandsNaam = preg_replace("/[^a-zA-Z0-9]/", "", $SQL_BestandsNaam);

    moet dus ook _ en . toelaten :)
    1
    2
    3
    <?php
    $SQL_BestandsNaam 
    preg_replace("/[^a-zA-Z0-9]_\./"""$SQL_BestandsNaam);
    ?>
      donderdag 20 maart 2008 @ 19:47:29 #45
    71919 wonderer
    Hung like a My Little Pony
    pi_57506630
    Als ik dit heb:
    1
    2
    3
    4
    1    david    3
    2    david    5
    3    joris     4
    4    arjan    4


    met welke query kan ik dan het totaal van alles wat david (8 dus) eruit krijgen? Daar is vast wel een handigheidje voor...
    "Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
    "My brain is too smart for me."
    "We don't need no education." "Yes you do, you just used a double negative."
    pi_57508225
    quote:
    Op donderdag 20 maart 2008 19:47 schreef wonderer het volgende:
    Als ik dit heb:
    [ code verwijderd ]

    met welke query kan ik dan het totaal van alles wat david (8 dus) eruit krijgen? Daar is vast wel een handigheidje voor...
    SELECT naam, sum(punten) as totaal FROM table WHERE naam = "david" GROUP BY naam
      donderdag 20 maart 2008 @ 21:17:52 #47
    71919 wonderer
    Hung like a My Little Pony
    pi_57508771
    quote:
    Op donderdag 20 maart 2008 20:54 schreef Light het volgende:

    [..]

    SELECT naam, sum(punten) as totaal FROM table WHERE naam = "david" GROUP BY naam
    Dank u wel!

    Scheelt me weer twee uur geprobeeer
    "Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
    "My brain is too smart for me."
    "We don't need no education." "Yes you do, you just used a double negative."
      vrijdag 21 maart 2008 @ 15:40:38 #48
    32768 DionysuZ
    Respect my authority!
    pi_57522087
    zo heb je naast SUM ook COUNT,MAX,MIN,AVG, in combinatie met GROUP by =) =)
    □ 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
      vrijdag 21 maart 2008 @ 16:05:22 #49
    71919 wonderer
    Hung like a My Little Pony
    pi_57522545
    Ik kende de "sum" enzo wel, maar het was me waarschijnlijk compleet ontschoten dat er nog een "group by" bij zou moeten.

    Waarom moet dat eigenlijk? (als ik het begrijp, is het makkelijker te onthouden).
    "Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
    "My brain is too smart for me."
    "We don't need no education." "Yes you do, you just used a double negative."
      vrijdag 21 maart 2008 @ 17:11:46 #50
    32768 DionysuZ
    Respect my authority!
    pi_57523573
    quote:
    Op vrijdag 21 maart 2008 16:05 schreef wonderer het volgende:
    Ik kende de "sum" enzo wel, maar het was me waarschijnlijk compleet ontschoten dat er nog een "group by" bij zou moeten.

    Waarom moet dat eigenlijk? (als ik het begrijp, is het makkelijker te onthouden).
    group by doet eigenlijk al wat het zegt: het groepeert.

    Zonder group by zou een functie als sum of count op alle kolommen toegepast worden. Maar vaak wil je de sum of de count van bepaalde groepen/kolommen.

    Klein voorbeeldje:

    1
    2
    3
    4
    5
    6
      nickname  |  aantal_posts  |  topic_id

    * wonderer     5                1134706
    * DionysuZ     10               1134706
    * wonderer     2                221341
    * bla          25               2131441


    En we willen het totaal aantal posts weten voor iedere persoon.

    Voeren we nu de volgende query uit:

    SELECT nickname, SUM(aantal_posts) FROM tabel

    Dan is het resultaat:
    1
    2
    3
    4
    5
    6
      nickname  |  SUM(aantal_posts)

    * wonderer     42          
    * DionysuZ     42         
    * wonderer     42          
    * bla          42              

    Zoals je ziet wordt de som genomen van de volledige kolom, ipv de waarden die je wilt hebben. Daar hebben we de GROUP BY constructie voor:

    SELECT nickname, SUM(aantal_posts) FROM tabel GROUP BY nickname
    1
    2
    3
    4
    5
      nickname  |  SUM(aantal_posts)

    * wonderer     7          
    * DionysuZ     10         
    * bla          25              
    □ 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
      vrijdag 21 maart 2008 @ 17:25:07 #51
    71919 wonderer
    Hung like a My Little Pony
    pi_57523782
    Hah! Dank je wel, heel helder.
    "Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
    "My brain is too smart for me."
    "We don't need no education." "Yes you do, you just used a double negative."
    pi_57524745
    Omdat ik er niet meer uit kom vraag ik het hier maar.
    Ik ben bezig voor het FOK Whatpulse team de subteams stats te maken,
    echter heb ik sinds gisteren last van een heel vreemd probleem,
    namelijk de getallen (keys) lopen niet meer van hoog naar laag maar allemaal door elkaar

    Misschien wel handige informatie:
    Mysql Query
    1
    2
    3
    4
    <?php
    $query 
    "SELECT teamnaam ,COUNT(naam),SUM(keyz), SUM(clicks), SUM(miles) FROM team1 GROUP BY teamnaam ORDER BY keyz DESC"
    $result mysql_query($query) or die(mysql_error());
    ?>


    Het draaiende script is te vinden op http://thuis.w8effe.nl/pulse/

    Mocht er nog meer code benodigd zijn laat het even weten
    Typ mee! FOK!Whatpulse
    PSN OnlineID: LightLuke92
      vrijdag 21 maart 2008 @ 18:57:25 #53
    71919 wonderer
    Hung like a My Little Pony
    pi_57525374
    Gokje:

    SUM(keyz) AS total_keyz (...) ORDER BY total_keyz

    ?
    "Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
    "My brain is too smart for me."
    "We don't need no education." "Yes you do, you just used a double negative."
    pi_57525468
    quote:
    Op vrijdag 21 maart 2008 18:57 schreef wonderer het volgende:
    Gokje:

    SUM(keyz) AS total_keyz (...) ORDER BY total_keyz

    ?
    Goed gegokt
    Ontzettend bedankt
    Typ mee! FOK!Whatpulse
    PSN OnlineID: LightLuke92
    pi_57597976
    Is het mogelijk om via PHP de laatste changes uit een SVN repository te lezen? Ik kon er op Google niet veel nuttigs over vinden.
    pi_57601685
    Ok, ik ga een poging doen tot het maken van een mySQL database. TVP dus.
    pi_57606324
    Vraagje,
    hoe zit het eigenlijk met de veiligheid/beveiliging van een mySQL database?

    Kunnen de gegevens daarin alleen opgeroepen worden door mijn eigen scripts? En moet ik extra voorzorgsmaatregelen nemen om te zorgen dat mensen niet via een externe site/script mijn database kunnen aanpassen?

    Passwords en eventuele encryptie wacht ik denk ik nog maar even mee
      dinsdag 25 maart 2008 @ 22:27:22 #58
    37634 wobbel
    Da WoBBeL King
    pi_57610529
    quote:
    Op dinsdag 25 maart 2008 19:47 schreef mcDavid het volgende:
    Vraagje,
    hoe zit het eigenlijk met de veiligheid/beveiliging van een mySQL database?

    Kunnen de gegevens daarin alleen opgeroepen worden door mijn eigen scripts? En moet ik extra voorzorgsmaatregelen nemen om te zorgen dat mensen niet via een externe site/script mijn database kunnen aanpassen?

    Passwords en eventuele encryptie wacht ik denk ik nog maar even mee
    niemand kan daar in princiepe van buitenaf bij (de meeste servers staan alleen connecties van de lokale machine toe)
      dinsdag 25 maart 2008 @ 22:39:05 #59
    85919 Likkende_Lassie
    Doe eens wat aan je ondertitel
    pi_57610853
    en zijn er vaak leks met phpmyadmin?
    pi_57611506
    Mijn webhost heeft wel phpmyadmin geinstalleerd staan. Maar ik denk dat ik er toch maar vanuit kan gaan dat dat veilig genoeg is.
    Voor zover ik het begrijp hoef ik me dus geen zorgen te maken over mijn databases, zolang de pagina's met scripts om de boel te bewerken maar goed beveiligd zijn.
    pi_57623254
    Ik ben op zoek naar smilies. Nu zijn er voldoende smilies te vinden op het web. Maar ik zie nergens een complete array met smilies, compleet met test-shortcut
    Waar vind ik zulks? De bijbehorende functie om in een tekst te veranderen naar een plaatje is niet moeilijk (te vinden)
    Dit idee
    = smilie.gif
    = wink.gif
    = sad.gif
      woensdag 26 maart 2008 @ 17:59:03 #62
    187069 slacker_nl
    Sicko pur sang
    pi_57626853
    Wat dacht je van een hash:

    my %hash = ( ':)' => smiley.gif );

    In PHP syntax:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $smileys = array(
        ':)' => "smiley.gif", 
        ':(' => 'sad.gif', 
        'etc' => 'etc.gif',
    );

    # En dan verder op in je code.. 

    function get_smiley($key) {
        if (array_key_exists($key, $smileys)) {
            print "$smileys[$key]\n"; 
        }
    }


    Als je hier dan een object van maakt kan je die daarna overal gebruiken.

    [ Bericht 39% gewijzigd door slacker_nl op 26-03-2008 18:11:14 ]
    In theory there is no difference between theory and practice. In practice there is.
    pi_57629948
    quote:
    Op woensdag 26 maart 2008 17:59 schreef slacker_nl het volgende:
    Wat dacht je van een hash:

    my %hash = ( ':)' => smiley.gif );

    In PHP syntax:
    [ code verwijderd ]

    Als je hier dan een object van maakt kan je die daarna overal gebruiken.
    Ik redt me met het scripten van smilies, da's geen probleem.

    Maar ik zoek de plaatjes, compleet met de bijbehorende tekst-tekens. Die heb ik nodig, niet de code. De plaatje smet de tekens.
    pi_57632133
    volgens mij zit je dan in een verkeerd topic..
    pi_57632445
    quote:
    Op woensdag 26 maart 200820:01 schreef beerten het volgende:

    [..]

    Ik redt me met het scripten van smilies, da's geen probleem.

    Maar ik zoek de plaatjes, compleet met de bijbehorende tekst-tekens. Die heb ik nodig, niet de code. De plaatje smet de tekens.
    In de tijd die je tot nu toe aan zoeken besteed hebt had je al 20 van die arrays zelf kunnen typen.
      woensdag 26 maart 2008 @ 21:40:08 #66
    62215 qu63
    ..de tijd drinkt..
    pi_57633133
    quote:
    Op woensdag 26 maart 2008 20:01 schreef beerten het volgende:

    [..]

    Ik redt me met het scripten van smilies, da's geen probleem.

    Maar ik zoek de plaatjes, compleet met de bijbehorende tekst-tekens. Die heb ik nodig, niet de code. De plaatje smet de tekens.
    sla alle plaatjes op de je hier kunt vinden: http://forum.fok.nl/rde/post_reply/1134706
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_57635644
    quote:
    Op woensdag 26 maart 2008 21:40 schreef qu63 het volgende:

    [..]

    sla alle plaatjes op de je hier kunt vinden: http://forum.fok.nl/rde/post_reply/1134706

    zo blond ben ik ook niet. Wat the fuck zijn alle tekencombinaties?
    Daar moeten toch ergens kant en klare arrays op een site staan die ik kan knippen en plakken, compleet met een zipje met smilies?
      woensdag 26 maart 2008 @ 22:50:33 #68
    62215 qu63
    ..de tijd drinkt..
    pi_57635748
    quote:
    Op woensdag 26 maart 2008 22:47 schreef beerten het volgende:

    [..]

    zo blond ben ik ook niet. Wat the fuck zijn alle tekencombinaties?
    Daar moeten toch ergens kant en klare arrays op een site staan die ik kan knippen en plakken, compleet met een zipje met smilies?
    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
    <?php
    # De smilies
       
    $smiliesDir "images/"
        
    // locatie van de smilies, verander het naar jouw website url!!! Sluit af met /
       
    $smilies = array(':)'    =>    "smile.gif"            ,
                           
    ':D'    =>    "biggrin.gif"        ,
                        
    '_O-'    =>    "schater.gif "        ,
                        
    ':\')'    =>    "emo.gif"            ,
                        
    '>:)'    =>    "devil.gif"            ,
                        
    '})'    =>    "devilish.gif"        ,
                        
    'O-)'    =>    "hypocrite.gif"        ,
                        
    '*)'    =>    "shiny.gif"            ,
                        
    ':P'    =>    "puh2.gif"            ,
                        
    ':9~'    =>    "kwijl.gif"            ,
                        
    ':9'    =>    "yummie.gif"        ,
                        
    ';)'    =>    "wink.gif"            ,
                        
    ':7'    =>    "loveit.gif"        ,
                        
    ':+'    =>    "clown.gif"            ,
                        
    '*)'    =>    "coool.gif"            ,
                        
    'B-)'    =>    "shadey.gif"        ,
                        
    ':Y)'    =>    "vork.gif"            ,
                        
    ':z'    =>    "sleephappy.gif"    ,
                        
    ':W'    =>    "bye.gif"            ,
                        
    '*O*'    =>    "static.gif"        ,
                        
    '~O>'    =>    "swhip.gif"            ,
                        
    ':s)'    =>    "spinsmile.gif"        ,
                        
    '^O^'    =>    "thumbsup.gif"        ,
                        
    '_O_'    =>    "worshippy.gif"        ,
                        
    '|:('    =>    "frusty.gif"        ,
                        
    ':('    =>    "frown.gif"            ,
                        
    ':r'    =>    "pukey.gif"            ,
                        
    '-O-'    =>    "nopompom.gif"        ,
                        
    ':{'    =>    "nosmile.gif"        ,
                        
    ':{w'    =>    "we.gif"            ,
                        
    ':O'    =>    "yawnee.gif"        ,
                        
    ':Z'    =>    "sleepey.gif"        ,
                        
    '}:|'    =>    "sm_eerie.gif"        ,
                        
    ':\'('    =>    "cry.gif"            ,
                        
    ';('    =>    "sadley.gif"        ,
                        
    '):O'    =>    "rc5.gif"            ,
                        
    ':6'    =>    "bupatih.gif"        ,
                        
    ':N'    =>    "nooo.gif"            ,
                        
    ':Y'    =>    "yes_new.gif"        ,
                        
    ':X'    =>    "shutup.gif"        ,
                        
    ':?'    =>    "confused.gif"        ,
                        
    ':o'    =>    "redface.gif"        ,
                        
    '8)7'    =>    "bonk.gif"            ,
                        
    ':@'    =>    "bloos.gif"            ,
                        
    'c_/'    =>    "koffie.gif"        ,
                        
    'oO<'    =>    "chicksmiley.gif"    ,
                        
    '(8>'    =>    "michel.gif"        ,
                        
    'O+'    =>    "heart.gif"            ,
                        
    ':*'    =>    "puh.gif"            ,
                        
    '*;'    =>    "loveys.gif"        ,
                        
    '^)'    =>    "marrysmile.gif"    ,
                        
    'o|O'    =>    "sbatje.gif"        ,
                        );

                        
    ## Alle smilie codes vervangen en $bericht wijzigen
                        
    foreach ($smilies AS $find => $character)
                        {
                           
    $bericht str_replace(htmlentities($find), "<img src=\"images\\".$character ."\" />"$bericht);
                        }
    ?>

    alsje, plaatjes zoek je zelf maar. Ze komen toch allemaal van fok
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_57636907
    is copyrighted heh
      donderdag 27 maart 2008 @ 01:31:51 #70
    62215 qu63
    ..de tijd drinkt..
    pi_57639586
    wat doe ik fout in deze query?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    if(isset($_POST['submit'])){
            
    $user1 mysql_real_escape_string($_POST['user1']);
            
    $van_datum mysql_real_escape_string($_POST['van_datum']);
            
    $naar_datum mysql_real_escape_string($_POST['naar_datum']);
            
    $van_plaats mysql_real_escape_string($_POST['van_plaats']);
            
    $naar_plaats mysql_real_escape_string($_POST['naar_plaats']);
            
    $km mysql_real_escape_string($_POST['km']);
            
    $prijs mysql_real_escape_string($_POST['prijs']);
            
    $pax mysql_real_escape_string($_POST['pax']);
            
    $q "INSERT INTO rit (user1, van_datum, naar_datum, van_plaats, naar_plaats, km, prijs, pax) 
                VALUES ('"
    .$user1."','".$van_datum."','".$naar_datum."','".$van_plaats."','".$naar_plaats."','".$km."','".$prijs."','".$pax."')";
                
    mysql_query($q) or die(mysql_errno());
    ?>
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_57640433
    Ten eerste, maak je queries overzichtelijk

    bv

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $q = "INSERT INTO rit (user1, van_datum, naar_datum, van_plaats, naar_plaats, km, prijs, pax)
          VALUES ('" . $user1 . "',
                  '" . $van_datum . "',
                  '" . $naar_datum . "',
                  '" . $van_plaats . "',
                  '" . $naar_plaats . "',
                  '" . $km . "',
                  '" . $prijs . "',
                  '" . $pax . "')";
    mysql_query($q) or die(mysql_errno());


    en vertel eens wat er fout gaat? krijg je een error? want je query op zich bevat geen fouten :)
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_57640830
    quote:
    Op donderdag 27 maart 2008 07:21 schreef Chandler het volgende:
    Ten eerste, maak je queries overzichtelijk

    bv
    [ code verwijderd ]

    en vertel eens wat er fout gaat? krijg je een error? want je query op zich bevat geen fouten
    Als je het dan toch overzichtelijk wilt maken, maak dan gebruik van sprintf. Dan heb je niet die "lelijke" . $string . "constructie".

    1
    2
    3
    4
    5
    $q = sprintf("INSERT INTO rit (user1, van_datum, naar_datum, van_plaats, naar_plaats, km, 
      prijs, pax) VALUES ( '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' )", 
      $user, $van_date, $naar_date, $van_plaats, $naar_plaats, $km, $prijs, $pax);

    # More code here... 
      donderdag 27 maart 2008 @ 09:40:40 #73
    32768 DionysuZ
    Respect my authority!
    pi_57641788
    ik zou even checken of alle velden die je wilt vullen wel echt die naam hebben. Bijvoorbeeld als veld user1 in de db user heet dan gaat je query al niet door.
    □ 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
      donderdag 27 maart 2008 @ 09:51:14 #74
    62215 qu63
    ..de tijd drinkt..
    pi_57641958
    quote:
    Op donderdag 27 maart 2008 09:40 schreef DionysuZ het volgende:
    ik zou even checken of alle velden die je wilt vullen wel echt die naam hebben. Bijvoorbeeld als veld user1 in de db user heet dan gaat je query al niet door.
    dat klopt allemaal
    quote:
    Op donderdag 27 maart 2008 07:21 schreef Chandler het volgende:
    Vertel eens wat er fout gaat? krijg je een error? want je query op zich bevat geen fouten
    Ik krijg niks te zien, gewoon een lege pagina. Er wordt niks toegevoegd in mn database, en als ik de query weg laat krijg ik de pagina wel te zien
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      donderdag 27 maart 2008 @ 10:13:02 #75
    187069 slacker_nl
    Sicko pur sang
    pi_57642254
    Wat gebeurd er als je die insert statement direct in mysql invoert (dus niet via PHP)?

    Heeft je user waarmee je deze wijzigingen wilt doen wel de juiste rechten? Check de mysql.users table hiervoor.

    [ Bericht 41% gewijzigd door slacker_nl op 27-03-2008 10:21:33 ]
    In theory there is no difference between theory and practice. In practice there is.
      donderdag 27 maart 2008 @ 10:49:58 #76
    62215 qu63
    ..de tijd drinkt..
    pi_57642992
    quote:
    Op donderdag 27 maart 2008 10:13 schreef slacker_nl het volgende:
    Wat gebeurd er als je die insert statement direct in mysql invoert (dus niet via PHP)?

    Heeft je user waarmee je deze wijzigingen wilt doen wel de juiste rechten? Check de mysql.users table hiervoor.
    user is root, dus die heeft wel de juiste rechten

    foutje(s) zaten in het feit dat er ook nog een user2 was die niet leeg mocht zijn, en ik voer verkeerde datetime velden in, dus dat moet ik nog ff uitzoeken

    alleen weet ik nog niet of dat alle foutjes waren omdat mn server niets meer doet

    Behalve pagina's zoeken en na heeel lang een error 500 geven
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      donderdag 27 maart 2008 @ 11:36:53 #77
    62215 qu63
    ..de tijd drinkt..
    pi_57643943
    damn, mn server werkt op zich goed, behalve als die query
    1
    2
    INSERT INTO rit (user1, van_datum, naar_datum, van_plaats, naar_plaats, km, prijs, pax) 
             VALUES ('user1','2008-27-03 21:30:00',2008-27-03 22:30:00','van_plaats','naar_plaats','km','prijs','pax')

    uitgevoerd moet worden, dan krijg ik een error 500 -O-
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      donderdag 27 maart 2008 @ 11:37:13 #78
    187069 slacker_nl
    Sicko pur sang
    pi_57643953
    Heb een SQL vraag (DB is Oracle en geen MySQL).

    Uitganspunt:
    1
    2
    3
    4
    5
    6
    7
    create table test_me (
            reg_date                        varchar2(20),
            reg_user                        varchar2(20)
    );

    INSERT INTO test_me (reg_date, reg_user) VALUES ('20080101', 'username');
    INSERT INTO test_me (reg_date, reg_user) VALUES ('20080303', 'username');


    Nu wil ik alleen het record hebben met de grootste reg_date. Hoe krijg ik dit voor elkaar?

    Nu heb ik het heel simplistisch proberen te doen met de volgende query:

    1select reg_user, reg_date from test_me where reg_user = reg_user and reg_date > reg_date;


    Maar dit werkt niet zoals ik had gehoopt (mijn hoop was, hij fetched de 2 rows, en kan dan per row gaan checken of reg_date groter is aan de andere entry). Maar dat gebeurd dus niet..

    Iemand een idee hoe ik dit wel kan bereiken?
    In theory there is no difference between theory and practice. In practice there is.
      donderdag 27 maart 2008 @ 11:38:59 #79
    62215 qu63
    ..de tijd drinkt..
    pi_57644004
    quote:
    Op donderdag 27 maart 2008 11:36 schreef qu63 het volgende:
    damn, mn server werkt op zich goed, behalve als die query
    [ code verwijderd ]

    uitgevoerd moet worden, dan krijg ik een error 500
    er miste een '
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      donderdag 27 maart 2008 @ 11:39:21 #80
    187069 slacker_nl
    Sicko pur sang
    pi_57644007
    quote:
    Op donderdag 27 maart 2008 11:36 schreef qu63 het volgende:
    damn, mn server werkt op zich goed, behalve als die query
    [ code verwijderd ]

    uitgevoerd moet worden, dan krijg ik een error 500
    Apache geeft een 500 error? of mysql?

    Als je nou eerst zorgt dat je die query kan draaien buiten PHP om dan ben je half way there.
    In theory there is no difference between theory and practice. In practice there is.
      donderdag 27 maart 2008 @ 11:40:55 #81
    62215 qu63
    ..de tijd drinkt..
    pi_57644047
    quote:
    Op donderdag 27 maart 2008 11:39 schreef slacker_nl het volgende:

    [..]

    Apache geeft een 500 error? of mysql?

    Als je nou eerst zorgt dat je die query kan draaien buiten PHP om dan ben je half way there.
    ik draaide de query via phpmyadmin, en mn server (abyss) gaf de error 500 ja
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      donderdag 27 maart 2008 @ 11:49:06 #82
    62215 qu63
    ..de tijd drinkt..
    pi_57644228
    Hmz, fout lijkt te zitten in het feit dat ik 3 input-velden disabled heb, en dat die waarden dus niet verstuurd worden
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      donderdag 27 maart 2008 @ 11:54:43 #83
    62215 qu63
    ..de tijd drinkt..
    pi_57644348
    quote:
    Op donderdag 27 maart 2008 11:49 schreef qu63 het volgende:
    Hmz, fout lijkt te zitten in het feit dat ik 3 input-velden disabled heb, en dat die waarden dus niet verstuurd worden
    readonly does the trick!
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_57649623
    Mijn vraag betreft niet MySQL maar MS SQL, maar wellicht dat jullie het toch wel weten.

    Ik heb een tabel. Eén van de kolommen bevat een CHECK-constraint, deze constraint moet ervoor zorgen dat bij bepaalde waarde, bijvoorbeeld als er in deze kolom de waarde "A" voorkomt, dat er gecheckt wordt dat in een andere kolom van dezelfde tupel, de waarde groter moet zijn dan bijvoorbeeld "300".

    Waar ik zelf aan dacht is dat je een soort if-lus maken in de check, alleen dat is niet mogelijk... Voor de rest heb ik al bijna alle predicates geprobeerd...
    Aan dit bericht kunnen geen rechten worden ontleend.
      donderdag 27 maart 2008 @ 16:46:57 #85
    62215 qu63
    ..de tijd drinkt..
    pi_57650400
    Ik heb 2 tabellen
    - meldingen
    - user

    Nu wil ik de meldingen uitlezen, alleen daar staat dus van_id en voor_id in. Hoe kan ik er nou voor zorgen dat ik ipv van_id de naam van de persoon krijg?
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      donderdag 27 maart 2008 @ 16:54:07 #86
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_57650543
    quote:
    Op donderdag 27 maart 2008 16:46 schreef qu63 het volgende:
    Ik heb 2 tabellen
    - meldingen
    - user

    Nu wil ik de meldingen uitlezen, alleen daar staat dus van_id en voor_id in. Hoe kan ik er nou voor zorgen dat ik ipv van_id de naam van de persoon krijg?
    SELECT A.*, B.naam from meldingen A LEFT JOIN user B where A.van_id = B.voor_id
      donderdag 27 maart 2008 @ 16:58:34 #87
    62215 qu63
    ..de tijd drinkt..
    pi_57650638
    quote:
    Op donderdag 27 maart 2008 16:54 schreef ursel het volgende:

    [..]

    SELECT A.*, B.naam from meldingen A LEFT JOIN user B where A.van_id = B.voor_id
    SELECT meldingen.*, user.naam FROM meldingen meldingen LEFT JOIN user users WHERE meldingen.van_id = user.id

    In mijn geval?

    -edit-

    niet dus
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_57650699
    een query voor de tabel user erachteraan gooien, met zoiets van "SELECT username FROM user WHERE id = $van_id

    Toch?
      donderdag 27 maart 2008 @ 17:02:43 #89
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_57650725
    quote:
    Op donderdag 27 maart 2008 16:58 schreef qu63 het volgende:

    [..]

    SELECT meldingen.*, user.naam FROM meldingen meldingen LEFT JOIN user users where meldingen.van_id = user.id

    In mijn geval?
    SELECT meldingen.*, user.naam FROM meldingen LEFT JOIN user where meldingen.van_id = user.id

    De A en B zijn alleen maar voor korte notatie gebruik. Zeker als je maar een aantal velden getoont wilt hebben is het niet handig om elke keer meldingen ervoor te moeten zetten.
      donderdag 27 maart 2008 @ 17:03:57 #90
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_57650749
    quote:
    Op donderdag 27 maart 2008 17:01 schreef mcDavid het volgende:
    een query voor de tabel user erachteraan gooien, met zoiets van "SELECT username FROM user WHERE id = $van_id

    Toch?
    Waarom dubbele DB verbinding als het in 1 query ook kan??
      donderdag 27 maart 2008 @ 17:04:37 #91
    62215 qu63
    ..de tijd drinkt..
    pi_57650767
    quote:
    Op donderdag 27 maart 2008 17:02 schreef ursel het volgende:

    [..]

    SELECT meldingen.*, user.naam FROM meldingen LEFT JOIN user where meldingen.van_id = user.id

    De A en B zijn alleen maar voor korte notatie gebruik. Zeker als je maar een aantal velden getoont wilt hebben is het niet handig om elke keer meldingen ervoor te moeten zetten.
    helaas niet

    #1064 - 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 'where meldingen . van_id = user . id
    LIMIT 0, 30' at line 1
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      donderdag 27 maart 2008 @ 17:13:11 #92
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_57650927
    quote:
    Op donderdag 27 maart 2008 17:04 schreef qu63 het volgende:

    [..]

    helaas niet

    #1064 - 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 'where meldingen . van_id = user . id
    LIMIT 0, 30' at line 1
    De punt is een koppel teken. Probeer het eens met de spaties ertussenuit.
      donderdag 27 maart 2008 @ 17:13:17 #93
    187069 slacker_nl
    Sicko pur sang
    pi_57650932
    select meldingen.*, user.name from meldingen, user where meldingen.van_id = user.id
    In theory there is no difference between theory and practice. In practice there is.
      donderdag 27 maart 2008 @ 17:14:27 #94
    62215 qu63
    ..de tijd drinkt..
    pi_57650962
    quote:
    Op donderdag 27 maart 2008 17:13 schreef ursel het volgende:

    [..]

    De punt is een koppel teken. Probeer het eens met de spaties ertussenuit.
    zo heb ik em ook ingeveord, phpmyadmin plakt de spties er tussen bij de foutmelding
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      donderdag 27 maart 2008 @ 17:14:47 #95
    187069 slacker_nl
    Sicko pur sang
    pi_57650968
    en is het niet

    FROM meldingen LEFT JOIN user ON meldingen.van_id = user.id
    In theory there is no difference between theory and practice. In practice there is.
      donderdag 27 maart 2008 @ 17:20:14 #96
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_57651076
    quote:
    Op donderdag 27 maart 2008 17:14 schreef slacker_nl het volgende:
    en is het niet

    FROM meldingen LEFT JOIN user ON meldingen.van_id = user.id
    Dat ook ja..
      donderdag 27 maart 2008 @ 17:20:42 #97
    62215 qu63
    ..de tijd drinkt..
    pi_57651082
    quote:
    Op donderdag 27 maart 2008 17:13 schreef slacker_nl het volgende:
    select meldingen.*, user.name from meldingen, user where meldingen.van_id = user.id
    zo krijg ik wel resultaten, maar dan ook alle resultaten. Ik wil juist alleen de meldingen laten zien voor deze gebruiker
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      donderdag 27 maart 2008 @ 17:26:28 #98
    62215 qu63
    ..de tijd drinkt..
    pi_57651215
    quote:
    Op donderdag 27 maart 2008 17:14 schreef slacker_nl het volgende:
    en is het niet

    FROM meldingen LEFT JOIN user ON meldingen.van_id = user.id
    hmz, nogniet helemaal

    1
    2
    3
    4
    5
    6
    7
     id        van_id        voor_id        titel        inhoud        datum        gelezen        naam
    1    1    2    Titel Ongelezen    Ongelezen    1206710100    1    Jantje
    1    1    2    Titel Ongelezen    Ongelezen    1206710100    1    Hiephoi!
    2    2    1    Titel Gelezen    Gelezen    1206710100    1    NULL
    3    1    2    Titel Gelezen    Gelezen    1206621950    1    Jantje
    3    1    2    Titel Gelezen    Gelezen    1206621950    1    Hiephoi!
    4    2    1    Titel Ongelezen    Ongelezen    1206621950    0    NULL


    terwijl dit alleen in mn database staat:
    meldingen:
    1
    2
    3
    4
    5
     id        van_id        voor_id        titel        inhoud        datum        gelezen
    1     1     2     Titel Ongelezen     Ongelezen     1206710100     1
    2     2     1     Titel Gelezen     Gelezen     1206710100     1
    3     1     2     Titel Gelezen     Gelezen     1206621950     1
    4     2     1     Titel Ongelezen     Ongelezen     1206621950     0

    user
    1
    2
    3
     id        naam        inlog        ww        email        sessid
    1     Jantje     qu63     WEG     WEG     WEG
    2     Hiephoi!     admin     WEG     WEG     WEG
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      donderdag 27 maart 2008 @ 18:54:33 #99
    62215 qu63
    ..de tijd drinkt..
    pi_57653130
    Ik snap er nog minder van nu -O-

    sql-query:
    1
    2
    3
    4
    5
    6
    <?php
    $q 
    "SELECT * FROM meldingen";
    $res=mysql_query($q);
    $berichten mysql_fetch_array($res);
    print_r($berichten);
    ?>

    Er staan 4 rijen in mn tabel, maar de enige output is dit:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Array
    (
        [0] => 1
        [id] => 1
        [1] => 1
        [van_id] => 1
        [2] => 2
        [voor_id] => 2
        [3] => Titel Ongelezen
        [titel] => Titel Ongelezen
        [4] => Ongelezen
        [inhoud] => Ongelezen
        [5] => 1206710100
        [datum] => 1206710100
        [6] => 1
        [gelezen] => 1
    )


    Wat gaat er nou allemaal fout hier :?
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_57653218
    quote:
    Op donderdag 27 maart 200817:03 schreef ursel het volgende:

    [..]

    Waarom dubbele DB verbinding als het in 1 query ook kan??
    ja sorry, ik heb tot nu toe in mijn hele leven 3 query's gebouwd (de eerste eergisteren)
    pi_57653496
    quote:
    Op donderdag 27 maart 2008 18:54 schreef qu63 het volgende:
    Ik snap er nog minder van nu

    sql-query:
    [ code verwijderd ]

    Er staan 4 rijen in mn tabel, maar de enige output is dit:
    [ code verwijderd ]

    Wat gaat er nou allemaal fout hier
    Het haalt zowel de associatieve array op als de nummerieke. Je moet even specificeren welke wordt weergegeven

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    $q = "SELECT * FROM meldingen";
    $res=mysql_query($q);
    $i=0;
    while($berichten = mysql_fetch_array($res))
     {
      print $berichten[$i];
      $i++;
     }
    ?>


    Zo zou het wel moeten werken.
      donderdag 27 maart 2008 @ 19:13:39 #102
    62215 qu63
    ..de tijd drinkt..
    pi_57653626
    quote:
    Op donderdag 27 maart 2008 19:08 schreef beerten het volgende:

    [..]

    Het haalt zowel de associatieve array op als de nummerieke. Je moet even specificeren welke wordt weergegeven
    [ code verwijderd ]

    Zo zou het wel moeten werken.
    Dan nog krijg ik maar 1 rij te zien.

    En als ik mysql_fetch_array vervang door mysql_fetch_row krijg ik nog steeds 1 rij terug
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_57653877
    Hoe ziet je tabel er uit en wat wil je ophalen? Welke gegevens wil je?
    Je haalt nu ALLES op, alle rijen, alle velden en kolommen. 2 keer zelfs zo te zien.
      donderdag 27 maart 2008 @ 19:48:04 #104
    62215 qu63
    ..de tijd drinkt..
    pi_57654716
    quote:
    Op donderdag 27 maart 2008 19:22 schreef beerten het volgende:
    Hoe ziet je tabel er uit en wat wil je ophalen? Welke gegevens wil je?
    Je haalt nu ALLES op, alle rijen, alle velden en kolommen. 2 keer zelfs zo te zien.
    1
    2
    3
    4
    5
    id        van_id        voor_id        titel        inhoud        datum        gelezen
    1    1    2    Titel Ongelezen    Ongelezen    1206710100    1
    2    2    1    Titel Gelezen    Gelezen    1206710100    1
    3    1    2    Titel Gelezen    Gelezen    1206621950    1
    4    2    1    Titel Ongelezen    Ongelezen    1206621950    0

    dat is de inhoud van de tabel 'meldingen', en die wil ik gewoon in een keer neerplempen. Tot nu toe poept ie alleen de eerste rij er uit -O-
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      donderdag 27 maart 2008 @ 20:07:39 #105
    32768 DionysuZ
    Respect my authority!
    pi_57655396
    Natuurlijk krijg je maar 1 rij terug. Om meerdere rijen terug te krijgen moet je, zoals hierboven ergens ook staat, er een while loopje van maken.
    □ 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
      donderdag 27 maart 2008 @ 20:11:04 #106
    62215 qu63
    ..de tijd drinkt..
    pi_57655508
    quote:
    Op donderdag 27 maart 2008 20:07 schreef DionysuZ het volgende:
    Natuurlijk krijg je maar 1 rij terug. Om meerdere rijen terug te krijgen moet je, zoals hierboven ergens ook staat, er een while loopje van maken.
    ook met
    <?php
    $q = "SELECT * FROM meldingen";
    $res=mysql_query($q);
    $i=0;
    while($berichten = mysql_fetch_array($res))
    {
    print $berichten[$i];
    $i++;
    }
    ?>

    krijg ik maar 1 rij
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_57655745
    quote:
    Op donderdag 27 maart 2008 20:11 schreef qu63 het volgende:

    [..]

    ook met
    <?php
    $q = "SELECT * FROM meldingen";
    $res=mysql_query($q);
    $i=0;
    while($berichten = mysql_fetch_array($res))
    {
    print $berichten[$i];
    $i++;
    }
    ?>

    krijg ik maar 1 rij
    Nee, je krijgt het nulde element van rij 0, het eerste element van rij 1, het tweede element van rij 2, etc.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    $q 
    "SELECT * FROM meldingen";
    $res=mysql_query($q);
    $berichten = array();
    while(
    $row mysql_fetch_array($res))
    {
      
    $berichten[] = $row;
    }
    echo 
    '<pre>';
    var_dump($berichten);
    echo 
    '</pre>';
    ?>
    pi_57657576
    Of met PDO :)
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $q 
    "SELECT * FROM meldingen";
    $stm $pdo->prepare($q);
    $berichten $stm->fetchAll(PDO::FETCH_ASSOC);
    echo 
    '<pre>';
    var_dump($berichten);
    echo 
    '</pre>';
    ?>
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      donderdag 27 maart 2008 @ 21:31:20 #109
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_57658115
    quote:
    Op donderdag 27 maart 2008 21:15 schreef SuperRembo het volgende:
    Of met PDO
    [ code verwijderd ]
    Eindelijk iemand ontopic..
    Denk alleen dat qu63 er weinig aan heeft...
      donderdag 27 maart 2008 @ 21:58:03 #110
    62215 qu63
    ..de tijd drinkt..
    pi_57659160
    quote:
    Op donderdag 27 maart 2008 21:31 schreef ursel het volgende:

    [..]

    Eindelijk iemand ontopic..
    Denk alleen dat qu63 er weinig aan heeft...
    precies
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_57661659
    Ik heb een stdClass met een aantal members. Hoe kan ik die omzetten naar een key/value array? Recursief als het kan.

    edit:
    Ah, gewoon casten naar een array.
    1
    2
    3
    <?php
    $Array 
    = (array) $Object
    ?>


    Is dan wel niet recursief maar hier kom ik wel uit.
    pi_57671080
    Om maar even ontopic te zijn: PDO is leuk en aardig, maar besef dat je in sommige RDBMS'en die partiele indices ondersteunen geen gebruik kunt maken van die indices zodra je prepared statements gebruikt. Voorbeeldje hiervan is PostgreSQL, die het matchen van de indices al tijdens het preparen van de query doet. Door het ontbreken van je condities (je vult ze namelijk pas later in met Statement->bindValue() of ->bindParam()) is het namelijk onmogelijk om te voorspellen wat je query gaat doen.

    Dus mijn idee van good practice in deze situatie: prepared statements gebruiken voor situaties waarbij je eenzelfde soort query heel vaak moet uitvoeren of wanneer je niet geavanceerd gebruik maakt van je database, en anders op de 'oude' manier samenstellen en PDO->quote() gebruiken

    Oh en hoi.
      vrijdag 28 maart 2008 @ 14:20:30 #113
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_57672989
    Ik zit momenteel eigenlijk met de volgende situatie:

    Eens in de 2 weken moet ik een lijst van zo'n 10.000 namen, welke ik via een csv file binnen krijg, vergelijken met alle namen in onze huidige database. Dit zijn er ook zo'n 10.000 stuks.

    Uiteindelijk moeten alle namen uit de csv file ook in een tijdelijke db opgeslagen worden.

    Nu zit ik een beetje in een dilema wat nu het beste te doen is qua performance. In ons systeem is een generieke functie welke bestanden van een ftp server afhaalt en de gegevens van de file inleest en terug geeft in een array per regel. Pas daarna wordt gekeken welk bestand het is en dus ook wat er moet gebeuren.

    Elke keer per regel een query uitvoeren om te kijken of er een match is vergt enorm veel queries achter elkaar. Aan de andere kant ben ik bang dat als ik beide in een array ga plaatsen dat dit ook enorm veel resources van de server gaat vergen.

    Iemand enig idee hoe het in performance het beste aan te pakken is om 2 grote arrays met elkaar te vergelijken?
      vrijdag 28 maart 2008 @ 14:58:42 #114
    187069 slacker_nl
    Sicko pur sang
    pi_57673831
    Toevallig ben ik met een soort gelijk iets bezig. Onder perl heb je een Array::Compare functie waarbij je 2 arrays met elkaar kan vergelijken.

    Echter ben ik het op een andere manier aan het doen.

    Ik laad m'n csv file in Oracle (sqlldr is een heel handige tool daarvoor), en vervolgens laat ik een een x-aantal queries los op de DB die de incorrecte entries eruit vist (en ook de correcte entries). De resultaten van elke query worden in cvs format uitgespuugd.

    Doordat je alles in de DB gooit kan je over je gehele base checken of alles goed is, ipv per record/naam.

    1 tool is verantwoordelijk voor het inladen van de data, een andere tool is verantwoordelijk voor de queries en nog een andere wordt gebruikt om alle mogelijke queries uit te voeren waarna de output naar een file wordt geredirect, en ik een wc -l gebruik om het aantal resultaten weer te geven:

    De applicatie die verantwoordelijk is voor de queries heeft een hash waarin alle queries zijn gedefinieerd:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    my %queries = ( name_of_query => {
       description => "Description",
       sql => qq{
    SELECT * FROM table
    WHERE key = value
    -- insert more sql code here
    }, # end of qq
    }, # end of name_of_query
    );


    Vervolgens is er 1 functie die de queries uitvoert op basis van userinput:

    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
    sub sql2csv {
        my $sql = shift;
        print STDERR $sql . "\n";
        # Some queries return undef
        # warnings are noise in that case
        no warnings;
        foreach ($oracle->do_query($sql)) {
            print join (",", @$_) . "\n";
        }
        use warnings;
    }

    sub do_query {
        my $query_id = shift;
        if (exists $queries{$query_id}) {
            printf STDERR "/* %s */\n", $queries{$query_id}->{description} 
              if defined $queries{$query_id}->{description};

            my $sql = $queries{$query_id}->{sql};

            if ($opt{limit}) {
                $sql = join("\n", $sql, sprintf($limit_query, $opt{limit}));
            }

            if ($opt{order}) {
                $sql = join("\n", $sql, $order_query);
            }
            sql2csv($sql);
        } else {
            printf STDERR "Query for %s does not exists!\n", $query_id;
        }
    }


    Vervolgens kan ik alle checks uitvoeren door hetvolgende:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #!/bin/bash

    exe=./datacheck
    total="^total_"

    do_query() {
            local i
            for i in $* ; do
                    file=../out/RESULTS.$i
                    $exe --query $i > $file 2>../out/QUERY.$i ; wc -l $file
            done
    }

    do_query $($exe --list | grep $total) $($exe --list | grep -v $total)


    Voordeel is dat ik het grootste gedeelte in de DB zelf afhandel, en ik zelf niet moeilijk hoef te gaan doen om arrays met elkaar te vergelijken. Ander pluspunt, maar die had ik al aangegeven, ik hoef niet per record een aparte query uit te voeren.
    In theory there is no difference between theory and practice. In practice there is.
      vrijdag 28 maart 2008 @ 15:11:03 #115
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_57674039
    We werken hier in ieder geval met MySQL.
    Weet niet of dat verder consequenties heeft.

    Daarnaast, die Perl functie, dat zou betekenen dat ik beide al in een array zal moeten hebben. Weet niet of dat zo tactisch is..
      vrijdag 28 maart 2008 @ 16:09:21 #116
    187069 slacker_nl
    Sicko pur sang
    pi_57675300
    quote:
    Op vrijdag 28 maart 2008 15:11 schreef ursel het volgende:
    We werken hier in ieder geval met MySQL.
    Weet niet of dat verder consequenties heeft.

    Daarnaast, die Perl functie, dat zou betekenen dat ik beide al in een array zal moeten hebben. Weet niet of dat zo tactisch is.. :{
    Maakt verder niet uit of je MySQL of Oracle gebruikt. Mijn queries zijn ook onder MySQL te gebruiken. Ik gebruik de PDO variant van Perl, dussuh.. :)

    In beide gevallen een array? ow, voor array::compare, maar als je alles door de DB laat checken heb je dat helemaal niet nodig, en als je het wel nodig hebt, kan je 2 arrays aanmaken, je csv file line by line inlezen, query bakken aan de hand van je csv file, en die loslaten, vervolgens de arrays gaan vergelijken, dan krijg je zoiets:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    my (@array_db, @array_csv);
    my $comp= Array::Compare->new();

    open(FH, $csvfile);
    while(<FH>) {
        chomp(); # Remove the new line
        @array_csv = split(/,/, $_);

        # Do stuff met array_csv to create the SQL code
        $sql = sprintf "SELECT * FROM example WHERE example_name = '%s'", $array_csv[1];

        # ervanuitgaand dat do_query een array returned
        @array_db = do_query($sql); 

        # Compare werkt met een reference naar een array.
        if ($comp->compare(\@array_csv, \@array_db)) {
            # compare is OK
        } else {
            # Compare failed
        }
    }


    Enige lelijke is wat je al aangaf, de hoeveelheid nagenoeg identieke queries. Maar daarom zou ik je csv file in je DB laden zodat je alles met SQL kan checken.

    Waarom moet jij moeilijk gaan proggen als je de DB al het moeilijke werk kan laten doen door een paar goed gekozen queries.
    In theory there is no difference between theory and practice. In practice there is.
      vrijdag 28 maart 2008 @ 16:26:58 #117
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_57675708
    Tja, dat is idd een oplossing, alleen misschien nog een belangrijk detail dat ik eigenlijk nog vergeten was, de opzet was ook om de namen in de similar_text te zetten en te kijken of de naam er voor meer dan 90% op lijkt.

    Ergens anders kreeg ik eigenlijk ook het advies om de vergelijking door de database te laten uitvoeren middels een FULL outer join. Alleen is eigenlijk dan dus mijn probleem hoe kan ik 2 tabellen met elkaar goed vergelijken welke een match hebben van meer dan 90%.
    pi_57703567
    quote:
    Op vrijdag 28 maart 2008 12:50 schreef JeRa het volgende:
    Om maar even ontopic te zijn: PDO is leuk en aardig, maar besef dat je in sommige RDBMS'en die partiele indices ondersteunen geen gebruik kunt maken van die indices zodra je prepared statements gebruikt. Voorbeeldje hiervan is PostgreSQL, die het matchen van de indices al tijdens het preparen van de query doet. Door het ontbreken van je condities (je vult ze namelijk pas later in met Statement->bindValue() of ->bindParam()) is het namelijk onmogelijk om te voorspellen wat je query gaat doen.

    Dus mijn idee van good practice in deze situatie: prepared statements gebruiken voor situaties waarbij je eenzelfde soort query heel vaak moet uitvoeren of wanneer je niet geavanceerd gebruik maakt van je database, en anders op de 'oude' manier samenstellen en PDO->quote() gebruiken

    Oh en hoi.
    Je kunt met PostgreSQL toch zeker wel geparameteriseerde query's uitvoeren zonder de hele performance om zeep te helpen?
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_57703891
    quote:
    Op zaterdag 29 maart 2008 20:57 schreef SuperRembo het volgende:

    [..]

    Je kunt met PostgreSQL toch zeker wel geparameteriseerde query's uitvoeren zonder de hele performance om zeep te helpen?
    Dat kan ook wel ja, maar dus niet met partiële indices vanwege de reden die ik noemde. Het is een leuke pitfall in ieder geval met MySQL kan ik geen vergelijking geven aangezien die geen partiële indices ként.
    pi_57705701
    quote:
    Op zaterdag 29 maart 2008 21:10 schreef JeRa het volgende:

    [..]

    Dat kan ook wel ja, maar dus niet met partiële indices vanwege de reden die ik noemde. Het is een leuke pitfall in ieder geval met MySQL kan ik geen vergelijking geven aangezien die geen partiële indices ként.
    In dat geval lijkt het me good practice om altijd geparameteriseerde query's te gebruiken, tenzij performance een een speciale aanpak vereist.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_57705929
    quote:
    Op zaterdag 29 maart 2008 22:19 schreef SuperRembo het volgende:

    [..]

    In dat geval lijkt het me good practice om altijd geparameteriseerde query's te gebruiken, tenzij performance een een speciale aanpak vereist.
    Klopt, dat zeg ik (op een beetje vage manier) ook ik gebruik zelf echter veel partiële indices om de update-performance te verhogen van mijn database, en dan is dat in de praktijk vrij vervelend.
    pi_57717631
    Welk cms is het makkelijkst skinbaar? Wat je dan kan gebruiken om te implementeren in websites van klanten?
    pi_57727949
    Degene die hier laatst vroeg hoe 9292ov.nl wist waar jij bent (het "Routebestemming vanaf hier" knopje).... dat schijnt dus een samenwerking tussen de telecomproviders en 9292ov.nl te zijn.
    pi_57728009
    quote:
    Op maandag 31 maart 2008 00:00 schreef Geqxon het volgende:
    Degene die hier laatst vroeg hoe 9292ov.nl wist waar jij bent (het "Routebestemming vanaf hier" knopje).... dat schijnt dus een samenwerking tussen de telecomproviders en 9292ov.nl te zijn.
    Dat soort informatie laten ze dus los? Dus in feite weet 9292ov waar ik woon?
      maandag 31 maart 2008 @ 00:10:54 #125
    62215 qu63
    ..de tijd drinkt..
    pi_57728156
    quote:
    Op maandag 31 maart 2008 00:00 schreef Geqxon het volgende:
    Degene die hier laatst vroeg hoe 9292ov.nl wist waar jij bent (het "Routebestemming vanaf hier" knopje).... dat schijnt dus een samenwerking tussen de telecomproviders en 9292ov.nl te zijn.
    dat was ik!

    heb je een bron daarvoor?
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      maandag 31 maart 2008 @ 00:11:51 #126
    62215 qu63
    ..de tijd drinkt..
    pi_57728180
    quote:
    Op maandag 31 maart 2008 00:03 schreef Flaccid het volgende:

    [..]

    Dat soort informatie laten ze dus los? Dus in feite weet 9292ov waar ik woon?
    nee, dat niet.

    Als je 9292ov.nl op je mobiel gebruikt, geeft je telefoon je locatie door. Op basis van de zendmasten, dus niet geheel accuraat
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      maandag 31 maart 2008 @ 11:22:27 #127
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_57733470
    quote:
    Op vrijdag 28 maart 2008 16:26 schreef ursel het volgende:
    Tja, dat is idd een oplossing, alleen misschien nog een belangrijk detail dat ik eigenlijk nog vergeten was, de opzet was ook om de namen in de similar_text te zetten en te kijken of de naam er voor meer dan 90% op lijkt.

    Ergens anders kreeg ik eigenlijk ook het advies om de vergelijking door de database te laten uitvoeren middels een FULL outer join. Alleen is eigenlijk dan dus mijn probleem hoe kan ik 2 tabellen met elkaar goed vergelijken welke een match hebben van meer dan 90%.
    Iemand al suggesties voor mijn probleem??
    Even samenvattend:
    - 2 arrays met namen van +/- 10.000 stuks.
    - 1 array is al volledig in geheugen aanwezig. (inlezen en opslaan van de cvs file)
    - Vergelijken van lijst 1 of de naam in lijst 2 voorkomt.
    - Als de naam voor 90% gelijk is, dan een match geven.
    pi_57733699
    quote:
    Op maandag 31 maart 2008 00:10 schreef qu63 het volgende:

    [..]

    dat was ik!

    heb je een bron daarvoor?
    http://life.tweakers.net/(...)lers-voor-hyves.html

    Edit: Ik bedoel:

    http://www.9292ov.nl/9292ov1171.asp >> ( Location based services (KPN en Hi) )
      maandag 31 maart 2008 @ 11:49:24 #129
    62215 qu63
    ..de tijd drinkt..
    pi_57734058
    quote:
    Op maandag 31 maart 2008 11:32 schreef Geqxon het volgende:

    [..]

    http://life.tweakers.net/(...)lers-voor-hyves.html

    Edit: Ik bedoel:

    http://www.9292ov.nl/9292ov1171.asp >> ( Location based services (KPN en Hi) )
    nu is het nog de vraag of kpn/hi LBS standaard doorgeeft, en hoe je het kan uitlezen..
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_57734159
    quote:
    Op maandag 31 maart 2008 11:49 schreef qu63 het volgende:

    [..]

    nu is het nog de vraag of kpn/hi LBS standaard doorgeeft, en hoe je het kan uitlezen..
    Het lijkt me dat ze dat niet zomaar doen. Stel je voor dat Jamba achter mijn adres komt!
      maandag 31 maart 2008 @ 11:56:42 #131
    62215 qu63
    ..de tijd drinkt..
    pi_57734210
    quote:
    Op maandag 31 maart 2008 11:54 schreef Geqxon het volgende:

    [..]

    Het lijkt me dat ze dat niet zomaar doen. Stel je voor dat Jamba achter mijn adres komt!
    alleen je locatie, en dan nog alleen als je mobielhun site bekijkt.

    Maar idd is het wel wat privacygevoelig..
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      maandag 31 maart 2008 @ 13:06:11 #132
    85514 ralfie
    !Yvan eht nioj
    pi_57735441
    quote:
    Op maandag 31 maart 2008 11:22 schreef ursel het volgende:

    [..]

    Iemand al suggesties voor mijn probleem?? O-) :')
    Even samenvattend:
    - 2 arrays met namen van +/- 10.000 stuks.
    - 1 array is al volledig in geheugen aanwezig. (inlezen en opslaan van de cvs file)
    - Vergelijken van lijst 1 of de naam in lijst 2 voorkomt.
    - Als de naam voor 90% gelijk is, dan een match geven.
    Lastig probleem, hangt van zoveel dingen af...

    Misschien een idee om, als er veel namen 100% matchen, om eerst alle namen te zoeken die 100% matchen dmv =, en dan de rest dmv similar_text oid.

    een voorbeeld kan dmv een temp tabel, waar je reeds gematchedte namen verwijdert zodat de query elke keer sneller zal gaan.
    Je kunt dit deels in php doen, bijv (niet werkende code)
    1
    2
    3
    4
    5
    6
    7
    <?php
    $lnames 
    '"'join("', '",$names).'"';
    mysql_query_blaat("select id from temp_table where name in ($lnames)");
    mysql_query_blaat("delete from temp_table where id in ($allfoundids);
    $names=array_dif($names, $allfoundnames);
    //en doe dan de rest met similar_text oid
    ?>

    Als dit niet lukt vanwege de max lengte van de SQL query, kun je met array_splice de query opsplitsen natuurlijk
    pi_57736028
    quote:
    Op maandag 31 maart 2008 11:56 schreef qu63 het volgende:

    [..]

    alleen je locatie, en dan nog alleen als je mobielhun site bekijkt.

    Maar idd is het wel wat privacygevoelig..
    http://www.marketingfacts(...)tion_based_services/

    Je kunt het dus gewoon bij KPN aanvragen.
      maandag 31 maart 2008 @ 14:28:00 #134
    62215 qu63
    ..de tijd drinkt..
    pi_57736998
    quote:
    Op maandag 31 maart 2008 13:39 schreef Geqxon het volgende:

    [..]

    http://www.marketingfacts(...)tion_based_services/

    Je kunt het dus gewoon bij KPN aanvragen.
    quote:
    Flops heeft KPN na 8 maanden nog niet meegemaakt aangezien ze een redelijk uitgebreid proces hebben voordat je als Content Partner een LBS dienst mag aanbieden. Over elke dienst is heel goed nagedacht aangezien elke Content Partner eerst een storyboard (procesbeschrijving) moest aanleveren.
    Dus voor mijn eigen weblogje denk ik niet dat ik in aanmerking kom
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      maandag 31 maart 2008 @ 14:32:47 #135
    107951 JortK
    Immer kwaliteitsposts
    pi_57737100
    quote:
    Op maandag 31 maart 2008 14:28 schreef qu63 het volgende:

    [..]


    [..]

    Dus voor mijn eigen weblogje denk ik niet dat ik in aanmerking kom
    Storyboard maken zou ik zeggen
      maandag 31 maart 2008 @ 14:34:59 #136
    62215 qu63
    ..de tijd drinkt..
    pi_57737142
    quote:
    Op maandag 31 maart 2008 14:32 schreef JortK het volgende:

    [..]

    Storyboard maken zou ik zeggen
    mja:
    1) invoerpagina, locatie wordt meegestuurd
    2) verwerking, locatie wordt omgezet naar google-maps locatie
    3) leuk plaatje met allemaal stipjes waar ik een item toegevoegd heb

    That's it
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      maandag 31 maart 2008 @ 14:45:22 #137
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_57737315
    quote:
    Op maandag 31 maart 2008 13:06 schreef ralfie het volgende:

    [..]

    Lastig probleem, hangt van zoveel dingen af...

    Misschien een idee om, als er veel namen 100% matchen, om eerst alle namen te zoeken die 100% matchen dmv =, en dan de rest dmv similar_text oid.

    een voorbeeld kan dmv een temp tabel, waar je reeds gematchedte namen verwijdert zodat de query elke keer sneller zal gaan.
    Je kunt dit deels in php doen, bijv (niet werkende code)
    [ code verwijderd ]

    Als dit niet lukt vanwege de max lengte van de SQL query, kun je met array_splice de query opsplitsen natuurlijk
    Met de filter op 80% heb ik maar 2% matches, wat ook maar de bedoeling is dat er maar weinig opstaan..
    Op zich is het wel een idee om uit te werken.
    Ga er ff mee aan de slag..
      maandag 31 maart 2008 @ 18:14:55 #138
    187069 slacker_nl
    Sicko pur sang
    pi_57741629
    Ben van het weekend mezelf wat meer gaan verdiepen in PHP.

    Ik heb een klasse gemaakt, en die wilde ik aanroepen in een andere klasse, maar als ik dat doe krijg ik telkens de foutmelding:

    Parse error: syntax error, unexpected T_NEW in /home/wesleys/sbox/php/lib/OPN/Config.php on line 12


    In het kort:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    class OPNParameters {

            var 
    $params;

            function 
    __construct() {
                    
    $this->params = array();
            }

            function list() {
                  return 
    array_keys($this->params);
            }
    ?>


    De klasse die daarvan gebruik van moet maken:

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

            function 
    __construct() {

            }

            
    # Problemen..
            
    var $test = new OPNParameters;

            function 
    test() {
                    return new 
    OPNParameters;
            }
    ?>


    Zodra je de new OPNParameters niet in een functie zet, dan krijg je dus de error die ik hierboven beschreven heb.

    Waarom is dit?
    In theory there is no difference between theory and practice. In practice there is.
      maandag 31 maart 2008 @ 18:36:20 #139
    85514 ralfie
    !Yvan eht nioj
    pi_57742147
    vars buiten constructors en member-functies mogen alleen met statisch materiaal geladen worden (strings, integers, etc). Voor al het andere zijn constructors bedoeld
      maandag 31 maart 2008 @ 18:43:06 #140
    187069 slacker_nl
    Sicko pur sang
    pi_57742274
    Uhm.. een object in deze is net zo statisch als de string "hello world"..

    als ik var $test = array () en/of $test = array( 1, 2, 3); in de Config klasse gooi dan parsed ie wel. Terwijl dat net zo dynamisch is als een klasse...
    In theory there is no difference between theory and practice. In practice there is.
    pi_57743114
    quote:
    Op maandag 31 maart 2008 18:43 schreef slacker_nl het volgende:
    Uhm.. een object in deze is net zo statisch als de string "hello world"..

    als ik var $test = array () en/of $test = array( 1, 2, 3); in de Config klasse gooi dan parsed ie wel. Terwijl dat net zo dynamisch is als een klasse...
    PHP eist dat de standaardwaarde van een class member een constante expressie is. Dus "hello world" mag wel, maar "hello "."world" mag niet. Er zijn meer voorbeelden in de PHP manual. (Zie Example #3)
    pi_57743659
    Haha, daar heeft het mee te maken... OK. Heb dat stuk een paar keer gelezen, maar is niet bij me opgekomen. Thnx.
    pi_57743675
    Ik heb een vraagje!

    Op een website heb ik een grafieken script die werkt met sessies. Wanneer script.php?ses=sessieID aanroept zal het plaatje gegenereerd worden. Echter wil ik graag middels het zelfde script een AREA's om deze afbeelding heen willen zetten middels een IMAGE MAP. Echter kan ik pas de posities van de AREA's lezen als de afbeelding is gegenereerd. Helaas kan ik niet het plaatje en de resultaten includen omdat het plaatje pas bij user actie geladen wordt en dan dus ook de AREA's pas gemaakt worden van het plaatje.

    Nu vraag ik mij af, hoe is het simpel weg mogelijk om middels javascript een veld te vullen met data die pas gelezen wordt wanneer het plaatje geladen is!? en deze IMAGE map dan ook te laten functioneren!.

    Anyone? (Als ik niet duidelijk genoeg ben, meld het dan dan probeer ik het beter uit te leggen)
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_57745236
    quote:
    Op maandag 31 maart 2008 19:48 schreef Chandler het volgende:
    Ik heb een vraagje!

    Op een website heb ik een grafieken script die werkt met sessies. Wanneer script.php?ses=sessieID aanroept zal het plaatje gegenereerd worden. Echter wil ik graag middels het zelfde script een AREA's om deze afbeelding heen willen zetten middels een IMAGE MAP. Echter kan ik pas de posities van de AREA's lezen als de afbeelding is gegenereerd. Helaas kan ik niet het plaatje en de resultaten includen omdat het plaatje pas bij user actie geladen wordt en dan dus ook de AREA's pas gemaakt worden van het plaatje.

    Nu vraag ik mij af, hoe is het simpel weg mogelijk om middels javascript een veld te vullen met data die pas gelezen wordt wanneer het plaatje geladen is!? en deze IMAGE map dan ook te laten functioneren!.

    Anyone? (Als ik niet duidelijk genoeg ben, meld het dan dan probeer ik het beter uit te leggen)
    Dit is het php-forum hoor
    pi_57747116
    Het heeft met PHP te maken (sessies) en de manier hoe ik dit het beste kan realiseren
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      maandag 31 maart 2008 @ 21:57:44 #146
    85514 ralfie
    !Yvan eht nioj
    pi_57747331
    quote:
    Op maandag 31 maart 2008 19:48 schreef Chandler het volgende:
    Ik heb een vraagje!

    Op een website heb ik een grafieken script die werkt met sessies. Wanneer script.php?ses=sessieID aanroept zal het plaatje gegenereerd worden. Echter wil ik graag middels het zelfde script een AREA's om deze afbeelding heen willen zetten middels een IMAGE MAP. Echter kan ik pas de posities van de AREA's lezen als de afbeelding is gegenereerd. Helaas kan ik niet het plaatje en de resultaten includen omdat het plaatje pas bij user actie geladen wordt en dan dus ook de AREA's pas gemaakt worden van het plaatje.

    Nu vraag ik mij af, hoe is het simpel weg mogelijk om middels javascript een veld te vullen met data die pas gelezen wordt wanneer het plaatje geladen is!? en deze IMAGE map dan ook te laten functioneren!.

    Anyone? (Als ik niet duidelijk genoeg ben, meld het dan dan probeer ik het beter uit te leggen)
    Ik zie niet in waarom je niet dezelfde informatie voor het genereren van je plaatje kunt gebruiken om de pagina met je IMAGE MAP te maken, maar als je geen andere uitweg ziet ben je gebonden aan ajax oid.
    pi_57747726
    ralfie, omdat het script die de afbeeldingen maakt de posities doorgeef die ik kan gebruiken om cirkels te maken in een IMAGE MAP.

    En inderdaad, denk dat ik maar moet gaan spelen met XMLHTTP
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      dinsdag 1 april 2008 @ 11:21:17 #148
    187069 slacker_nl
    Sicko pur sang
    pi_57757003
    Ik zit met een "probleem".

    In Perl kan ik hetvolgende doen:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    sub functie_1 {
       my ($self, $args_1, $args_2, @overige_args) = @_;
       return functie_2(@overige_args);
    #   of je doet dit:
    #   my $self = shift;
    #   my $args_1 = shift;
    #   my $args_2 = shift;
    #   return functie_2(@_);
    }

    sub functie_2 {
        my ($args1, $args2) = @_;
        return $args1 + $args2;
    }


    Echter in PHP is dit onmogelijk om te doen.

    Met func_get_args() kan ik wel alle argumenten ophalen, en dan krijg ik een array terug, maar ik kan niet deze array doorgeven aan de volgende functie zoals in Perl.
    Ik moet alle variablen uitspellen zodat ik ze daarna weer kan doorgeven aan de volgende functie.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    fucntion functie_1
    () {
       list(
    $self$args1$args2$overige_args1$overige_args2) = func_get_args();
       return 
    functie_2($overige_args1$overige_args2);
    }

    function 
    functie_2() {
       list(
    $args1$args2) = func_get_args();
       return 
    $args1 $args2;
    }
    ?>


    Mijn vraag is, hoe lossen jullie dit op? Of hebben jullie hier geen problemen mee, omdat jullie het altijd op manier X doen..

    --edit--

    Never mind, de volgende code lost dit probleem op:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    function test_me() {
        
    $args func_get_args();
        
    call_user_func_array(test_me2$args);
    }

    function 
    test_me2() {
        
    $args func_get_args();
        
    print_r($args);
    }

    test_me(12,3,4,5);
    ?>


    1 ding stoor ik me nog wel aan, dat je func_get_* stuff niet kan uitvoeren om door te geven aan een functie. Je moet ten alle tijde een tijdelijke variable toekennen om die door te geven.

    dus..

    1
    2
    3
    4
    5
    <?php
    function test_me() {
         
    call_user_func_array(test_me2func_get_args());
    }
    ?>


    Is niet geldige code..
    Fatal error: func_get_args(): Can't be used as a function parameter in /home/wesleys/sbox/php/bin/x.php on line 32

    [ Bericht 14% gewijzigd door slacker_nl op 01-04-2008 18:46:03 (perl functies in php is lelijk) ]
    In theory there is no difference between theory and practice. In practice there is.
    pi_57758794
    quote:
    Op maandag 31 maart 200822:13 schreef Chandler het volgende:
    ralfie, omdat het script die de afbeeldingen maakt de posities doorgeef die ik kan gebruiken om cirkels te maken in een IMAGE MAP.

    En inderdaad, denk dat ik maar moet gaan spelen met XMLHTTP
    je kunt toch gewoon
    1
    2
    3
    <?php
    echo "javascriptjavascriptlalal" $variable1 "nog meer javascript" $variable2
    ?>


    enz doen?
    pi_57759740
    quote:
    Op dinsdag 1 april 2008 12:53 schreef mcDavid het volgende:

    [..]

    je kunt toch gewoon
    [ code verwijderd ]

    enz doen?
    Zou je zeggen inderdaad maar helaas, de posities worden pas gemaakt nadat de afbeelding is gegenereerd (ik zou ook de afbeelding 2x kunnen genenreren maar dat is een beetje onzin)

    Heb het nu opgelost met xmlhttp (werkt nog niet infiref0x) zie http://test.ipcounter.nl/stat/ipcounter/datum.html en ga maar eens met je muis over de afbeelding heen (vooral daar waar rondjes te vinden zijn )
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_57759777
    @slacker_nl: waarom geef je dan geen array mee? en ga je deze benutten?

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    function test($in = array())
    {
        foreach(
    $in AS $x => $y)
        {
        
    // enzo
        
    }
    }

    test(array(1,2,3,4,5,6));
    ?>


    Tevens een vraag, hoe kun je met PDO zonder een count te doen uitlezen hoeveel resultaten er zijn?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      dinsdag 1 april 2008 @ 13:51:54 #152
    62215 qu63
    ..de tijd drinkt..
    pi_57759941
    Goed, ik heb nu zelf dit weten te brouwen, maar het kan vast korter :P
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <?php
    $q 
    "SELECT * FROM meldingen";
    $res=mysql_query($q);
    while(
    $row mysql_fetch_array($res))
    {
      
    $q2 "SELECT naam FROM user WHERE id = '".$row[2]."' LIMIT 1";
      
    $naam2 mysql_query($q2);
      
    $naam3 mysql_fetch_array($naam2);
      
    $q3 "SELECT naam FROM user WHERE id = '".$row[1]."' LIMIT 1";
      
    $naam4 mysql_query($q3);
      
    $naam5 mysql_fetch_array($naam4);
      echo 
    "<tr>";
        echo 
    "<td>".date("d-m-Y H:i",$row[5])."</td>";
        echo 
    "<td>".$naam3[0]."</td>";
        echo 
    "<td>".$naam5[0]."</td>";
        echo 
    "<td><a href=\"meldingen.php?id=".$row[0]."\">".$row[3]."</a></td>";
    //    echo "<td>".$row[4]."</td>";
    //    echo "<td>".$row[6]."</td>";
        
    echo "<td>".$row[7]."</td>";
      
    "</tr>";
    }
    ?>
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    abonnement Unibet Coolblue Bitvavo
    Forum Opties
    Forumhop:
    Hop naar:
    (afkorting, bv 'KLB')