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

Onderwerp: simpel php vraagje

  1. #1
    simpel php vraagje
    geregistreerd gebruiker
    333 Berichten
    Ingeschreven
    07/05/08

    Locatie
    nvt

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: nvt
    KvK nummer: nvt
    Ondernemingsnummer: nvt

    Thread Starter

    simpel php vraagje

    Ik heb een vraagje over het ophalen van een record d.m.v. een PHP query.

    Op de volgende manier gaat het wel, maar hij lijkt me wat omslachtig omdat er toch maar 1 waarde in de database zit (hij haalt slechts de waarde van de naam op van het record met 1 bepaald uniek id):

    Code:
    <?php $huidigecat = mysql_query("SELECT naam FROM categorie WHERE cat_id='$cid'"); ?>
    Code:
    <?php 
    while($row = mysql_fetch_array($huidigecat))
      {
      echo $row['naam'];
      }
    ?>
    Waarschijnlijk is het heel makkelijk maar ik ben aan het overstappen van ColdFusion en ASP naar PHP en ik kan het niet uitstaan dat het mij niet lukt. Met ColdFusion was bijvoorbeeld deze variabele #huidigecat.naam# direct geldig om de naam te krijgen. Met PHP zou deze variabele dan $huidigecat.naam moeten heten, maar dat werkt dus niet. Weet iemand hoe je deze variabele in PHP schrijft, of zit ik toch altijd aan die while loop vast?

  2. #2
    simpel php vraagje
    Bram V.
    487 Berichten
    Ingeschreven
    04/07/08

    Locatie
    Sint-Niklaas

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: nee
    KvK nummer: nvt
    Ondernemingsnummer: 0899.003.423

    Citaat Oorspronkelijk geplaatst door reef Bekijk Berichten
    Code:
    <?php 
    while($row = mysql_fetch_array($huidigecat))
      {
      echo $row['naam'];
      }
    ?>
    Weet niet echt wat je wil bereiken maar misschien hetvolgende ?

    Code:
    <?php 
    $row = mysql_fetch_array($huidigecat);
    echo $row['naam'];
    ?>
    Dan zit je niet aan die while loop vast.

    Is dit wat je wilt hebben ?

  3. #3
    simpel php vraagje
    geregistreerd gebruiker
    4.175 Berichten
    Ingeschreven
    09/12/05

    Locatie
    Almere

    Post Thanks / Like
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)
    76 Berichten zijn liked


    Naam: Ramon Fincken
    Bedrijf: Klarned Managed Hosting / Halvar.io
    Functie: CEO
    URL: www.klarned.is
    Registrar SIDN: Nee
    KvK nummer: 30262182
    TrustCloud: ramonfincken
    View ramonfincken's profile on LinkedIn

    als je een LIMIT 1 toevoegt ( maar ook zonder ) kun je je while door een if veranderen, of inderdaad
    $row = mysql_fetch_array($huidigecat);
    doen


    PHP Code:
    <?php 
    $sql_huidigecat 
    "SELECT naam FROM categorie WHERE cat_id='".intval($cid). "' LIMIT 1";
    // TODO: gaan we de DIE nog aanpassen?
    $result_huidigecat mysql_query($sql_huidigecat) or DIE(); 

    if(
    mysql_num_rows($result_huidigecat) > 0)
    {
       
    $row_huidigecat mysql_fetch_array($result_huidigecat);
       echo 
    $row_huidigecat['naam'];
    }
    else
    {
       echo 
    'Deze categorie bestaat niet meer';
      
    // TODO: redirect naar homepage?
    }
    ?>
    Klarned Managed hosting Hosting, optimalisatie & debugging door WP Core developers

  4. #4
    simpel php vraagje
    geregistreerd gebruiker
    333 Berichten
    Ingeschreven
    07/05/08

    Locatie
    nvt

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: nvt
    KvK nummer: nvt
    Ondernemingsnummer: nvt

    Thread Starter
    Aha, okee bedankt. mysql_fetch_array heb je dus altijd nodig om iets uit een query te bekijken.

    En dat laatste voorbeeld zal ook goed van pas gaan komen.


  5. #5
    simpel php vraagje
    Geregistreerd Gebruiker
    4.755 Berichten
    Ingeschreven
    23/04/05

    Locatie
    Eindhoven

    Post Thanks / Like
    Mentioned
    15 Post(s)
    Tagged
    0 Thread(s)
    353 Berichten zijn liked


    Naam: Toin Bloo
    Bedrijf: Dommel Hosting
    URL: www.dommelhosting.nl
    ISPConnect: Lid
    KvK nummer: 17177247

    Je krijgt van de query een result handle terug. Misschien handiger om die ook zo te noemen dan. Je moet altijd een tweede functie aanroepen om iets met die handle te doen.

  6. #6
    simpel php vraagje
    geregistreerd gebruiker
    849 Berichten
    Ingeschreven
    26/12/03

    Locatie
    Zwolle

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Naam: Daniël
    Registrar SIDN: Nee
    Ondernemingsnummer: nvt

    Of nog beter:

    PHP Code:
    $query mysql_query("SELECT naam FROM categorie WHERE cat_id=" intval($cid));
    $resultaat msql_result($query0'naam');

    echo 
    $resultaat

  7. #7
    simpel php vraagje
    Web hosting diensten
    4.705 Berichten
    Ingeschreven
    09/02/04

    Locatie
    Rotterdam

    Post Thanks / Like
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)
    110 Berichten zijn liked


    Bedrijf: DreamHost.nl Web hosting
    Functie: Managing Director
    URL: www.dreamhost.nl
    Registrar SIDN: JA
    KvK nummer: 24269577

    Ik mis toch wel wat :
    PHP Code:
    $query mysql_query('SELECT naam FROM categorie WHERE cat_id='.(int)$cid.' limit 0,1',$link);
    //foutafhandling query komt hier
    $val mysql_result($query00); // eerste waarde
    echo $val
    Vooral de link naar de DB zou ik niet vergeten. Als je een tweede link krijgt, zie je anders door de bomen het bos niet meer.
    DreamHost.nl Web hosting - cPanel hosting om bij weg te dromen.

  8. #8
    simpel php vraagje
    geregistreerd gebruiker
    849 Berichten
    Ingeschreven
    26/12/03

    Locatie
    Zwolle

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Naam: Daniël
    Registrar SIDN: Nee
    Ondernemingsnummer: nvt

    Citaat Oorspronkelijk geplaatst door dreamhost_nl Bekijk Berichten
    Ik mis toch wel wat :
    PHP Code:
    $query mysql_query('SELECT naam FROM categorie WHERE cat_id='.(int)$cid.' limit 0,1',$link);
    //foutafhandling query komt hier
    $val mysql_result($query00); // eerste waarde
    echo $val
    Vooral de link naar de DB zou ik niet vergeten. Als je een tweede link krijgt, zie je anders door de bomen het bos niet meer.
    Het lijkt me toch niet de bedoeling dat we een compleet script gingen schrijven? Daarnaast heeft hij het over 1 record dat bijgewerkt moet worden, foutcontrole kan maar is geen vereiste hier. Daarnaast hoeft de link niet meegegeven te worden wanneer men maar 1 database gebruikt, en werkt 0,0 ipv 0, 'veldnaam' net zo goed. Ook het getal als (int) casten is een slechtere oplossing dan intval gebruiken. Enige punt wat discutabel is de foutafhandeling wat mij betreft.

  9. #9
    simpel php vraagje
    geregistreerd gebruiker
    4.175 Berichten
    Ingeschreven
    09/12/05

    Locatie
    Almere

    Post Thanks / Like
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)
    76 Berichten zijn liked


    Naam: Ramon Fincken
    Bedrijf: Klarned Managed Hosting / Halvar.io
    Functie: CEO
    URL: www.klarned.is
    Registrar SIDN: Nee
    KvK nummer: 30262182
    TrustCloud: ramonfincken
    View ramonfincken's profile on LinkedIn

    @daniel, ok werkt ook, maar vind ik persoonlijk lelijk, al was het maar dat je de query direct in een mysql_query gooit

    @dreamhost: waarom eerste waarde?, ok we hebben nu een select naam ... maar stel we veranderen wat in de DB tabel structure ... dan wil je dit niet zo doen en al zeker niet als je meer wil selecten dan enkel een naam.
    Klarned Managed hosting Hosting, optimalisatie & debugging door WP Core developers

  10. #10
    simpel php vraagje
    geregistreerd gebruiker
    849 Berichten
    Ingeschreven
    26/12/03

    Locatie
    Zwolle

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Naam: Daniël
    Registrar SIDN: Nee
    Ondernemingsnummer: nvt

    Ramon,

    Is een kwestie van smaak. Technisch gezien maakt het totaal geen verschil of je het nou wel of niet in een variabele zet en meegeeft aan mysq_query. Query's worden in de meeste gevallen niet aangepast, en heeft het dus geen zin om dubbelop te doen.

    Overigens, door het in een variable te zetten reserveer je geheugen. Ook al is dit in dit geval een minimale hoeveelheid, in een loop kan dit wel degelijk een verschil maken voor de performance. Dan praten we wel over micro-optimalisatie, maar waarom zou je iets 'fout' aanleren.

    Ik zou variabelen gewoon gebruiken waar ze voor zijn, en dat is voor variabele waarden

  11. #11
    simpel php vraagje
    geregistreerd gebruiker
    4.175 Berichten
    Ingeschreven
    09/12/05

    Locatie
    Almere

    Post Thanks / Like
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)
    76 Berichten zijn liked


    Naam: Ramon Fincken
    Bedrijf: Klarned Managed Hosting / Halvar.io
    Functie: CEO
    URL: www.klarned.is
    Registrar SIDN: Nee
    KvK nummer: 30262182
    TrustCloud: ramonfincken
    View ramonfincken's profile on LinkedIn

    ja klopt helemaal, maar voor debugging bijvoorbeeld is het net effe lekkerder om een echo $sql; te doen voor je $result=mysql_query($sql); dan zitten klooien in die ene regel. En ook dat is zeker een kwestie van smaak

    Vergeet niet dat TS een beginner is
    Klarned Managed hosting Hosting, optimalisatie & debugging door WP Core developers

  12. #12
    simpel php vraagje
    geregistreerd gebruiker
    333 Berichten
    Ingeschreven
    07/05/08

    Locatie
    nvt

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: nvt
    KvK nummer: nvt
    Ondernemingsnummer: nvt

    Thread Starter
    Wel leerzaam dit allemaal.

  13. #13
    simpel php vraagje
    geregistreerd gebruiker
    849 Berichten
    Ingeschreven
    26/12/03

    Locatie
    Zwolle

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Naam: Daniël
    Registrar SIDN: Nee
    Ondernemingsnummer: nvt

    Citaat Oorspronkelijk geplaatst door Ramon Fincken Bekijk Berichten
    ja klopt helemaal, maar voor debugging bijvoorbeeld is het net effe lekkerder om een echo $sql; te doen voor je $result=mysql_query($sql); dan zitten klooien in die ene regel. En ook dat is zeker een kwestie van smaak

    Vergeet niet dat TS een beginner is
    Daar heb je een punt Al zou ik persoonlijk in een applicatie nooit direct mysql_query aanroepen voor een query als het aan mij lag, maar een Database Abstraction Layer implementeren.

    We weten beiden wel waar we over lullen, en beide oplossingen zijn goed. Ik denk dat de TS het idee wel krijgt :P Mijn reactie was in eerste instantie ook niet op jou gericht, maar op Dreamhost_NL, welke wijzigingen in mijn code aangaf welke (op 1 na) niet correct waren.

  14. #14
    simpel php vraagje
    geregistreerd gebruiker
    4.175 Berichten
    Ingeschreven
    09/12/05

    Locatie
    Almere

    Post Thanks / Like
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)
    76 Berichten zijn liked


    Naam: Ramon Fincken
    Bedrijf: Klarned Managed Hosting / Halvar.io
    Functie: CEO
    URL: www.klarned.is
    Registrar SIDN: Nee
    KvK nummer: 30262182
    TrustCloud: ramonfincken
    View ramonfincken's profile on LinkedIn

    amen
    Klarned Managed hosting Hosting, optimalisatie & debugging door WP Core developers

  15. #15
    simpel php vraagje
    geregistreerd gebruiker
    333 Berichten
    Ingeschreven
    07/05/08

    Locatie
    nvt

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: nvt
    KvK nummer: nvt
    Ondernemingsnummer: nvt

    Thread Starter
    Nu we toch bezig zijn, nog even 1 belangrijk ding: mysql_close

    Op 1 pagina doe ik wel eens een stuk of 5 verschillende queries. In ColdFusion hoefde ik nooit de connectie te sluiten. Maar met PHP moet dat wel lees ik op verschillende tutorials. Is het verstandig om helemaal onderaan elke PHP-pagina de connectie met mysql_close te sluiten? Want ik kan me voorstellen dat het 5x openen en sluiten per pagina het doel voorbijstreeft i.v.m. de overhead die dat kost?

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