Avatar billede syswatch Novice
30. juli 2003 - 14:30 Der er 18 kommentarer og
1 løsning

Vælger ikke altid et tilfældigt billede til oversigt

Hejsa.
Jeg er ved at lave en galleri oversigt hvor den skal vælge et tilfældigt billede til oversigten hver gang, men jeg tror der har sneget sig en fejl ind i min kode, for det er ikke hver gang der kommer et billede, men istedet kommer der en billede fejl.
Nogen der har et forslag ?

<html>
<head>
<title></title>
<LINK REL="stylesheet" TYPE="text/css" HREF="css/style.css">
</head>
<body>
<CENTER><B><FONT SIZE=2>Test Galleri</FONT></B><BR></CENTER>
<BR>
<?php
include("ban.php");
include("dbcon.php");

$query = "SELECT * FROM Galleri ORDER BY gid DESC";
   
    $result = mysql_query($query);

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

    print "<center>";
    extract($row);
   
    $mappe = "$mappe/thumbs/";
            if ($dir = @opendir($mappe)) {
              while (($file = readdir($dir)) !== false) {
                if ($file != "." && $file != "..") {
                  $billedarray[] = "$file";
                }
              } 
              closedir($dir);
            }

            $i = rand(0, count($billedarray));

    print "<TABLE WIDTH=95% BORDER=1 BORDERCOLOR=#000000><TR><TD>";

    print "<TABLE WIDTH=90% BORDER=0>";
    print "<TR>";
    print "<TD WIDTH=20%><A HREF=$mappe/index.php?bib=$mappe&event=$gid target=main><img src=\"$mappe$billedarray[$i]\" BORDER=0></A></TD>";
    print "<TD WALIGN=TOP WIDTH=70%><b>$overskrift</b><br><b>Sted:</b> $sted<br><b>Oprettet:</b> $oprettet<br><b>Vist: $vistantal</b><br></TD>";
    print "</TR></TABLE>";
   
    print "</TD></TR></TABLE>";
    print "<BR>";

}

?>

</BODY>
</HTML>
Avatar billede tipsen Nybegynder
30. juli 2003 - 14:43 #1
Hvad står der i html-koden de gange, hvor den laver "billede-fejl" ?
Avatar billede tipsen Nybegynder
30. juli 2003 - 14:44 #2
Prøv:

$i = rand(0, count($billedarray)-1);
Avatar billede syswatch Novice
30. juli 2003 - 14:50 #3
Der skriver den et filnavn som ikke findes i den mappe der henvises til, men findes i en anden mappe.
Det fatter jeg slet ikke noget af.... skulle du ikke mene koden skulle være iorden ?
Avatar billede syswatch Novice
30. juli 2003 - 14:54 #4
Jeg har lige prøvet at dit forslag men det hjalp desværre ikke.... øv
Avatar billede ahv Nybegynder
30. juli 2003 - 15:06 #5
Hvad med ->

if ($file != "." && $file != ".." && !is_dir($mappe."/".$file) {
Avatar billede ahv Nybegynder
30. juli 2003 - 15:07 #6
Og vi skal også have tipsen's med ->

$i = rand(0, count($billedarray)-1);

if ($file != "." && $file != ".." && !is_dir($mappe."/".$file) {

man kunne måske tro at den fil den ville åbne var en mappe?
Avatar billede tipsen Nybegynder
30. juli 2003 - 15:09 #7
Hvad med is_file() i stedet for !is_dir() ?
Avatar billede syswatch Novice
30. juli 2003 - 15:12 #8
Nu fik jeg en:
Parse error: parse error, unexpected '{' in /home/nodde/galleri/galleri.php on line 25
Efter jeg skiftede linien ud med din ahv...
Avatar billede ahv Nybegynder
30. juli 2003 - 15:16 #9
Bare så vi er enige, så er din kode nu ->

<html>
<head>
<title></title>
<LINK REL="stylesheet" TYPE="text/css" HREF="css/style.css">
</head>
<body>
<CENTER><B><FONT SIZE=2>Test Galleri</FONT></B><BR></CENTER>
<BR>
<?php
include("ban.php");
include("dbcon.php");

$query = "SELECT * FROM Galleri ORDER BY gid DESC";
$result = mysql_query($query);
while($row = mysql_fetch_array($result)) {
    print "<center>";
    extract($row);
    $mappe = "$mappe/thumbs";
    if ($dir = @opendir($mappe)) {
        while (($file = readdir($dir)) !== false) {
            if ($file != "." && $file != ".." && !is_dir($mappe."/".$file) {
                  $billedarray[] = $file;
            }
        } 
        closedir($dir);
    }
    $i = rand(0, count($billedarray)-1);
    print "<TABLE WIDTH=95% BORDER=1 BORDERCOLOR=#000000><TR><TD>";
    print "<TABLE WIDTH=90% BORDER=0>";
    print "<TR>";
    print "<TD WIDTH=20%><A HREF=$mappe/index.php?bib=$mappe&event=$gid target=main><img src=\"$mappe/$billedarray[$i]\" BORDER=0></A></TD>";
    print "<TD WALIGN=TOP WIDTH=70%><b>$overskrift</b><br><b>Sted:</b> $sted<br><b>Oprettet:</b> $oprettet<br><b>Vist: $vistantal</b><br></TD>";
    print "</TR></TABLE>";
    print "</TD></TR></TABLE>";
    print "<BR>";
}
?>

</BODY>
</HTML>

?
Avatar billede syswatch Novice
30. juli 2003 - 15:23 #10
Fejl:

Parse error: parse error, unexpected '{' in /home/nodde/galleri/galleri.php on line 21
Avatar billede ahv Nybegynder
30. juli 2003 - 15:27 #11
<html>
<head>
<title></title>
<LINK REL="stylesheet" TYPE="text/css" HREF="css/style.css">
</head>
<body>
<CENTER><B><FONT SIZE=2>Test Galleri</FONT></B><BR></CENTER>
<BR>
<?php
include("ban.php");
include("dbcon.php");

$query = "SELECT * FROM Galleri ORDER BY gid DESC";
$result = mysql_query($query);
while($row = mysql_fetch_array($result)) {
    print "<center>";
    extract($row);
    $mappe = "$mappe/thumbs";
    if ($dir = @opendir($mappe)) {
        while (($file = readdir($dir)) !== false) {
            if ($file != "." && $file != ".." && !is_dir($mappe."/".$file)) {
                  $billedarray[] = $file;
            }
        } 
        closedir($dir);
    }
    $i = rand(0, count($billedarray)-1);
    print "<TABLE WIDTH=95% BORDER=1 BORDERCOLOR=#000000><TR><TD>";
    print "<TABLE WIDTH=90% BORDER=0>";
    print "<TR>";
    print "<TD WIDTH=20%><A HREF=$mappe/index.php?bib=$mappe&event=$gid target=main><img src=\"$mappe/$billedarray[$i]\" BORDER=0></A></TD>";
    print "<TD WALIGN=TOP WIDTH=70%><b>$overskrift</b><br><b>Sted:</b> $sted<br><b>Oprettet:</b> $oprettet<br><b>Vist: $vistantal</b><br></TD>";
    print "</TR></TABLE>";
    print "</TD></TR></TABLE>";
    print "<BR>";
}
?>

</BODY>
</HTML>
Avatar billede syswatch Novice
30. juli 2003 - 15:31 #12
:-) Det så ikke ud til at hjælpe... du får lige en adresse så du kan se med:
www.noddepatruljen.dk    under galleri.
Avatar billede ahv Nybegynder
30. juli 2003 - 15:40 #13
Har det ikke noget at gøre med at mappen måske skal være ->

$mappe = "galleri/$mappe/thumbs";
Avatar billede syswatch Novice
30. juli 2003 - 15:42 #14
Nej, det tror jeg ikke, for den her fil, ligger i mappen galleri.
Avatar billede syswatch Novice
30. juli 2003 - 15:43 #15
Og i mappen galleri er der en masse undermapper med naven på de forskellige gallerier. Her er den som den ser ud lige nu.

<html>
<head>
<title>Syswatch.dk</title>
<LINK REL="stylesheet" TYPE="text/css" HREF="css/style.css">
</head>
<body>
<CENTER><B><FONT SIZE=2>NøddePatruljens Galleri</FONT></B><BR></CENTER>
<BR>
<?php
include("ban.php");
include("dbcon.php");

$query = "SELECT * FROM Galleri ORDER BY gid DESC";
$result = mysql_query($query);
while($row = mysql_fetch_array($result)) {
    print "<center>";
    extract($row);
    $mappe1 = "$mappe/thumbs";
    if ($dir = @opendir($mappe1)) {
        while (($file = readdir($dir)) !== false) {
            if ($file != "." && $file != ".." && !is_dir($mappe."/".$file)) {
                  $billedarray[] = $file;
            }
        } 
        closedir($dir);
    }
    $i = rand(0, count($billedarray)-1);
    print "<TABLE WIDTH=95% BORDER=1 BORDERCOLOR=#000000><TR><TD>";
    print "<TABLE WIDTH=90% BORDER=0>";
    print "<TR>";
    print "<TD WIDTH=20%><A HREF=$mappe/index.php?bib=$mappe&event=$gid target=main><img src=\"$mappe1/$billedarray[$i]\" BORDER=0></A></TD>";
    print "<TD WALIGN=TOP WIDTH=70%><b>$overskrift</b><br><b>Sted:</b> $sted<br><b>Oprettet:</b> $oprettet<br><b>Vist: $vistantal</b><br></TD>";
    print "</TR></TABLE>";
    print "</TD></TR></TABLE>";
    print "<BR>";
}
?>



</BODY>
</HTML>
Avatar billede ahv Nybegynder
30. juli 2003 - 15:46 #16
Det er blot fordi den viser jo nogen og dem som den ikke viser ligger rigtigt nok i galleri/thumbs.

Jeg smutter på arbejde er her igen 19:30
Avatar billede syswatch Novice
30. juli 2003 - 15:49 #17
Jeg synes bare det er underligt at den ikke vælger rigtige filer, og den ikke viser billederne ordentlig ?

For koden er jo ikke helt den i vejret vel ? Tipsen, havde du andre forslag ?
Avatar billede ahv Nybegynder
30. juli 2003 - 19:12 #18
Men i din egen du postede her til sidst er der lidy fejl du har ændret $mappe til $mappe1, men ikke alle steder har du ændret der hvor du før skrev $mappe til $mappe1
Avatar billede syswatch Novice
31. juli 2003 - 09:12 #19
ahv, nej det ved jeg godt, men det er med vilje. Det er noget med nogle variabler der bliver overført fra tidligere side.
Men jeg har fundet en anden løsning på problemet, men mange tak for din indsats og du får pointene.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester