Vraag & Antwoord

Webprogrammeren & scripting

Incorrecte weergave van foto's

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

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

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