Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

Incorrecte weergave van foto's

None
6 antwoorden
  • Hallo,

    Ik heb een php bestand dat foto's uit een database haalt en 5 foto's horizontaal weergeeft en dan op een nieuwe rij begint. Op zich gaat dit goed. Het enige probleem is dat hij na elke 5e foto de zesde foto overslaat en op de nieuwe rij met de 7e foto begint.

    Hoe kan ik er voor zorgen dat hij alle foto's weer geeft niet elke zesde foto overslaat.

    De code:
    [code:1:a858cf789d]
    <?php
    //verbind met de database-server en kies database
    include 'connect.php';

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

    $result = mysql_query("SELECT * FROM fotos WHERE gallery=1 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');

    //hier begint de tabel

    // foto afbeelden op 100 x 68 pixels
    $filenaam = "test/".$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();
    ?>
    </tr>
    </table></center>[/code:1:a858cf789d]

    [b:a858cf789d][mod-edit][/b:a858cf789d]
    Even "code" tags om de code gezet ivm de leesbaarheid.

    Zie: http://forum.computertotaal.nl/phpBB/faq.php?mode=bbcode

    BG.
    [b:a858cf789d][/mod-edit][/b:a858cf789d]
  • Volgens mij doe je te vroeg "$j++;", die zou je pas binnen het "if($j < 6)" blok moeten uitvoeren in plaats van ervoor.
  • Bedankt voor het aanpassen van mijn topic.

    Ik denk dat "$j ++" wel op de goede plaats staat. Ik denk dat de fout ergens bij de "If $j < 6" zit, want ik heb 6 al veranderd in 7 en dan slaat hij elke 7e foto over.

    Het moet zo zijn dat hij na de 5e foto op de nieuwe rij met de 6e foto begint. Dus "$j < 6" of "$j <= 5". Bij beide slaat hij 1 foto over. Ik zie maar 6 foto's, terwijl er 7 in de database staan.
  • Dat klopt, omdat "$j" nooit 0 is. Je maakt er meteen 1 van door die "$j++;" en je slaat dus ook de laatste foto niet over, maar altijd de eerste…
  • Klikt logisch, maar hoe verwerk ik dat in mijn code?
  • Dat staat al in mijn eerste reactie…

Beantwoord deze vraag

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