Likes Likes:  0
Resultaten 1 tot 2 van de 2
Geen
  1. #1
    Jan
    Details krijgen met selectielijst
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Details krijgen met selectielijst

    Hallo allemaal,
    Ik heb een tabel met vogelwaarnemingen: in de trant van heggemus, 2 juni
    2003, thuis. In de tabel zit een waarnemingID, soortnaam, datum, aantal,
    plaats, biezonderheden. Nu heb ik uit die tabel een soortenlijst
    gedestillleerd met SELECT DISTINCT. Die lijst heb ik in een
    selectieformulier gekregen, en de bedoeling is dat als je een soort
    selecteert, dat dan een pagina wordt opgeroepen met daarin de gegevens die
    bij die soort horen: dus als je heggemus inpikt, dat je dan in een tabel
    ziet dat-ie gezien is op 2 juni 2003 in mijn tuin, maar ook in 3 mei vorig
    jaar in Assen etc. Alleen: ik krijg het niet voor elkaar. Het formulier met
    de selectie wel. Maar daarna gaat het mis. Heeft iemand een idee waar het
    aan ligt? Of kan het gewoon niet: je haalt natuurlijk een variabele uit een
    tabel, doet dan net of het een vate waarde is, en je gaat met die vaste
    waarde verder zoeken. De resultaten (met de fout) kun je zien op
    www.jandijk.nl/php/soortkeuze4.php

    Alvast bedankt.


    Hieronder staat de code:
    <?php
    // variabelen initialiseren:
    $username = "***";
    $password = "***";
    $host="localhost";
    $dbnaam="***";
    $query="SELECT DISTINCT soort FROM vogelwaarnemingen ORDER BY soort";

    // query uitbreiden indien soort is doorgegeven
    if (!empty($_POST)){
    $query .= " WHERE soort='" . $_POSTsoort . "'";
    }
    // ---- einde initialisatie

    $db = mysql_pconnect ("localhost", "***", "***")
    or die ("Kan geen verbinding maken met de server");
    Mysql_select_db ("***")
    or die ("Kan geen database vinden");
    ?>
    <html>
    <head>
    <title>Een soortenlijst op het scherm tonen</title>
    </head>
    <body>
    <?php
    // controleer of pagina voor het eerst wordt geopend, of
    // dat de pagina zichzelf heeft aangeroepen

    if (empty($_POST)){?>
    <h2>Kies een soort</h2>
    <form name="form1" action="<?php echo($_SERVER["PHP_SELF"]);?>"
    method="post">
    soort:
    <select name="soort">
    <?php
    // de selectielijst vullen met beschikbare ID's
    $result = mysql_query($query) or die (mysql_error());
    while (list($soort) = mysql_fetch_row($result)){
    echo("<option value=\"$soort\">$soort</option>\n");
    }?>
    </select>
    <input type="Submit" value="Tonen">
    </form>
    <?php
    }else{
    // Als de pagina zichzelf heeft aangeroepen het else-blok uitvoeren
    global $soort;
    $soort = $_POSTsoort;//hier gaat het dus fout.
    //Als ik vierkante haken zet dan verwacht-ie
    //een kolom met de vogelnaam.
    //Als ik ronde haken zet (zoals ze er nu staan)
    // roept-ie iets over een
    //ongedefinieerde functie:
    //Fatal error: Call to undefined function:
    // array()
    // in/home/sites/site61/web/php/soortkeuze2.php
    // on line 29


    echo("<h2>Doorgegeven soort: $soort </h2>\n");
    $query="SELECT $soort FROM vogelwaarnemingen";
    $result = mysql_query($query) or die (mysql_error());
    while (list($waarnemingenID, $soort, $datum, $plaats, $aantal,
    $biezonderheden, $extra) =
    mysql_fetch_row($result)){
    echo
    ("
    <tr>
    <td width=5%><font face=Arial, Helvetica, sans-serif
    size=2>$waarnemingenID</font></td>
    <td width=14%><font face=Arial, Helvetica,
    sans-serif size=2>$soort</font></td>
    <td width=15%><font face=Arial, Helvetica,
    sans-serif size=2>$datum</font></td>
    <td width=15%><font face=Arial, Helvetica,
    sans-serif size=2>$plaats</font></td>
    <td width=15%><div align=center><font face=Arial,
    Helvetica, sans-serif size=2>$aantal</font></div></td>
    <td windt=36%><font face=Arial, Helvetica,
    sans-serif size=2>$biezonderheden</font></td>


    </tr>
    \n
    ");
    echo("<a href=\"" . $_SERVER["PHP_SELF"] . "\">Andere soort
    selecteren</a>");
    }
    }
    // verbinding afsluiten
    mysql_close($db);
    ?>
    </body>
    </html>




  2. #2
    Jaap-Andre de Hoop
    Details krijgen met selectielijst
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Details krijgen met selectielijst

    In article <BA8DF0C3.6A9F%jan-dijk@planet.nl>, Jan <jan-dijk@planet.nl> wrote:
    >Hallo allemaal,
    >Ik heb een tabel met vogelwaarnemingen: in de trant van heggemus, 2 juni
    >2003, thuis. In de tabel zit een waarnemingID, soortnaam, datum, aantal,
    >plaats, biezonderheden. Nu heb ik uit die tabel een soortenlijst
    >gedestillleerd met SELECT DISTINCT. Die lijst heb ik in een
    >selectieformulier gekregen, en de bedoeling is dat als je een soort
    >selecteert, dat dan een pagina wordt opgeroepen met daarin de gegevens die
    >bij die soort horen: dus als je heggemus inpikt, dat je dan in een tabel
    >ziet dat-ie gezien is op 2 juni 2003 in mijn tuin, maar ook in 3 mei vorig
    >jaar in Assen etc. Alleen: ik krijg het niet voor elkaar. Het formulier met
    >de selectie wel. Maar daarna gaat het mis. Heeft iemand een idee waar het
    >aan ligt? Of kan het gewoon niet: je haalt natuurlijk een variabele uit een
    >tabel, doet dan net of het een vate waarde is, en je gaat met die vaste
    >waarde verder zoeken. De resultaten (met de fout) kun je zien op
    >www.jandijk.nl/php/soortkeuze4.php


    Het begin is goed gevonden, maar bij de tweede stap maak je een denkfout.
    (foutmelding was error in sql)

    >$query="SELECT DISTINCT soort FROM vogelwaarnemingen ORDER BY soort";
    >
    >// query uitbreiden indien soort is doorgegeven
    >if (!empty($_POST)){
    > $query .= " WHERE soort='" . $_POSTsoort . "'";


    waarom wil je dit uitbreiden? je hebt toch al de soort in $_POST[soort] ?
    Let trouwens op de haken rondom soort, daarom gaat die query
    fout$_POSTsoort is namelijk leeg.


    >}else{
    > // Als de pagina zichzelf heeft aangeroepen het else-blok uitvoeren
    > global $soort;
    > $soort = $_POSTsoort;//hier gaat het dus fout.
    > //Als ik vierkante haken zet dan verwacht-ie
    > //een kolom met de vogelnaam.
    > //Als ik ronde haken zet (zoals ze er nu staan)
    > // roept-ie iets over een
    > //ongedefinieerde functie:
    > //Fatal error: Call to undefined function:
    > // array()
    > // in/home/sites/site61/web/php/soortkeuze2.php
    > // on line 29
    >
    >
    > echo("<h2>Doorgegeven soort: $soort </h2>\n");
    > $query="SELECT $soort FROM vogelwaarnemingen";
    > $result = mysql_query($query) or die (mysql_error());
    > while (list($waarnemingenID, $soort, $datum, $plaats, $aantal,
    >$biezonderheden, $extra)


    in deze query vraag je alleen $soort op, niet de overige informatie:
    $query2="select soort, waarnemeningenID, datum,plaats,aantal,
    bijzonderheden, extra from volgewaarnemingen where
    soort=$_POST['soort']";
    Verder gebruik je een 'exotische' manier om de gegevens uit de database
    te krijgen. Goed gebruik is mysql_fetch_array of mysql_fetch_object.



    > <td windt=36%><font face=Arial, Helvetica,
    >sans-serif size=2>$biezonderheden</font></td>



    typo windt=width, waarom telkens font face=arial, blablabla, je bent geen
    MSWord? (kan makkelijker, zodat minder code en minder verkeer oplevert).

    Bien, nog een paar dingen aan te passen, veel succes.

    Jaap-Andre

Webhostingtalk.nl

Contact

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