login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Willekeurige afbeelding plaatsen.

Offline WebVisual - 19/08/2005 16:14
Avatar van WebVisualLid Hier bij scripts zit een ding om random een afbeelding uit een directorie te halen en weer te geven. Als ik dit doe dan geeft hij af en toe geen afbeelding weer. Probleem is te zien op http://dais.webvisual.be/?pagina=fotoalbum en daar dan is paar keer refreshen.


Dit is de code:
  1. <?
  2. if(isset($_GET['album_id'])) {
  3. include ('fotoalbum.php');
  4. } elseif (isset($_GET['sport_id'])) {
  5.  
  6. $query2="SELECT naam FROM sport WHERE sport_id = \"$sport_id\"";
  7. $sql2=mysql_query($query2) or die (mysql_error());
  8. while ($obj=mysql_fetch_object($sql2)) {
  9.  
  10. echo "<h3>$obj->naam</h3>";
  11. }
  12.  
  13.  
  14. $query="SELECT * FROM fotoalbum WHERE sport_id = \"$sport_id\"";
  15. $sql=mysql_query($query) or die (mysql_error());
  16.  
  17. while ($obj=mysql_fetch_object($sql)) {
  18.  
  19. echo "Album: <a href=\"?pagina=fotoalbum&album_id=$obj->album_id\">$obj->naam</a><br>";
  20. echo "Beschrijving: $obj->beschrijving<br><br>";
  21. echo "<hr>";
  22. }
  23. } else {
  24.  
  25. $query="SELECT * FROM fotoalbum ORDER by album_id";
  26. $sql=mysql_query($query) or die (mysql_error());
  27. while ($obj=mysql_fetch_object($sql)) {
  28.  
  29. $dir = "fotoalbum/" . $obj->album_id . "/";
  30. $teller=1;
  31. if ($handle = opendir($dir)) {
  32. while (false !== ($file = readdir($handle))) {
  33. if ($file != "." && $file != "..") {
  34. $teller++;
  35. $img[$teller] = $file;
  36. }
  37. }
  38.  
  39. closedir($handle);
  40. }
  41. $random = rand(0, count($img));
  42.  
  43. echo "<table border=\"0\" width=\"95%\" class=\"td_menu\" align=\"center\" cellspacing=\"0\" cellpadding=\"10\"><tr><td><a href=fotoalbum/$dir$img[$random] TARGET=_blank><img src=\"$dir$img[$random]\" width=100 height=100 border=0></a></td>";
  44. echo "<td valign=\"top\">Album: <a href=\"?pagina=fotoalbum&album_id=$obj->album_id\">$obj->naam</a><br>";
  45. echo "Beschrijving: $obj->beschrijving<br><br></td></tr></table>";
  46. echo "<hr>";
  47. }
  48. }
  49. ?>

4 antwoorden

Gesponsorde links
Offline Frisbee - 19/08/2005 17:16
Avatar van Frisbee HTML beginner dat komt doordat wanneer er bijvoorbeeld 10 plaatjes in $img zitten count($img) 10 terug geeft (het aantal) maar omdat de array begint bij $img[0] is de laatste is $img[9]. Als er uit random het hoogste getal komt bestaat ie dus niet.

zo zou die moeten werken:

rand(0, count($img) - 1);
Offline Ibrahim - 19/08/2005 17:18
Avatar van Ibrahim PHP expert en $vars buiten quotes houden hoe vaak is dat wel niet op het forum gezegd 
Offline Frisbee - 19/08/2005 17:20 (laatste wijziging 19/08/2005 17:20)
Avatar van Frisbee HTML beginner daar begin ik niet eens meer over.. 
Offline WebVisual - 19/08/2005 21:17 (laatste wijziging 19/08/2005 21:21)
Avatar van WebVisual Lid :p noob

btw tnx maar het werkt niet.

dit ook veranderd en dan werkt het wel
$teller=-1;
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.178s