Avatar billede olsson15 Nybegynder
21. oktober 2004 - 00:10 Der er 10 kommentarer og
1 løsning

Galleri fra MySql

Håber der er nogen der kan hjælpe mig..

Jeg har en database med en tabel som hedder brugere, her i gemmer jeg oplysninger om brugeren.
Jeg har tilføjet 5 felter i tabellen
billede1
billede2
billede3
billede4
billede5

Jeg har en upload funktion som virker fint, når en bruger uploader et billede, bliver det renamet og gem på serveren i mappen users/$brugername
Billedet bliver renames til billede1, næste billede2 osv.

der bliver så tilføjet filnavn i databasen under feltet billede1 eller billede2.
filnavnet er eks. billede1.jpg eller billede2.jpg

Når så en bruger vælger at slette et billede, bliver billede ikke slettet fra serveren, men kun fra databasen, så feltet er tomt..
eks. hvis en bruger har 5 billeder og han vælger og slette billede 4.

vil feltetne i tabellen se sådan her ud:
billede1 = billede1.jpg
billede2 = billede2.jpg
billede3 = billede3.jpg
billede4 =
billede5 = billede5.jpg

Så er spørgsmålet:
Jeg skal have lavet det på samme måde som her http://www.bilgalleri.dk/html/gal_visbil.asp?ID=13214
altså hvis brugeren har 3 billeder skal alle sammen vises som thumb i venstre side, og det første som stort i højre side, billede skal så skifte ved museover på thumb.

Så skal altså først have den til og tjekke i databesen hvilke billeder der er uploadet, og om det er alle 5 eller kun billede 2,3,5 foreksempel.

jeg ved ikke hvordan jeg gør dette, den skal jo ikke vise billede1 hvis tabel feltet billede1 er tomt.

næste problem er så at få laver det der mouseover hvor billedet skifter.

på forhånd tak
Avatar billede bojo Nybegynder
21. oktober 2004 - 00:52 #1
når du sletter i databasen skal du også slette selve filen:

$billede = navnet på den billedfil der skal væk

unlink( $billede );
Avatar billede olsson15 Nybegynder
21. oktober 2004 - 10:24 #2
Hvorfor skal jeg det ?
Når man uploader et nyt billede, bliver det gamle jo bare over skrevet
Avatar billede sostack Nybegynder
21. oktober 2004 - 10:44 #3
<?php
//Skal rettes til, så det passer med din database
function hent_billed_array()
{
    $qry_pics = "SELECT `billede1`, `billede2`, `billede3`, `billede4`, `billede5`  FROM `users` WHERE `username`='" . $_SESSION["username"] . "'";
    $felterne = mysql_query($qry_pics) OR DIE(mysql_error());
    $felter = mysql_fetch_row($felterne);
    foreach($felter AS $value)
    {
        if("" != $value)
        {
            $billeder[] = $value;
        }
    }
    return $billeder;
}
//nu ligger alle billednavne i arrayet $billeder uden "huller"
?>

//sostack
Avatar billede olsson15 Nybegynder
21. oktober 2004 - 11:16 #4
jeg har nu lavet det sådan her:

<?php
function hent_billed_array()
{
    $qry_pics = "SELECT `billede1`, `billede2`, `billede3`, `billede4`, `billede5`  FROM `brugere` WHERE `id`='$id'";
    $felterne = mysql_query($qry_pics) OR DIE(mysql_error());
    $felter = mysql_fetch_row($felterne);
    foreach($felter AS $value)
    {
        if("" != $value)
        {
            $billeder[] = $value;
        }
    }
    return $billeder;
}
//nu ligger alle billednavne i arrayet $billeder uden "huller"
?>

Hvordan tjekker jeg hvad der lige i arrayet, bare som test
Avatar billede olsson15 Nybegynder
21. oktober 2004 - 11:18 #5
ikke lige, men ligger :D
Avatar billede bojo Nybegynder
21. oktober 2004 - 11:43 #6
olsson15 >Hvorfor skal jeg det ?
>Når man uploader et nyt billede, bliver det gamle jo bare over skrevet

fordi det er det du spørger om:

>Når så en bruger vælger at slette et billede, bliver billede ikke slettet fra >serveren, men kun fra databasen, så feltet er tomt..

men måske ikke det du ønskede :-)
Avatar billede olsson15 Nybegynder
21. oktober 2004 - 12:01 #7
det var bare for at fortælle hvordan det virkede nu.

Jeg ønsker ikke den skal slette filen fra serveren, det er lige meget
Avatar billede olsson15 Nybegynder
21. oktober 2004 - 23:51 #8
Er der ingen der kan hjælpe mig ?
Avatar billede sostack Nybegynder
22. oktober 2004 - 08:06 #9
print_r(hent_billed_array());

//sostack
Avatar billede olsson15 Nybegynder
23. oktober 2004 - 14:23 #10
Når jeg skriver følgende:

<?php
function hent_billed_array()
{
    $qry_pics = "SELECT billede1, billede2, billede3, billede4, billede5 FROM brugere WHERE id = '$id'";
    $felterne = mysql_query($qry_pics) OR DIE(mysql_error());
    $felter = mysql_fetch_row($felterne);
    foreach($felter AS $value)
    {
        if("" != $value)
        {
            $billeder[] = $value;
        }
    }
    return $billeder;
}
//nu ligger alle billednavne i arrayet $billeder uden "huller"
          print_r(hent_billed_array());
?>

Får jeg følgende fejl:

Warning: Invalid argument supplied for foreach() in /usr/home/web/sth34577/medlem.php on line 119

linie 119 er denne ---> print_r(hent_billed_array());
Avatar billede olsson15 Nybegynder
07. december 2004 - 21:20 #11
lukker
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