Avatar billede syswatch Novice
09. juli 2003 - 10:53 Der er 11 kommentarer og
1 løsning

Optælling af filer i flere mapper

Jeg har denne fil der lister mine gallerier.
Jeg vil gerne have at man kan se hvor mange billeder der er i hvert galleri. Hvert galleri ligger i en mappe, og der skal så laves en optæling for hver mappe.

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);

    print "<A HREF=$mappe/index.php?bib=$mappe&event=$gid target=main><li> $overskrift</A><br><br>";


}

Jeg har prøvet mig frem men kan ikke få det til at virke.
Nogen der har et forslag ?
Avatar billede erikjacobsen Ekspert
09. juli 2003 - 11:24 #1
Er det blot at tælle filer (af bestemte typer) i de mapper du får ud
af den viste forespørgsel?
Avatar billede syswatch Novice
09. juli 2003 - 11:27 #2
Ja, den skal bare tælle alle JPG billederne... men der ligger kun JPG billeder i mapperne.
Avatar billede sostack Nybegynder
09. juli 2003 - 12:25 #3
Noget i denne retning:

<?php
$filtype = "jpg";
// connect til din database her //
$query = "SELECT * FROM Galleri ORDER BY gid DESC";
   
    $result = mysql_query($query);

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

    echo "Galleriet " . $row["mappe"] . " indeholder " . $listfiler($row["mappe"], $filtype) . " billeder<br />\n";
    }


funtion litsfiler($dir, $filtype)
{
    $antal[$dir] = 0;
    if ($dh = opendir($dir)) {
            while ($file = readdir($dh) && filetype($dir . $file) == $filtype)
            {
                $antal[$dir]++;
            }
    return $antal[$dir];
}
?>

//sostack
Avatar billede sostack Nybegynder
09. juli 2003 - 12:26 #4
funtion litsfiler($dir, $filtype)
skal self være:
funtion listfiler($dir, $filtype)

//sostack
Avatar billede sostack Nybegynder
09. juli 2003 - 12:27 #5
Det går jo rigtigt godt idag, det må være varmen ;-}
funtion listfiler($dir, $filtype)
skal self være:
function listfiler($dir, $filtype)

//sostack
Avatar billede syswatch Novice
09. juli 2003 - 12:51 #6
Sostack: Jeg tror du har misforstået det lidt, eller også har jeg selv.

Den sidde jeg har, laver en masse links til de forskellige gallerier, og ud for hvert link skal der stå antal billeder. Mit galleri kører ikke på en MySQL database... Det er bare en index fil der lister alle billederne.
Avatar billede sostack Nybegynder
09. juli 2003 - 13:01 #7
Så tror jeg det er dig der har misforstået et eller andet, da du starter med at include("dbcon.php") og lave forespørgsel på:
$query = "SELECT * FROM Galleri ORDER BY gid DESC";
$result = mysql_query($query);
while($row = mysql_fetch_array($result)) {

Det er da MySql i reneste form ????

//sostack
Avatar billede syswatch Novice
09. juli 2003 - 13:04 #8
Nå, ja ok.. sorry. :-)
Det er fordi jeg henter overskriften og mappen i en mysql db.
Men jeg kan umiddelbart ikke lige se hvordan jeg skal sætte din kode sammen med min.

Det skulle gerne komme til at se sådan her ud:
- Fest hos xxxx 12.12.12      Billeder: 53
- Fest hos xxxx 10.10.10      Billeder: 47

Men jeg prøver lige...
Avatar billede syswatch Novice
09. juli 2003 - 13:12 #9
Nu ser det sådan ud, men der er sku sneget sig en fejl ind.

<?php
include("ban.php");
include("dbcon.php");

            $filtype = "jpg";
                    function listfiler($dir, $filtype)
                    {
                        $antal[$dir] = 0;
                            if ($dh = opendir($dir)) {
                            while ($file = readdir($dh) && filetype($dir . $file) == $filtype)
                        {
                        $antal[$dir]++;
                        }
                        return $antal[$dir];
                        }


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

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

    print "<center>";
    extract($row);

    print "<A HREF=$mappe/index.php?bib=$mappe&event=$gid target=main><li> $overskrift</A><br><br>";
    echo "$listfiler($row["mappe"], $filtype)";


}

?>

Den melder:

Parse error: parse error, unexpected '\"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/nodde/galleri/galleri.php
Avatar billede sostack Nybegynder
09. juli 2003 - 14:59 #10
return $antal[$dir];
}
skal nok være:
return $antal[$dir];
}
}

//sostack
Avatar billede syswatch Novice
31. juli 2003 - 09:16 #11
sostack: Kan du ikke lige smide et svar så jeg kan lukke dette spørgsmål ?
Avatar billede sostack Nybegynder
31. juli 2003 - 09:28 #12
oki ;-)
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