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>
Annonceindlæg fra GlobalConnect
<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...
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 :]
rigtigt godt splazz , ingen problem =) tusind tak smid svar
hov, lige en misforståelse den skal tage billede navnet inde fra databasen og ikke bare alle billederne i mappen.. hvordan er det muligt?
så i stedet for at hente alle filerne i mappen, skal den bare lave mysql-query?
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 =)
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...
Ja okay =) Javascript.. Kan du komme med at eksempel?
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 }
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]
(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 . "', '', '', '']"; } } ?>
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 . "', '', '', '']"; }
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 . "', '', '', '']"; }
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...
pisse fedt!! men der er stadig en ting, den viser ikke billederne pga. der mangler et komma efter alle ] (pånær den sidste)
ændrede: if(!$first){ til if($first == true){ også virker det.. Mange tak for hjælpen splazz =)
god dammit! nu sætter den , foran [ ved det første billede!
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", "", "", ""]'; } }
$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...
fik du det til at spille?
jep , det gjorde jeg :) Mange tak for hjælpen!! Hvordan gør vi hvis du skulle ha lidt ekstra points for det?
super, 200 er rigeligt :) og selv tak...
Vi tilbyder markedets bedste kurser inden for webudvikling