Avatar billede jacob_m Nybegynder
16. februar 2005 - 22:09 Der er 12 kommentarer og
1 løsning

Dropdown liste

Jeg har følgende funktion til at vælge et billede fra en drop-down og vise et "eksempel" med det samme (java script:

function blog_pic_sel(){
    echo "<select name=\"pic\" onchange=\"if(this.selectedIndex>0)document.images['billedfelt'].src='/gfx/'+this.value\">\n";
    connect();

    $select = mysql_query("SELECT * FROM database")
      or die (mysql_error());

    while($a_select = mysql_fetch_array($select)){
        $id = "$a_select[id]";
        $beskrivelse = "$a_select[beskrivelse]";
        $link = "$a_select[link]";
       
        echo "<option value=\"$link\">$beskrivelse</option> \n";


    };

    close();
    echo "</select>\n";
    echo "<img src=\"/gfx/\" name=\"billedfelt\">";
};


Og den virker egentlig fint nok.

MEN... hvordan for jeg det lavet så "on-the-fly"-eksempel-viseren stadig virker. Men at valget (form variablen) fra drop-down listen bliver id´et istedetfor linket som nu!!

/jacs
Avatar billede detox Nybegynder
16. februar 2005 - 22:16 #1
echo "<option value=\"$id\">$beskrivelse</option> \n";
Avatar billede jacob_m Nybegynder
16. februar 2005 - 22:17 #2
ja, men så virker Javascriptet jo ikke :(...

Det som er humlen ved det hele..
Avatar billede detox Nybegynder
16. februar 2005 - 22:18 #3
Hvis det virker efter hensigten, hvorfor vil du så ændre det?
Avatar billede detox Nybegynder
16. februar 2005 - 22:21 #4
Hvis du vil bruge id som value, linker man normalt src til en php side som henter billedet og viser det
Avatar billede detox Nybegynder
16. februar 2005 - 22:31 #5
Scriptet du linker til vil typisk se sådan her ud:

<?
$link = mysql_result(mysql_query("SELECT link FROM database WHERE id=" . $_GET['id']), 0);
$str = file_get_contents("gfx/$link");
header('Content: image/jpeg');
echo $str;
?>

og linket:
<img src="script.php?id=<?php echo $id?>" alt="" />

Hvordan det passer ind i dit js ved jeg ikke, men det burde kunne flettes ind.
Avatar billede detox Nybegynder
16. februar 2005 - 22:57 #6
Jeg vil mene du kan gøre det således:

function blog_pic_sel(){
    echo "<select name='pic' onchange=\"if(this.selectedIndex>0)document.images['billedfelt'].src='vis_billede.php?id='+this.value\">\n";
    connect();
    echo "<option>Vælg billede</option> \n";
    $select = mysql_query("SELECT id, beskrivelse FROM database")
      or die (mysql_error());
    while($a_select = mysql_fetch_array($select)){
        $id = $a_select['id'];
        $beskrivelse = $a_select['beskrivelse'];
        echo "<option value='$id'>$beskrivelse</option> \n";
    }
    close();
    echo "</select>\n";
    echo "<img src='gfx/' name='billedfelt'>";
}

//------------------
vis_billede.php:

<?
connect();
$link = mysql_result(mysql_query("SELECT link FROM images WHERE id=" . $_GET['id']), 0);
close();
$str = file_get_contents("gfx/$link");
header('Content: image/jpeg');
echo $str;
?>
Avatar billede detox Nybegynder
16. februar 2005 - 22:58 #7
vis_billede.php:

<?
connect();
$link = mysql_result(mysql_query("SELECT link FROM database WHERE id=" . $_GET['id']), 0);
close();
$str = file_get_contents("gfx/$link");
header('Content: image/jpeg');
echo $str;
?>
Avatar billede detox Nybegynder
16. februar 2005 - 23:07 #8
Det virker på billeder af typen jpeg, hvis du skal bruge det til andre typer billeder kan det være en god ide at gemme filtypen i databasen.
Avatar billede jacob_m Nybegynder
17. februar 2005 - 17:06 #9
detox --> Men så ryger idéen med "on the fly"-visning :-(.. Java Scriptet som du kan se, bruger jo værdien fra drop-down-listen til at vise billede med det samme når man vælger det! Ik noget med genindlæsning af siden eller noget. Så kunne jeg nøjes med at skrive det i PHP jo... Men tror sq ik der findes en måde det kan laves på :-(
Avatar billede detox Nybegynder
17. februar 2005 - 19:23 #10
Nej siden skal jo ikke genindlæses, men javascriptet skal loade php siden som fungerer som et billede. Men jeg vil give dig ret i at det første du har sikkert fungerer bedre da du kun har et kald til databasen :o)
Avatar billede jacob_m Nybegynder
18. februar 2005 - 14:25 #11
aaaa..... nu tror jeg at jeg helt 100% har forstået din løsning... Det var en helt anden måde at se det på.. Tror godt jeg kan bruge det, hvertfald til inspiration.. Så du for lige nogle point.. havde vist ik helt forstået din mening :P..
Avatar billede jacob_m Nybegynder
18. februar 2005 - 19:13 #12
Detox--> Det virker faktisk :-O.. Og jeg kan bruge det.. MANGE TAK...
Avatar billede detox Nybegynder
18. februar 2005 - 21:11 #13
Ok cool, velbekommen
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