login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Loop geeft een div te veel weer

Offline GroundZero - 04/03/2013 16:29 (laatste wijziging 04/03/2013 16:54)
Avatar van GroundZeroLid Beste,

ik wil via een functie elke keer een drietal foto's weergeven. Wanneer er 3 geweest zijn, moet er een nieuwe rij gestart worden en weer 3 weergegeven worden.

Echter zit er iets fout in mijn functie en ik kom er niet uit. Ik heb nu 3 foto's in mijn database staan, en deze worden correct weergegeven echter voegt hij nog éénmaal een </div><div class="slide"> toe terwijl er geen foto's meer zijn en dit dus niet de bedoeling is.


Kan iemand mijn code corrigeren en vertellen wat ik verkeerd doe? Heb diverse dingen geprobeerd maar kom er niet uit :S

  1. function slider()
  2. {
  3. $query = mysql_query('SELECT project_naam, impressie FROM site_projecten ORDER BY id DESC');
  4. $rows = mysql_num_rows($query);
  5.  
  6. $i = 1;
  7.  
  8. echo '<div class="slide">';
  9.  
  10. while($fetch = mysql_fetch_assoc($query))
  11. {
  12. if($i % 3 == 0)
  13. {
  14. echo '<div class="item"><img src="uploads'.DIRECTORY_SEPARATOR.'thumb_'.$fetch['impressie'].'" alt="BijZonderPlan impressie" /></div>';
  15.  
  16. if($i <= $rows)
  17. {
  18. echo'</div><div class="slide">';
  19. }
  20. }
  21. else
  22. {
  23. echo '<div class="item"><img src="uploads'.DIRECTORY_SEPARATOR.'thumb_'.$fetch['impressie'].'" alt="BijZonderPlan impressie" /></div>';
  24. }
  25.  
  26. $i++;
  27. }
  28.  
  29. echo '</div>';
  30. }

6 antwoorden

Gesponsorde links
Offline Abbas - 04/03/2013 16:57 (laatste wijziging 04/03/2013 16:57)
Avatar van Abbas Gouden medaille

Crew .NET
Probeer eens:

  1. if($i < $rows)

in plaats van:

  1. if($i <= $rows)
Offline GroundZero - 04/03/2013 17:37
Avatar van GroundZero Lid Yes had ik geprobeerd maar dan weergeeft hij helemaal niks meer ;)
Daarom vond ik het al raar 
Offline Abbas - 04/03/2013 19:33
Avatar van Abbas Gouden medaille

Crew .NET
Hoe kan hij nu niets weergeven? Dan zit je ergens anders fout. Ik heb in JavaScript snel even jpuw situatie nagebootst. En als ik op een gegeven moment dit doe:

  1. if(i <= rows) { ... }

Dan krijg ik ook die 'div' te veel. Maar als ik er het volgende van maak:

  1. if(i < rows) { ... }

Dan is het resultaat zoals verwacht! Kijk eens goed na of het dan niet ergens anders zit...
Offline GroundZero - 04/03/2013 23:08
Avatar van GroundZero Lid Raar!... mijn code hieronder:

  1. $(function(){
  2. $('#slides').slides({
  3. preload: true,
  4. preloadImage: 'images/loading.gif',
  5. play: 5000,
  6. pause: 2500,
  7. hoverPause: true,
  8. pagination: false,
  9. generatePagination: false
  10. });
  11. });



  1. <div class="slider">
  2. <div id="slides">
  3. <div class="previous-btn">
  4. <a href="#" class="next"><img src="img/arrow-next.png" width="24" height="43" alt="Arrow Next"></a>
  5. </div>
  6. <div class="slides_container">
  7. <?=slider()?>
  8. </div>
  9. <div class="next-btn">
  10. <a href="#" class="prev"><img src="img/arrow-prev.png" width="24" height="43" alt="Arrow Prev"></a>
  11. </div>
  12. </div>
  13.  
  14. </div>


Ik gebruik http://slidesjs.com/ en mijn CSS is als volg:

  1. .slides_container {
  2. width:561px;
  3. height:170px;
  4. float:left;
  5. display:none;
  6. }
  7.  
  8. .slides_container .slide {
  9. width:561px;
  10. height:170px;
  11. display:block;
  12. }
  13.  
  14. .item {
  15. float:left;
  16. width:167px;
  17. height:135px;
  18. margin:0 10px;
  19. background:#efefef;
  20. }
  21.  
  22. .pagination {
  23. list-style:none;
  24. margin:0;
  25. padding:0;
  26. }
  27.  
  28. .pagination .current a {
  29. color:red;
  30. }
  31.  
  32. .previous-btn {
  33. width:24px;
  34. height:170px;
  35. float:left;
  36. margin:0 2px 0 10px;
  37. }
  38.  
  39. .next-btn {
  40. width:24px;
  41. height:170px;
  42. float:left;
  43. margin-left:10px;
  44. }
  45.  
  46. .previous-btn img, .next-btn img {
  47. margin-top:80px;
  48. }
  49.  
  50. .lightmsg {
  51. display:inline-block;
  52. margin-right:50px;
  53. min-width:10px;
  54. }
Offline Abbas - 05/03/2013 09:08
Avatar van Abbas Gouden medaille

Crew .NET
Probeer toch eens met enkel "<" en niet "<=" en vertel wat je wel/niet te zien krijgt en of er foutmeldingen zijn en wat deze zeggen.
Offline GroundZero - 05/03/2013 18:20
Avatar van GroundZero Lid Er is gewoon "niks" echt blank... ik zal nog eens goed testen dadelijk en kijken of ik iets met firefox plug-ins kan vinden ik post het hier!
Bedankt door: Abbas
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.2s