Avatar billede sigmadk Nybegynder
29. december 2003 - 21:29 Der er 6 kommentarer og
1 løsning

Bannerrotation, hvad er galt ?

Hey,

Jeg har prøvet at lave en bannerrotation til min hjemmeside, men jeg kan ikke få det til at virke. Er der nogen, som kan se hvad der er galt med dette?

<?php

$foresp = mysql_query("SELECT id, pic1, pic1spg, pic1url, pic2, pic2spg, pic2url, pic3, pic3spg, pic3url, pic4, pic4spg, pic4url, pic5, pic5spg, pic5url FROM banner WHERE id = '1' ORDER BY id DESC LIMIT 0, 1");

while($data = mysql_fetch_array($foresp)){


$tid1 = (double)microtime();
srand((double)microtime()*1000000);

if(($pic1spg == "1") && ($pic2spg == "0") && ($pic3spg == "0") && ($pic4spg == "0") && ($pic5spg == "0")) { $tal = "1"; }

if(($pic1spg == "1") && ($pic2spg == "1") && ($pic3spg == "0") && ($pic4spg == "0") && ($pic5spg == "0")) { $tal = rand(0,1); }

if(($pic1spg == "1") && ($pic2spg == "1") && ($pic3spg == "1") && ($pic4spg == "0") && ($pic5spg == "0")) { $tal = rand(0,2); }

if(($pic1spg == "1") && ($pic2spg == "1") && ($pic3spg == "1") && ($pic4spg == "1") && ($pic5spg == "0")) { $tal = rand(0,3); }

if(($pic1spg == "1") && ($pic2spg == "1") && ($pic3spg == "1") && ($pic4spg == "1") && ($pic5spg == "1")) { $tal = rand(0,4); }

switch($tal){
    case (0):
        $pic = "$data[pic1]";
        $url = "$data[pic1url]";
        break;
    case (1):
        $pic = "$data[pic2]";
        $url = "$data[pic2url]";
        break;
    case (2):
        $pic = "$data[pic3]";
        $url = "$data[pic3url]";
        break;
    case (3):
        $pic = "$data[pic4]";
        $url = "$data[pic4url]";
        break;
    case (4):
        $pic = "$data[pic5]";
        $url = "$data[pic5url]";
        break;

}

}

?>

Den udskriver hele tiden den første mulighed - altså $tal = 0
Avatar billede detox Nybegynder
29. december 2003 - 21:42 #1
Prøv:

while($data = mysql_fetch_array($foresp)){
extract $data;

$tid1 = (double)microtime();
srand((double)microtime()*1000000);
Avatar billede sigmadk Nybegynder
29. december 2003 - 21:49 #2
Det giver samme resultat..

er det ikke også bare 2 forskellige måder at hive data ud af en database på ?
Avatar billede detox Nybegynder
29. december 2003 - 22:00 #3
extract $data;
skulle være:
extract($data);
Avatar billede detox Nybegynder
29. december 2003 - 22:06 #4
Prøv:

<?php

$foresp = mysql_query("SELECT id, pic1, pic1spg, pic1url, pic2, pic2spg, pic2url, pic3, pic3spg, pic3url, pic4, pic4spg, pic4url, pic5, pic5spg, pic5url FROM banner WHERE id = '1' ORDER BY id DESC LIMIT 0, 1");
while($data = mysql_fetch_array($foresp)){
    extract($data);
    srand((double)microtime()*1000000);

    if(($pic1spg == "1") && ($pic2spg == "0") && ($pic3spg == "0") && ($pic4spg == "0") && ($pic5spg == "0")) $tal = 1;
    if(($pic1spg == "1") && ($pic2spg == "1") && ($pic3spg == "0") && ($pic4spg == "0") && ($pic5spg == "0")) $tal = rand(0,1);
    if(($pic1spg == "1") && ($pic2spg == "1") && ($pic3spg == "1") && ($pic4spg == "0") && ($pic5spg == "0")) $tal = rand(0,2);
    if(($pic1spg == "1") && ($pic2spg == "1") && ($pic3spg == "1") && ($pic4spg == "1") && ($pic5spg == "0")) $tal = rand(0,3);
    if(($pic1spg == "1") && ($pic2spg == "1") && ($pic3spg == "1") && ($pic4spg == "1") && ($pic5spg == "1")) $tal = rand(0,4);

    switch($tal){
        case (0):
            $pic = $pic1;
            $url = $pic1url;
            break;
        case (1):
            $pic = $pic2;
            $url = $pic2url;
            break;
        case (2):
            $pic = $pic3;
            $url = $pic3url;
            break;
        case (3):
            $pic = $pic4;
            $url = $pic4url;
            break;
        case (4):
            $pic = $pic5;
            $url = $pic5url;
            break;
    }
}

?>
Avatar billede sigmadk Nybegynder
29. december 2003 - 22:10 #5
prøver...
Avatar billede sigmadk Nybegynder
29. december 2003 - 22:12 #6
nice... det virkede! Tusind tak.

Kan du ikke lige lave et svar ?
Avatar billede detox Nybegynder
29. december 2003 - 22:14 #7
Lidt kortere:

<?php

$foresp = mysql_query("SELECT id, pic1, pic1spg, pic1url, pic2, pic2spg, pic2url, pic3, pic3spg, pic3url, pic4, pic4spg, pic4url, pic5, pic5spg, pic5url FROM banner WHERE id = '1' ORDER BY id DESC LIMIT 0, 1");
while($data = mysql_fetch_array($foresp)){
    extract($data);
    srand((double)microtime()*1000000);

    if(($pic1spg == "1") && ($pic2spg == "0") && ($pic3spg == "0") && ($pic4spg == "0") && ($pic5spg == "0")) $tal = 1;
    if(($pic1spg == "1") && ($pic2spg == "1") && ($pic3spg == "0") && ($pic4spg == "0") && ($pic5spg == "0")) $tal = rand(0,1);
    if(($pic1spg == "1") && ($pic2spg == "1") && ($pic3spg == "1") && ($pic4spg == "0") && ($pic5spg == "0")) $tal = rand(0,2);
    if(($pic1spg == "1") && ($pic2spg == "1") && ($pic3spg == "1") && ($pic4spg == "1") && ($pic5spg == "0")) $tal = rand(0,3);
    if(($pic1spg == "1") && ($pic2spg == "1") && ($pic3spg == "1") && ($pic4spg == "1") && ($pic5spg == "1")) $tal = rand(0,4);

    $pic = ${'pic'.($tal+1)};
    $url = ${'pic'.($tal+1).'url'};

}

?>
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