Deze website maakt gebruik van cookies. Waarom? Klik hier voor ons privacy- en cookiebeleid. Door op akkoord te klikken of door gebruik te blijven maken van deze website geeft u aan akkoord te zijn met het gebruik van cookies.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

Foto's uit database halen met php/mysql

Annie
1 antwoord
  • Hallo,

    Ik ben nog steeds met met de site bezig en het gaat de goede kant op, maar nu loop ik tegen een aantal problemen aan met de foto pagina.

    [quote:aceb595877="de foto pagina"]
    table width="600" border="0" cellpadding="0" cellspacing="0">
    <!–DWLayoutTable–>
    <tr>
    <td width="600" height="67" valign="top"><p align="center"><br>
    Foto's<br>
    <img src="layout/oranjebalk.gif" width="600" height="1"></p></td>
    </tr>
    <tr>
    <td height="409" valign="top">

    <table width="400" align="center">
    <tr>
    <td>Gallery</td><td>Circuit</td><td>Omschrijving</td>
    </tr>

    <?

    mysql_pconnect("localhost","user","password");

    mysql_select_db("racingte");

    $result = mysql_query("select * from gallery WHERE zichtbaar=ja ORDER BY gallery DESC");

    ?>[/color:aceb595877]
    <?

    while($r=mysql_fetch_array($result)) {

    $gallery = $r["gallery"];

    $circuit = $r["circuit"];

    $omschrijving = $r["omschrijving"];

    $dir = $r["dir"];

    $zichtbaar = $r["zichtbaar"];

    echo "<tr>";
    echo "<td align=left>$gallery</td>";
    echo "<td align=left>$circuit:</td>";
    echo "<td align=left><a href=?page=thumbs&gallery=$gallery&titel=$omschrijving>$omschrijving</a></td>";
    echo "</tr>";

    }

    ?>[/color:aceb595877]</table>


    </td>
    </tr>
    </table>
    [/quote:aceb595877]

    Bovenstaande pagina haalt zijn gegevens uit een tabel foto's en een tabel gallery.

    Tabel foto's
    =======

    id = een uniek nummer wordt automatisch verhoogd….
    gallery = het nummer van de betreffende fotoserie.
    filenaam = de bestandsnaam
    omschrijving = de omschrijving van de foto. Wat is er te zien op de foto?

    Tabel gallery
    ========

    gallery = het nummer van de betreffende fotoserie
    circuit = naam van circuit
    omschrijving = omschrijving van de fotoserie
    dir = directory waar de foto's zich bevinden
    zichtbaar = zichtbaar op de fotopagina ja/nee

    Als ik een nieuwe fotoserie wil plaatsen op de site doe ik het volgende:
    -Ik maak een nieuwe gallery aan in de tabel gallery
    -Als ik dat gedaan heb weet ik het gallerynummer.
    -Ik vul bij zichtbaar ja/nee in. Als ik ja kies dan worden de gegevens toegevoegd aan de fotopagina. Er wordt dus een link gemaakt, waar je op kunt klikken om zo de gallery te openen. Als ik nee invul betekent dit dat ik de foto's op andere pagina's ga gebruiken.
    -Vervolgens voeg ik de foto's toe aan de tabel foto's

    [quote:aceb595877="de pagina thumbs"]
    <?php
    $titel = $_GET ['titel'];

    ?>

    <table width="600" border="0" cellpadding="0" cellspacing="0">
    <!–DWLayoutTable–>
    <tr>
    <td width="600" height="67" valign="top"><p align="center"><br>
    <span class="style4"><?php echo htmlspecialchars($titel); ?></span><br>
    <img src="layout/oranjebalk.gif" width="600" height="1"></p></td>
    </tr>
    <tr>
    <td height="409" valign="top">

    <!–hier begint de php code–>

    <center>
    <table border=0>
    <tr>

    <?php
    //verbind met de database-server en kies database
    include 'connect.php';

    $gallery2 = $_GET['gallery']; //doorgegeven gallery waarde op halen

    //haal rijen uit de tabel fotos en selecteer op pagina en sorteer of id

    $result = mysql_query("SELECT fotos.id, fotos.gallery, fotos.filenaam, fotos.omschrijving, gallery.dir
    FROM fotos, gallery WHERE fotos.gallery=$gallery2 ORDER BY id ASC") or die(mysql_error());



    $aantal_rijen = mysql_num_rows($result);

    $j = 0; //teller j op nul zetten


    // als er rijen gevonden zijn…
    if ($aantal_rijen > 0) {

    // alle rijen een voor een aflopen…

    for ($i = 0; $i < $aantal_rijen; $i++) {

    $j++;

    $id = mysql_result ($result, $i, 'id');
    $gallery = mysql_result ($result, $i, 'gallery');
    $filenaam = mysql_result ($result, $i, 'filenaam');
    $omschrijving = mysql_result ($result, $i, 'omschrijving');
    $dir = mysql_result ($result, $i, 'dir');

    //hier begint de tabel

    // foto afbeelden op 100 x 68 pixels
    $filenaam = $dir.$filenaam;
    if ($j < 6) {

    echo "<td width=100 valign=top><a href=javascript:popup("toonfoto.php?&waarde=$filenaam")>
    <img src="$filenaam" height=75 width=100 border=3 bordercolor=#FF0000 hspace=1></a><br><font size=2 color=red><center>$omschrijving</center></font></td>";
    }
    else
    {
    echo "</tr>";
    $j = 0;
    }

    } // einde alle rijen afgelopen
    } // einde als er rijen gevonden zijn
    mysql_free_result($result);
    mysql_close();
    ?>[/color:aceb595877]</tr>
    </table></center>

    <!–Hier eindigt de php code–>

    <!–DWLayoutEmptyCell–>&nbsp;</td>
    </tr>
    </table>
    [/quote:aceb595877]

    Wat gaat er nu verkeerd?
    Als ik een gallery aanmaak en voeg de foto's toe gaat alles goed (heb 1 gallery er in staan). Ga ik nu in de map waar de foto's staan een submap aanmaken dan is het net of hij in de eerste gallery ook foto's uit de submap wil halen. Ik krijg dan afbeeldingen met een rood kruisje (ze kunnen niet weergegeven worden). Ik heb die submap weer verwijderd en alles is weer goed.

    Ook heb ik in de de tabel gallery een veld zichtbaar ja/nee ingevoegd. Had ik dat niet gedaan dan kwamen alle fotoseries op de fotopagina te staan en dat is niet de bedoeling. De bedoeling om voor andere pagina's ook foto's uit de tabel foto's te halen. Anders krijg je immers redundantie.

    Ik krijg nu op de fotopagina die online staat niets meer te zien terwijl bij zichtbaar toch ja is ingevuld. Als ik de pagina opvraag op mijn eigen pc krijg ik onderstaande foutmelding:

    [i:aceb595877]Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Xitami\webpages\rds\site\fotos.php on line 28[/i:aceb595877]

    Weet iemand hoe ik deze 2 problemen op kan lossen? Alvast bedankt voor de moeite.

    URL naar de site: http://www.racingteamdesikken.nl

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.