abonnement Unibet Coolblue Bitvavo
pi_48351528

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


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


  • 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


  • W3Schools PHP
  • W3Schools SQL

    Deze OP en instructies voor nieuw topic: http://wiki.fok.nl/index.php/OP/PHP
  • pi_48351563
    quote:
    Op zondag 15 april 2007 15:17 schreef Nevermind het volgende:
    Ik heb geboortedatums in de database staan door middel van DATE-velden van MySQL. Een geboortedatum is dus bijvoorbeeld 1985-07-19. Nu wil ik vanaf vandaag een overzicht van de aankomende verjaardagen, gesorteerd op hoe lang het nog duurt (liefst in dagen). Ik heb de manual er bij gepakt, maar ik kan het nog niet vinden

    -edit-
    Inmiddels ben ik iets verder:
    [ code verwijderd ]

    Maar nu nog vanaf vandaag gerekend, daar kom ik nog niet uit.
    1
    2
    3
    4
    5
    SELECT people_firstname, people_lastname,
             date_format(people_birthday, '%d %m') AS verjaardag, unix_timestamp( if( date_format( people_birthday, '2000-%m-%d 00:00:00' ) >= date_format( now( ) , '2000-%m-%d 00:00:00' ) , date_format( people_birthday, '2000-%m-%d 00:00:00' ) , date_format( people_birthday, '2004-%m-%d 00:00:00' ) ) ) AS datum2
    FROM people
    WHERE people_birthday != 'NULL'
    ORDER BY datum2

    Deze gebruik ik. Ik heb m niet zelf gemaakt, dus geen idee hoe het werkt
    pi_48371616
    Bring it on.
      maandag 16 april 2007 @ 10:35:10 #4
    18008 hornage
    FOK! Movie Trivia-Prijsmeester
    pi_48373973
    Ff vraag tussendoor die niet perse PHP is maar meer HTML. Ik wil verwijzen naar een adres waarin een # voorkomt. Dit werkt niet omdat dit uiteraard het teken voor een bladwijzer is in html.
    Toch kan ik hier komen in de browser, maar dan zie je %23 staan. Als ik dit direct in het adres invul om erheen te gaan maakt ie er toch weer hekjes van waardoor ik er niet kom.
    Ik kan niet even snel makkelijk regelen dat die hekjes weg zijn uit het adres want ze hebben een specifieke functie. Iemand misschien een idee om dit toch voor elkaar te krijgen?
    Test je filmkennis! Speel mee met FOK! Movie Trivia en win prijzen!
    pi_48374096
    quote:
    Op maandag 16 april 2007 10:35 schreef hornage het volgende:
    Ff vraag tussendoor die niet perse PHP is maar meer HTML. Ik wil verwijzen naar een adres waarin een # voorkomt. Dit werkt niet omdat dit uiteraard het teken voor een bladwijzer is in html.
    Toch kan ik hier komen in de browser, maar dan zie je %23 staan. Als ik dit direct in het adres invul om erheen te gaan maakt ie er toch weer hekjes van waardoor ik er niet kom.
    Ik kan niet even snel makkelijk regelen dat die hekjes weg zijn uit het adres want ze hebben een specifieke functie. Iemand misschien een idee om dit toch voor elkaar te krijgen?
    Afgezien van het feit dat mijn browser (Konqueror) die %23 niet omzet naar een hekje maar dat gewoon verstuurt (zoals het ook hoort) lijkt het me niet echt een fijn plan om hekjes in je URI te gaan verwerken daaraan wordt dus een anchor herkend.

    Maar wat wil je nu precies doen? Dat hekje in de adresbalk van je browser krijgen? Het lijkt me een betere oplossing als je alsnog je locaties gaat herstructureren
      maandag 16 april 2007 @ 10:44:39 #6
    18008 hornage
    FOK! Movie Trivia-Prijsmeester
    pi_48374270
    Het is ook niet een goed idee maar de structuur is ooit eens opgezet en er was nooit de bedoeling geweest om te gaan linken hiernaar. Je kan het zien op http://www.mobilia-interieurtextiel.nl/
    Op de voorpagina op een artikel klikken en dan op een plaatje. Hij kan hem niet vinden dan terwijl ik verwijs naar %23 ipv een hekje
    Test je filmkennis! Speel mee met FOK! Movie Trivia en win prijzen!
    pi_48374351
    quote:
    Op maandag 16 april 2007 10:44 schreef hornage het volgende:
    Het is ook niet een goed idee maar de structuur is ooit eens opgezet en er was nooit de bedoeling geweest om te gaan linken hiernaar. Je kan het zien op http://www.mobilia-interieurtextiel.nl/
    Op de voorpagina op een artikel klikken en dan op een plaatje. Hij kan hem niet vinden dan terwijl ik verwijs naar %23 ipv een hekje
    Tja, volgens mij zit er toch weinig anders op dan de namen van die mappen/bestanden te hernoemen
      FOK!-Schrikkelbaas maandag 16 april 2007 @ 10:48:11 #8
    1972 Swetsenegger
    Egocentrische Narcist
    pi_48374385
    ordinaire terugvindpost
    pi_48375681
    Ik wil voor een nieuws systeem een tag lijst gaan maken.
    Hoe moet ik dat gaan doen? Een extra veld in de nieuws tabel of een aparte tabel?

    Er moet wel opgeklikt worden, zodat je alle berichten met de zelfde tag te zien krijgt
    pi_48375864
    quote:
    Op maandag 16 april 2007 11:25 schreef super-muffin het volgende:
    Ik wil voor een nieuws systeem een tag lijst gaan maken.
    Hoe moet ik dat gaan doen? Een extra veld in de nieuws tabel of een aparte tabel?

    Er moet wel opgeklikt worden, zodat je alle berichten met de zelfde tag te zien krijgt
    Aangezien je daar een m:n-relatie (één tag kan meerdere nieuwsberichten hebben, één nieuwbericht kan meerdere tags hebben) wilt creëeren, heb je daar een koppeltabel voor nodig in de vorm (nieuwsbericht_pk, tag_pk). Je kunt dan in die tabel een PRIMARY KEY plaatsen op (nieuwsbericht_pk, tag_pk) en een INDEX op (tag_pk) zodat je ook snel kunt zoeken op nieuwsberichten wanneer iemand op een tag klikt.
      maandag 16 april 2007 @ 12:16:46 #11
    107951 JortK
    Immer kwaliteitsposts
    pi_48377245
    vieze vuile gore TVP

    * JortK gaat al wat beter met PHP, maar dit topic is toch uitermate handig
    pi_48381877
    quote:
    Op maandag 16 april 2007 11:31 schreef JeRa het volgende:

    [..]

    Aangezien je daar een m:n-relatie (één tag kan meerdere nieuwsberichten hebben, één nieuwbericht kan meerdere tags hebben) wilt creëeren, heb je daar een koppeltabel voor nodig in de vorm (nieuwsbericht_pk, tag_pk). Je kunt dan in die tabel een PRIMARY KEY plaatsen op (nieuwsbericht_pk, tag_pk) en een INDEX op (tag_pk) zodat je ook snel kunt zoeken op nieuwsberichten wanneer iemand op een tag klikt.
    Oh ja, zo had ik het nog niet bekeken
    Dank je, ik kan weer aan de slag.
      maandag 16 april 2007 @ 16:00:44 #13
    108558 Messenga
    goeiendag wat een geheel!
    pi_48383992
    Hoi,

    Zie hier: http://student.waerdenborch.nl/~vrijdag/Aanwezig.html

    Afgezien van het feit dat het uiterlijk beter kan, hoe zorg ik ervoor dat die checkboxen en namen automatisch uit de database gehaald worden, en vervolgens ook nog opgeslagen kunnen worden?
    pi_48401230
    Vraagje.. ik gebruik PDO om met databases te verbinden, en dit in combinatie met prepared statements.. nou heb ik ergens gelezen dat het gebruik van prepared statements in principe genoeg beveiligt tegen SQL-injectie. Is dit waar? en welke maatregelen kan ik verder nog treffen?
    pi_48401920
    quote:
    Op maandag 16 april 2007 23:38 schreef Intrepidity het volgende:
    Vraagje.. ik gebruik PDO om met databases te verbinden, en dit in combinatie met prepared statements.. nou heb ik ergens gelezen dat het gebruik van prepared statements in principe genoeg beveiligt tegen SQL-injectie. Is dit waar? en welke maatregelen kan ik verder nog treffen?
    Ja, daarmee voorkom je SQL injection. Nee, het is nog niet veilig. Je moet ervoor zorgen dat je álle user input controleert en dus voorkomt dat users zichzelf adminrechten kunnen geven door een beetje te spelen met getallen
    pi_48459245
    ok komt ie dan!

    dit werkt:
    select naam, voorl,
    trunc((SYSDATE - GBDATUM)/365) leeftijd
    from medewerkers

    maar nu wil ik dus aangeven dat de leeftijd ouder moet zijn dan 35

    ik dacht zelf aan dit:
    where leeftijd > 35
    order by leeftijd

    maar dan krijg ik de melding:
    where leeftijd < 30
    *

    ERROR at line 4:
    ORA-00904: "LEEFTIJD": invalid identifier

    Hoe kan ik die beperking anders opgeven dat de leeftijd ouder moet zijn dan 35?

    ik werk trouwens met oracle
    pi_48459661
    tijd voor pizza
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_48460514
    hmm serieuse reacties?
    pi_48464284
    quote:
    Op woensdag 18 april 2007 13:34 schreef pimtenbrinke het volgende:
    ok komt ie dan!

    dit werkt:
    select naam, voorl,
    trunc((SYSDATE - GBDATUM)/365) leeftijd
    from medewerkers

    maar nu wil ik dus aangeven dat de leeftijd ouder moet zijn dan 35

    ik dacht zelf aan dit:
    where leeftijd > 35
    order by leeftijd

    maar dan krijg ik de melding:
    where leeftijd < 30
    *

    ERROR at line 4:
    ORA-00904: "LEEFTIJD": invalid identifier

    Hoe kan ik die beperking anders opgeven dat de leeftijd ouder moet zijn dan 35?

    ik werk trouwens met oracle
    Vreemd genoeg herkent hij je alias niet. Een oplossing is het stukje waar je de leeftijd in jaren berekent kopiëren naar je WHERE-clausule
    pi_48465049
    en hoe gaat dat er dan uitzien...? enige tips om me op weg te helpen?
    pi_48465137
    quote:
    Op woensdag 18 april 2007 15:50 schreef pimtenbrinke het volgende:
    en hoe gaat dat er dan uitzien...? enige tips om me op weg te helpen?
    Nou, als je in je SELECT-clausule iets hebt staan als:
    1
    2
    SELECT to_char(...) AS naam_van_kolom
    ...

    Dan kun je dat natuurlijk overnemen in de WHERE-clausule
    1
    2
    ...
    WHERE to_char(...) = zoveel
    pi_48469214
    quote:
    Op woensdag 18 april 2007 13:44 schreef Chandler het volgende:
    tijd voor pizza :9
    1SELECT Type, Value, Price FROM Pizzas ORDER BY Rating DESC LIMIT 1
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_48469506
    Rond, Cabonara, 8.99

    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_48472160
    Eerst wilde ik een ordinaire TVP plaatsen, maar ineens bedacht ik me! Een tijdje geleden werd ik een beetje moe van het "SELECT ... FROM hele_lange_tabelnaam_ofzo", dus vroeg ik me af of je net als bij kolommen ook een "AS" mogelijkheid hebt voor tabellen?

    Heb hier destijds niets over op kunnen googlen.
    pi_48472357
    quote:
    Op woensdag 18 april 2007 18:43 schreef fokME2 het volgende:
    Eerst wilde ik een ordinaire TVP plaatsen, maar ineens bedacht ik me! Een tijdje geleden werd ik een beetje moe van het "SELECT ... FROM hele_lange_tabelnaam_ofzo", dus vroeg ik me af of je net als bij kolommen ook een "AS" mogelijkheid hebt voor tabellen?

    Heb hier destijds niets over op kunnen googlen.
    Ja hoor, table aliases. Simpelweg "lange_tabel_naam AS t" gebruiken (je kunt zelfs de AS weglaten).
    pi_48472358
    Kunnen je tabelnamen dan niet korter/logischer?
    Tenzij het eerste deel altijd hetzelfde is, dan kun je er een variabele voor gebruiken
    pi_48473183
    Jawel, maar het gaat niet altijd om mijn eigen code.
    pi_48474474
    quote:
    Op woensdag 18 april 2007 19:06 schreef fokME2 het volgende:
    Jawel, maar het gaat niet altijd om mijn eigen code.
    Voorbeeldje van hoe je zoiets kan gebruiken
    1
    2
    3
    4
    5
    SELECT "p"."userid"
    FROM "topics" "t"
    INNER JOIN "posts" "p"
      ON "t"."id" = "p"."topicid"
    GROUP BY "p"."userid"
      woensdag 18 april 2007 @ 19:38:08 #29
    104583 cyberstalker
    Een krachtig neen!
    pi_48474639
    quote:
    Op woensdag 18 april 2007 19:06 schreef fokME2 het volgende:
    Jawel, maar het gaat niet altijd om mijn eigen code.
    Gaat het om MySQL of om een andere SQL server?

    Als je MySQL > 5.0 of een andere SQL-variant hebt, zou je met views kunnen werken. Dit vind ik een prettige manier om met andermans tabellen te kunnen werken.

    Je zou dit kunnen zien als een soort "permanente alias". Een keer ingesteld kun je de tabel vanuit elk statement gewoon met jouw opgegeven naam benaderen .
    Hope for the best, prepare for the worst.
    pi_48474735
    quote:
    Op woensdag 18 april 2007 19:38 schreef cyberstalker het volgende:

    [..]

    Je zou dit kunnen zien als een soort "permanente alias". Een keer ingesteld kun je de tabel vanuit elk statement gewoon met jouw opgegeven naam benaderen .
    Views zijn inderdaad erg handig, en als het om grote data gaat (vele duizenden rows) is het slim om goede indices aan te leggen die de view helpen, aangezien je bij elke query op een view in feite de query voor de view opnieuw uitvoert
    pi_48477411
    Hoe kan je ook alweer meerdere waardes op een tal velden invoeren?
    dus ik wil a,b c,d e,f in 1 en 2 zetten.. zoiets als
    'insert into blaat (1,2) values(a t/m f) '

    pi_48477747
    1INSERT INTO blaat (1,2) VALUES (a,b) (c,d) (e,f)

    Zoiets? Weet eigenlijk niet of komma's tussen moeten :)
    pi_48478485
    quote:
    Op woensdag 18 april 2007 20:49 schreef Piles het volgende:

    [ code verwijderd ]

    Zoiets? Weet eigenlijk niet of komma's tussen moeten
    Moet idd nog komma's tussen
    1INSERT INTO tabelnaam(1,2) VALUES(a,b),(c,d),(e,f)
    pi_48478926
    quote:
    Op maandag 16 april 2007 10:44 schreef hornage het volgende:
    Het is ook niet een goed idee maar de structuur is ooit eens opgezet en er was nooit de bedoeling geweest om te gaan linken hiernaar. Je kan het zien op http://www.mobilia-interieurtextiel.nl/
    Op de voorpagina op een artikel klikken en dan op een plaatje. Hij kan hem niet vinden dan terwijl ik verwijs naar %23 ipv een hekje
    ik krijg plaatjes gewoon te zien? iig deze: http://www.mobilia-interieurtextiel.nl/website/Mobilia%20Interieurtextiel/2007-2/Artikelen/Algemeen/_Maison%20&%20Objet/IMG_3516.jpg maar daar zit dan ook geen hekje in

    site was te traag om meer artikelen te proberen...

    verder is een hekje gewoon een probleem als je hem niet als anchor wilt gebruiken.... hernoemen is sowieso een goed idee
    pi_48480331
    quote:
    Op woensdag 18 april 2007 21:04 schreef Mordreth het volgende:

    [..]

    Moet idd nog komma's tussen :)
    [ code verwijderd ]
    Zo had ik'm gedaan en dat werkte inderdaad :)

    Volgende probleem waar ik tegenoploop:

    1    $sql = "SELECT * FROM fotoview WHERE Key = '$keyword' LIMIT 6 ORDER BY RAND()";


    Zoiets zou toch moeten werken?
    pi_48480412
    In de goede volgorde wel
    1$sql = "SELECT * FROM fotoview WHERE Key = '$keyword' ORDER BY RAND() LIMIT 6 ";
    pi_48480466
    ik zie ze wel

    * LeeHarveyOswald probeert, alvast bedankt

    (ik had al 10 volgordes geprobeerd )
      woensdag 18 april 2007 @ 21:45:02 #38
    107951 JortK
    Immer kwaliteitsposts
    pi_48480504
    Ook een vraagje :)

    Ik heb dit upload script:

    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $target_path
    = "uploads/";

    $target_path = $target_path . basename( $_FILES['file']['name']);
    $_FILES['file']['tmp_name'];

    move_uploaded_file($_FILES['file']['tmp_name'], $target_path);
    ?>


    Nu wil ik de bestandsnaam aanpassen aan de naam van variabele $tone_formatted.

    Hoe moet ik dit aanpakken?
    pi_48480632
    1
    2
    3
    4
    5
    6
    7
    <?php
    $target_path
    = "uploads/";

    $target_path = $target_path . $tone_formatted;

    move_uploaded_file($_FILES['file']['tmp_name'], $target_path);
    ?>

    Zoiets?
    Of later met de functie http://nl3.php.net/manual/nl/function.rename.php
    pi_48480755
    quote:
    Op woensdag 18 april 2007 21:43 schreef Piles het volgende:
    In de goede volgorde wel
    [ code verwijderd ]
    Gedaan, en vanuit PHP nogsteeds bagger. Zodra ik $keyword vervang met een keyword en dan in mysql uitvoer:
    quote:
    SQL-query: Documentatie

    SELECT *
    FROM fotoview
    WHERE KEY = 'mensen'
    ORDER BY RAND( )
    LIMIT 6

    MySQL retourneerde: Documentatie
    #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 'Key = 'mensen' ORDER BY RAND() LIMIT 6' at line 1
      woensdag 18 april 2007 @ 21:50:37 #41
    107951 JortK
    Immer kwaliteitsposts
    pi_48481201
    quote:
    Op woensdag 18 april 2007 21:49 schreef LeeHarveyOswald het volgende:

    [..]

    Gedaan, en vanuit PHP nogsteeds bagger. Zodra ik $keyword vervang met een keyword en dan in mysql uitvoer:
    [..]
    Is KEY een kolom? Zo ja: ik denk dat het een gereserveerd woord is binnen MySQL, dus ik denk dat je je kolomnaam moet veranderen
    pi_48481389
    quote:
    Op woensdag 18 april 2007 21:58 schreef Piles het volgende:

    [..]

    Is KEY een kolom? Zo ja: ik denk dat het een gereserveerd woord is binnen MySQL, dus ik denk dat je je kolomnaam moet veranderen
    Of escapen met backticks (`)
      woensdag 18 april 2007 @ 22:02:14 #44
    107951 JortK
    Immer kwaliteitsposts
    pi_48481428
    quote:
    Op woensdag 18 april 2007 22:01 schreef JeRa het volgende:

    [..]

    Of escapen met backticks (`)
    Dit is de makkelijkere optie
    pi_48482334
    Handig mensen, bedankt!

    Hoe zit het met die "views"?
    pi_48482662
    Dat werkte :D

    Maar wel een lekkere prutsdag vandaag, ben totaal niet wakker. Volgende gaat mis:
    De waarde worden goed opgehaald uit de database, ik weet niet of ze goed in de array komen, ik krijg iig geen afbeeldingen te zien :)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    while ($result = mysql_fetch_array($query)) {
        $counter == $counter + 1;
        $file[counter] == $result['Filename'];
        $Key[counter] == $result['Keytag'];
        $Link[counter] == $result['Link'];
     }

      echo"<font COLOR='#666666' face = Verdana>
      <img border=5 src='$file[1]'> <img border=5 src='$file[2]'> <img border=5 src='$file[3]'>  <br>


    Hierna hou ik mn kop weer :@ :P bedankt voor hulp iig :)
    pi_48482859
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    $counter 
    0;
    while (
    $result mysql_fetch_array($query)) {
        
    $counter++;
        
    $file[$counter] = $result['Filename'];
        
    $Key[$counter] = $result['Keytag'];
        
    $Link[$counter] = $result['Link'];
     }

      echo
    "<font COLOR='#666666' face = Verdana>
      <img border=5 src='$file[1]'> <img border=5 src='$file[2]'> <img border=5 src='$file[3]'>  <br>
    ?>

    Zo zal het beter gaan denk ik :)
    == gebruik je bij vergelijkingen ;)
    pi_48484165
    Is er een mssql equivalent van mysql_real_escape_string? Of eigenlijk, hoe escape ik quotes in mssql?
    Kloon van de grondlegger van dit topic.... lang verhaal
    O say, can you see, by the dawn's early light. What so proudly we hailed, at the twilight's last gleaming...
    pi_48484297
    quote:
    Op woensdag 18 april 2007 22:52 schreef George.W.Bush het volgende:
    Is er een mssql equivalent van mysql_real_escape_string? Of eigenlijk, hoe escape ik quotes in mssql?
    Kloon van de grondlegger van dit topic.... lang verhaal
    S?

    En in MSSQL escape je een quote door hem te verdubbelen
    pi_48484362
    quote:
    Op woensdag 18 april 2007 22:55 schreef JeRa het volgende:

    [..]

    S?
    Die ja
    quote:
    En in MSSQL escape je een quote door hem te verdubbelen
    Thanks, daar is geen standaard funtie voor zoals mysql_real_escape_string dus?
    O say, can you see, by the dawn's early light. What so proudly we hailed, at the twilight's last gleaming...
    abonnement Unibet Coolblue Bitvavo
    Forum Opties
    Forumhop:
    Hop naar:
    (afkorting, bv 'KLB')