Likes Likes:  0
Resultaten 1 tot 15 van de 16
Pagina 1 van de 2 1 2 LaatsteLaatste
Geen

Onderwerp: PHP/MySQL vraag

  1. #1
    Eduard
    PHP/MySQL vraag
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    PHP/MySQL vraag

    Hoi,

    ik ben redelijk nieuw met dynamische websites, tot nu toe heb ik alleen HTML
    sites gebouwd.
    Ik maak gebruik van PHP en MySQL.

    Ik moet nu een site maken waarop ongeveer 100 fotos staan en daarvoor wil ik
    alle de data van de foto's in MySQL opslaan en dan tonen in de browser.
    Dit lukt, ik maak een recordset, en laat de inhoud van de recordset zien met
    5 foto's per pagina.
    Indien er op een foto geklikt wordt is deze doorgelinkt, dit werkt perfect.

    Nu wil ik op de detail pagina een vorige en volgende foto link maken en dit
    werkt niet.
    Indien ik de laatste foto van de recordset bereik moet de eerste weer
    getoond worden.
    Kan iemand me op weg helpen hoe dit te doen?

    De paginas waar ik mee bezig ben staan onder:
    http://www.edrox.nl/test/test.php

    Bedankt voor jullie advies!!

    Eduard




  2. #2
    google@phaedro.com
    PHP/MySQL vraag
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP/MySQL vraag



    Eduard schreef:
    > Hoi,
    >

    Hoi

    > Nu wil ik op de detail pagina een vorige en volgende foto link maken en dit
    > werkt niet.
    > Indien ik de laatste foto van de recordset bereik moet de eerste weer
    > getoond worden.
    > Kan iemand me op weg helpen hoe dit te doen?
    >

    Je bent er bijna.

    http://www.edrox.nl/test/detail.php?recordID=0003
    De link naar 'Next' gaat naar dezelfde pagina met hetzelfde recordID zo
    ook voor de link met Prev

    Ik zou het als volgt doen: in detail.php :
    - maak een array met records in de volgorde zoals je ze wilt zien
    (ONGETEST)
    $sql = "SELECT recordID FROM images ORDER BY x,y";
    $res = mysql_query($sql);
    $image_list = mysql_fetch_array($res);
    // klopt dit? array(recordID001,recordID002,...)

    $size = len($image_list); //pak lengte
    //bepaal positie van recordID in lijst (kan handiger?)
    foreach ($image_list as $key => $value){
    if ($value == $recordID){
    $pos = $key;
    }
    }


    - nu kan je prev en next berekenen:
    <?php if ($pos > 0){ //niet eerste ?>
    <a href="detail.php?recordID=<?php echo $image_list[$pos-1]
    ?>">PREV</a>
    <?php } else { ?>
    <a href="detail.php?recordID=<?php echo $image_list($size-1)
    ?>">PREV</a>
    <?php } ?>

    NEXT kan je nu zelf wel.

    Succes!

    --
    Thijs Cobben
    PHAEDRO.com


  3. #3
    Richard van den Berg
    PHP/MySQL vraag
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP/MySQL vraag

    On Mon, 18 Jul 2005 19:20:27 +0200 Eduard
    (eduard.devries@gmail.com) wrote:
    > Hoi,


    > ik ben redelijk nieuw met dynamische websites, tot nu toe heb ik alleen HTML
    > sites gebouwd.
    > Ik maak gebruik van PHP en MySQL.


    > Ik moet nu een site maken waarop ongeveer 100 fotos staan en daarvoor wil ik
    > alle de data van de foto's in MySQL opslaan en dan tonen in de browser.
    > Dit lukt, ik maak een recordset, en laat de inhoud van de recordset zien met
    > 5 foto's per pagina.
    > Indien er op een foto geklikt wordt is deze doorgelinkt, dit werkt perfect.


    Mmm, je maakt van de foto uit de database eerst weer een bestand,
    waarom, of bedoel je dat alleen de gegevens in de database staan?

    > Nu wil ik op de detail pagina een vorige en volgende foto link maken en dit
    > werkt niet.
    > Indien ik de laatste foto van de recordset bereik moet de eerste weer
    > getoond worden.
    > Kan iemand me op weg helpen hoe dit te doen?


    o Bepaal je volgorde
    o Vorige record is het huidige - 1, check of het weergegeven record de
    eerste is, wat wil je dan.
    o Volgende record is het huidige + 1, check of het weergegeven record de
    laatste is, dan is het eerste record

    > De paginas waar ik mee bezig ben staan onder:
    > http://www.edrox.nl/test/test.php


    Het is prima mogelijk, zo staan onze ruim 5000 foto' en dia's beschreven
    en een dikke 3000 gedigitaliseerd met zulke thumbnails:
    http://82.217.198.100/cgi-bin/show die doorklikbaar zijn naar grotere
    foto's - het voorbeeldje niet.
    I.p.v. MySQL gebruik ik PostgreSQL, geen idee in hoeverre dat voor php
    uitmaakt.

    --
    Richard

  4. #4
    Eduard
    PHP/MySQL vraag
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP/MySQL vraag

    Thijs,

    Allereerst, bedankt voor je hulp.

    Ik heb len vervangen door count omdat len een fout geeft, misschien heb ik
    een oude verzie of zo.

    Hierdoor kom ik op de regel met

    <a href="detail.php?recordID=<?php echo $image_list($size-1)

    met een fatal error; Call to undefined function: array() in .....detail.php
    on line 105

    Regel 105 is de bovenstaande link.



    Zie ik nog een fout over het hoofd?

    De array image_list moet gevuld zijn omdat ik anders eerder een fout krijg.



    Bedankt voor je hulp,



    Eduard



  5. #5
    google@phaedro.com
    PHP/MySQL vraag
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP/MySQL vraag



    Eduard schreef:
    > Thijs,
    > <a href="detail.php?recordID=<?php echo $image_list($size-1)
    >
    > met een fatal error; Call to undefined function: array() in .....detail.php
    > on line 105
    >

    rechte haken, sorry:
    <a href="detail.php?recordID=<?php echo $image_list[$size-1]

    tevens voor len/count : ik zei nog ONGETEST :-0


  6. #6
    google@phaedro.com
    PHP/MySQL vraag
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP/MySQL vraag

    je dient ook te checken dat recordID goed is ingevuld:

    vooraan:
    $sql="SELECT * FROM images WHERE recordID=".$recordID.";";
    $res = mysql_query($sql);
    $count = $mysql_num_rows($res); //??? aantal rijen
    if ($count != 1){
    //record not found e.g.recordID=aapnootmies
    do_error_sthg();
    exit();
    }


  7. #7
    Hans
    PHP/MySQL vraag
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP/MySQL vraag

    On 18 Jul 2005 15:11:29 -0700, google@phaedro.com <google@phaedro.com> wrote:
    > je dient ook te checken dat recordID goed is ingevuld:
    >
    > vooraan:
    > $sql="SELECT * FROM images WHERE recordID=".$recordID.";";


    Als het niet gechecked is dan is typecasting slim.

    Hans

    --
    http://blacklist.kernelnewbies.nl

  8. #8
    google@phaedro.com
    PHP/MySQL vraag
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP/MySQL vraag

    Hans schreef:
    > On 18 Jul 2005 15:11:29 -0700, google@phaedro.com <google@phaedro.com> wrote:
    > > je dient ook te checken dat recordID goed is ingevuld:
    > >
    > > vooraan:
    > > $sql="SELECT * FROM images WHERE recordID=".$recordID.";";

    >
    > Als het niet gechecked is dan is typecasting slim.


    In PHP ?
    Ik snap niet zo goed wat je bedoelt, ben wel geinteresseerd :-)

    In archaische programmeertalen als Java die echt niet meer van deze
    tijd zijn[1] want sterk getypeerd wat tot een bagger
    programmeerproblemen leidt die je niet wilt weten, is typecasting iets
    als:
    Long wateenklotetaalLongVar = Long.parseLong("1");
    eval(wateenklotetaalLongVar.longValue()==1L); //TRUE

    In PHP heb je geen explicit typing, en google ik op typecasting krijg
    je dingen als:
    (1 + "2") . "a" //3a

    Bedoel jij iets dergelijks met typecasting?
    Hoe kan het helpen met het checken van recordID ?

    Cheers,

    T.

    --
    [1] klein stukje frustratie over huidige Java project[2]
    [2] soon available online: "Java vs Python - a biased comparison"[3]
    [3] op www.phaedro.com


  9. #9
    Hans
    PHP/MySQL vraag
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP/MySQL vraag

    On 19 Jul 2005 13:44:08 -0700, google@phaedro.com <google@phaedro.com> wrote:
    > Hans schreef:
    >> On 18 Jul 2005 15:11:29 -0700, google@phaedro.com <google@phaedro.com> wrote:
    >> > je dient ook te checken dat recordID goed is ingevuld:
    >> >
    >> > vooraan:
    >> > $sql="SELECT * FROM images WHERE recordID=".$recordID.";";

    >>
    >> Als het niet gechecked is dan is typecasting slim.

    >
    > In PHP ?
    > Ik snap niet zo goed wat je bedoelt, ben wel geinteresseerd :-)


    Veel queries zijn makkelijk te voorzien van een sql injectie. Als je
    weet dat je een id moet hebben die bestaat uit een int is het handig
    om er gewoon een int van te maken. Voor de rest is goed quoten in je
    query ook een manier om het tegen te gaan.

    > In archaische programmeertalen als Java die echt niet meer van deze
    > tijd zijn[1] want sterk getypeerd wat tot een bagger
    > programmeerproblemen leidt die je niet wilt weten, is typecasting iets
    > als:
    > Long wateenklotetaalLongVar = Long.parseLong("1");
    > eval(wateenklotetaalLongVar.longValue()==1L); //TRUE


    > In PHP heb je geen explicit typing, en google ik op typecasting krijg
    > je dingen als:
    > (1 + "2") . "a" //3a


    Dat wil niet zeggen dat je userinput zomaar moet vertrouwen :-)

    >
    > Bedoel jij iets dergelijks met typecasting?
    > Hoe kan het helpen met het checken van recordID ?


    (int)$foo, mits het om een int gaat uiteraard, ander kies je een ander
    type. Er zijn ook nog andere oplossingen, daarbij run je de query niet
    als de input niet klopt.

    Cheers,

    Hans
    --
    http://blacklist.kernelnewbies.nl

  10. #10
    Daniel Tryba
    PHP/MySQL vraag
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP/MySQL vraag

    google@phaedro.com wrote:
    > In archaische programmeertalen als Java die echt niet meer van deze
    > tijd zijn[1] want sterk getypeerd wat tot een bagger
    > programmeerproblemen leidt die je niet wilt weten, is typecasting iets
    > als:
    > Long wateenklotetaalLongVar = Long.parseLong("1");
    > eval(wateenklotetaalLongVar.longValue()==1L); //TRUE


    Als je niet weet hoe de objecten van een taal inelkaar zitten kom je
    meestal met omslachtige oplossingen waar het helemaal niet nodig is:
    "1".equals(String.valueOf(1L))


  11. #11
    John Bokma
    PHP/MySQL vraag
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP/MySQL vraag

    Hans <replyelsewhere@hans.kernelnewbies.nl> wrote:

    > On 19 Jul 2005 13:44:08 -0700, google@phaedro.com <google@phaedro.com>
    > wrote:
    >> Hans schreef:
    >>> On 18 Jul 2005 15:11:29 -0700, google@phaedro.com
    >>> <google@phaedro.com> wrote:
    >>> > je dient ook te checken dat recordID goed is ingevuld:
    >>> >
    >>> > vooraan:
    >>> > $sql="SELECT * FROM images WHERE recordID=".$recordID.";";
    >>>
    >>> Als het niet gechecked is dan is typecasting slim.

    >>
    >> In PHP ?
    >> Ik snap niet zo goed wat je bedoelt, ben wel geinteresseerd :-)

    >
    > Veel queries zijn makkelijk te voorzien van een sql injectie. Als je
    > weet dat je een id moet hebben die bestaat uit een int is het handig
    > om er gewoon een int van te maken. Voor de rest is goed quoten in je
    > query ook een manier om het tegen te gaan.


    Beste is natuurlijk *vooraf* controleren. Is het een getal (regexp), en
    voldoen min en max lengte (zelfde regexp). Vervolgens, ligt het getal
    binnen de toegestane grenzen.

    Wat ik ook ff niet snap, PHP heeft stringinterpolatie, schrijf het dus
    lekker als: $sql="SELECT * FROM images WHERE recordID=$recordID";

    (Die ; aan het end van je query (!) is vzviw ook niet nodig).


    --
    John Voorbeeldscripts in Perl: http://johnbokma.com/perl/
    Website design: http://johnbokma.com/websitedesign/
    Ervaren Perl / Java programmeur beschikbaar: http://castleamber.com/
    Tevreden opdrachtgevers: http://castleamber.com/testimonials.html



  12. #12
    google@phaedro.com
    PHP/MySQL vraag
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP/MySQL vraag



    Daniel Tryba schreef:
    >
    > Als je niet weet hoe de objecten van een taal inelkaar zitten kom je
    > meestal met omslachtige oplossingen waar het helemaal niet nodig is:
    > "1".equals(String.valueOf(1L))


    Python 2.3.4 (#1, Nov 30 2004, 23:01:17)
    [GCC 2.96 20000731 (Red Hat Linux 7.3 2.96-113)] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> 1=="1"

    False
    >>> 1==int("1")

    True
    >>> 1==long("1")

    True
    >>>



  13. #13
    google@phaedro.com
    PHP/MySQL vraag
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP/MySQL vraag



    Hans schreef:
    > On 19 Jul 2005 13:44:08 -0700, google@phaedro.com <google@phaedro.com> wrote:
    > > Hans schreef:
    > >> On 18 Jul 2005 15:11:29 -0700, google@phaedro.com <google@phaedro.com> wrote:
    > >> > je dient ook te checken dat recordID goed is ingevuld:
    > >> >
    > >> > vooraan:
    > >> > $sql="SELECT * FROM images WHERE recordID=".$recordID.";";
    > >>

    <knip>

    >
    > Veel queries zijn makkelijk te voorzien van een sql injectie.

    <knip>
    was daar in php.ini niet iets voor, safe_quote of mode oid ?

    Gr.


    T.


  14. #14
    Daniel Tryba
    PHP/MySQL vraag
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP/MySQL vraag

    google@phaedro.com wrote:
    >>>> 1=="1"

    > False
    >>>> 1==int("1")

    > True
    >>>> 1==long("1")

    > True
    >>>>


    Wellicht is PHP dan wat voor je, daar geldt zelfs dat:
    1=="1"
    waar is.

    Begrijp ik het goed dat je op zoek bent naar de syntax:
    1==Long.parseLong("1")

    Zeer te prefereren boven wat je zelf aan oplossing verzonnen had.


  15. #15
    google@phaedro.com
    PHP/MySQL vraag
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP/MySQL vraag



    Daniel Tryba schreef:
    > google@phaedro.com wrote:


    >
    > Begrijp ik het goed dat je op zoek bent naar de syntax:
    > 1==Long.parseLong("1")


    Nee, ik bedoel een situatie waar je eerst een getal wil maken van een
    String (b.v. form input).

    Later wil je een bewerking of check doen. Ik blijf het omslachtig
    vinden, ook bovenstaande oplossing (die beter is dan de mijne, ik
    chargeerde ook wel).

    Iets anders: wat is zinniger om runtime errors te voorkomen,
    StrongTyping (Java) of signature-overloading (python)?

    - Het is omslachtig in Java om meerdere methodes/constructoren te maken
    voor verschillende signatures (type parameters). Daarom worden deze
    vaak aangeroepen met null values:
    class A { public A(Class1 v1, Class2 v2){...}}
    A a = new A(null,null)

    * je kan niet zien welke values nullable mogen zijn
    * leidt tot overvloedige nullchecks of runtime errors (NullPointer exc
    niet erg informatief)

    class A:
    def __init__(v1=new Class1(), v2=new Class2()):
    ...

    a = new A()
    a.v1.class1Method() --> works

    * geen type probleem
    * sterke 'hint' aan developer welke parameters verplicht zijn

    Dus... python roeleert.


    Groet,


    Thijs


Pagina 1 van de 2 1 2 LaatsteLaatste

Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2026 Webhostingtalk.nl.
Web Statistics