Avatar billede DonTorro Nybegynder
03. maj 2010 - 14:33 Der er 22 kommentarer og
1 løsning

Javascript med database udtræk

Hej.. Hvordan ville i trække billedenavnene ud fra databasen ?
Har prøvet at lave php inden javascriptet i men det giver intet billede.

<script type="text/javascript">

var mygallery=new fadeSlideShow({
    wrapperid: "fadeshow1", //ID of blank DIV on page to house Slideshow
    dimensions: [300, 350], //width/height of gallery in pixels. Should reflect dimensions of largest image
    imagearray: [
        ["billeder/appelsin_juice.jpg", "", "", ""],
        ["billeder/avocado.jpg", "", "", ""],
        ["billeder/ananas.jpg", "", "", ""],
        ["billeder/chokolade.jpg", "", "", ""] //<--no trailing comma after very last image element!
    ],
    displaymode: {type:'auto', pause:2500, cycles:0, wraparound:false},
    persist: false, //remember last viewed slide and recall within same session?
    fadeduration: 500, //transition duration (milliseconds)
    descreveal: "ondemand",
    togglerid: ""
})


</script>
Avatar billede majbom Novice
03. maj 2010 - 19:11 #1

<script type="text/javascript">

var mygallery=new fadeSlideShow({
    wrapperid: "fadeshow1", //ID of blank DIV on page to house Slideshow
    dimensions: [300, 350], //width/height of gallery in pixels. Should reflect dimensions of largest image
    imagearray: [
        <?php
            $files = glob("billeder/*");
            $first = true;
            foreach($files as $file){
                if(is_file($file)){
                    if(!$first){
                        echo ",\n";
                    }else{
                        echo "\n";
                        $first = false;
                    }
                    echo "['" . $file . "', '', '', '']";
                }
            }
        ?>
    ],
    displaymode: {type:'auto', pause:2500, cycles:0, wraparound:false},
    persist: false, //remember last viewed slide and recall within same session?
    fadeduration: 500, //transition duration (milliseconds)
    descreveal: "ondemand",
    togglerid: ""
})

</script>


burde virke...
Avatar billede kla0005 Nybegynder
04. maj 2010 - 20:09 #2
Du kan selvfølgelig også bare bruge jQuery til det, og så få det til at sende det til din database via en anden php fil - Så bruger du bare 'Load' funktionen. Ligesom når du laver Ajax i dit Javascript :]
Avatar billede DonTorro Nybegynder
05. maj 2010 - 09:04 #3
rigtigt godt splazz , ingen problem =)

tusind tak
smid svar
Avatar billede majbom Novice
05. maj 2010 - 11:00 #4
selv tak :)
Avatar billede DonTorro Nybegynder
06. maj 2010 - 17:26 #5
hov, lige en misforståelse

den skal tage billede navnet inde fra databasen og ikke bare alle billederne i mappen.. hvordan er det muligt?
Avatar billede majbom Novice
06. maj 2010 - 19:16 #6
så i stedet for at hente alle filerne i mappen, skal den bare lave mysql-query?
Avatar billede DonTorro Nybegynder
09. maj 2010 - 21:20 #7
ja, hvor billednavn ikke er tomt.

$sql = "SELECT billednavn FROM table where billednavn != '';


Mener at jeg prøvede, men er det muligt at lave mysql_query på den måde inde i java? for så prøver jeg da bare igen =)
Avatar billede majbom Novice
09. maj 2010 - 21:34 #8
det kan du på samme måde som med glob-tingen bare med et db-udtræk i stedet for selvfølgelig, men stadig inde i dit javaSCRIPT

husk der er stor forskel på java og javascript...
Avatar billede DonTorro Nybegynder
09. maj 2010 - 22:27 #9
Ja okay =) Javascript..

Kan du komme med at eksempel?
Avatar billede majbom Novice
10. maj 2010 - 08:13 #10
jamen det er jo mere eller mindre magen til det eksempel jeg har lavet, du skal bare smide indholdet af min for-løkke over i en anden løkke hvor du løber dit db-udtræk igennem...

while($imgs = mysql_fetch_assoc($res)){
  //indhold af for-løkke
}
Avatar billede DonTorro Nybegynder
10. maj 2010 - 09:26 #11
Har prøvet nu men den skriver ingen navne ud..
Skal selfølgelig nok give dig flere points, det har du fortjent..!

[code]imagearray: [       
    <?php       
        $sqli = "SELECT * FROM op_ingredienser where opskrift_id = '$_GET[opskrift_id]'";
        $result = mysql_query($sqli);
        $row = mysql_fetch_array($result);
$files = glob(
    $sql = "SELECT billedenavn FROM ingredienser WHERE navn = '$row[ingrediens_navn]' ");
    $res = mysql_query($sql);
while($imgs = mysql_fetch_assoc($res)){
        ;           
        $first = true;
        if(is_file($file)){                   
            if(!$first){                       
                echo ",\n";                   
            }else{                       
                echo "\n";                       
                $first = false;                 
            }                   
            echo "['" . $file . "', '', '', '']";               
        }
}   
      ?>    ],
[/code]
Avatar billede DonTorro Nybegynder
10. maj 2010 - 09:28 #12
(code) gør min kode mærkelig , her er den igen

    <?php       
        $sqli = "SELECT * FROM op_ingredienser where opskrift_id = '$_GET[opskrift_id]'";
        $result = mysql_query($sqli);
        $row = mysql_fetch_array($result);
$files = glob(
    $sql = "SELECT billedenavn FROM ingredienser WHERE navn = '$row[ingrediens_navn]' ");
    $res = mysql_query($sql);
while($imgs = mysql_fetch_assoc($res)){
        ;           
        $first = true;
        if(is_file($file)){                   
            if(!$first){                       
                echo ",\n";                   
            }else{                       
                echo "\n";                       
                $first = false;                 
            }                   
            echo "['" . $file . "', '', '', '']";               
        }
}   
      ?>
Avatar billede majbom Novice
10. maj 2010 - 09:43 #13
prøv at ret:


while($imgs = mysql_fetch_assoc($res)){
        ;         
        $first = true;
        if(is_file($file)){                 
            if(!$first){                     
                echo ",\n";                 
            }else{                     
                echo "\n";                     
                $first = false;               
            }                 
            echo "['" . $file . "', '', '', '']";             
        }
}


til



while($imgs = mysql_fetch_assoc($res)){
    $first = true;
    if(!$first){                     
        echo ",\n";                 
    }else{                     
        echo "\n";                     
        $first = false;               
    }                 
    echo "['" . $file . "', '', '', '']";             
}
Avatar billede DonTorro Nybegynder
10. maj 2010 - 10:13 #14
Sådan ser den ud nu koden, men $file får intet billede navn

$files = glob(
    $res = mysql_query("SELECT billedenavn FROM ingredienser"));       
while($imgs = mysql_fetch_assoc($res)){   
    $first = true;   
    if(!$first){                             
        echo ",\n";                     
    }else{                             
        echo "\n";                             
        $first = false;                   
    }                     
    echo "['" . $file . "', '', '', '']";             
}
Avatar billede majbom Novice
10. maj 2010 - 10:26 #15
starter lige forfra:


<?php     
    $sqli = "SELECT * FROM op_ingredienser where opskrift_id = '".$_GET['opskrift_id']."'";
    $result = mysql_query($sqli);
    $row = mysql_fetch_array($result);
 
    $sql = "SELECT billedenavn FROM ingredienser WHERE navn = '".$row['ingrediens_navn']."' ");
    $res = mysql_query($sql);
    while($imgs = mysql_fetch_assoc($res)){         
        $first = true; 
        if(!$first){                     
            echo ",\n";                 
        }else{                     
            echo "\n";                     
            $first = false;               
        }                 
        echo "['" . $imgs['billedenavn'] . "', '', '', '']";             
    }
?> 


og så kunne du jo læse lidt om joins i mysql, så du kan nøjes med ét db-kald...
Avatar billede DonTorro Nybegynder
10. maj 2010 - 10:41 #16
pisse fedt!!

men der er stadig en ting, den viser ikke billederne pga. der mangler et komma efter alle ] (pånær den sidste)
Avatar billede DonTorro Nybegynder
10. maj 2010 - 11:07 #17
ændrede:
if(!$first){

til

if($first == true){

også virker det.. Mange tak for hjælpen splazz =)
Avatar billede DonTorro Nybegynder
10. maj 2010 - 11:08 #18
god dammit!
nu sætter den , foran [ ved det første billede!
Avatar billede DonTorro Nybegynder
10. maj 2010 - 11:15 #19
så fik jeg det til at virke, tak for hjælpen splazz =)

$first = 1;         
$sqli = "SELECT * FROM op_ingredienser where opskrift_id = '".$_GET['opskrift_id']."'";   
$result = mysql_query($sqli);   
while ($row = mysql_fetch_array($result)) {

$sql = "SELECT billedenavn FROM ingredienser WHERE navn = 'ananas' && billedenavn != '' limit 1";
$res = mysql_query($sql);   
while($imgs = mysql_fetch_assoc($res)){
    if ($first == 1) {
        echo '["billeder/' . $imgs['billedenavn'] . '.jpg", "", "", ""]';
    }
    $first = 2;         
    if($first == 2){                                 
        echo ",\n";                         
    }else{                                 
        echo "\n";                                 
        $first = 3;                       
    }                         
    echo '["billeder/' . $imgs['billedenavn'] . '.jpg", "", "", ""]';                 
}
}
Avatar billede majbom Novice
10. maj 2010 - 11:20 #20
$first = true; 
        if(!$first){                     
            echo ",\n";                 
        }else{                     
            echo "\n";                     
            $first = false;               
        }                 
        echo "['" . $imgs['billedenavn'] . "', '', '', '']";

burde netop gøre at den sætter et komma foran alle linjer, undtaget den første...
Avatar billede majbom Novice
10. maj 2010 - 11:44 #21
fik du det til at spille?
Avatar billede DonTorro Nybegynder
10. maj 2010 - 12:06 #22
jep , det gjorde jeg :)
Mange tak for hjælpen!!

Hvordan gør vi hvis du skulle ha lidt ekstra points for det?
Avatar billede majbom Novice
10. maj 2010 - 12:17 #23
super, 200 er rigeligt :)

og selv tak...
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