Avatar billede Slettet bruger
04. november 2002 - 14:51 Der er 6 kommentarer og
1 løsning

Vis billede fra database

Jeg har lavet en formel som skal bruges til at opdatere min database.
jeg vil gerne have vist de enkelte elementer i formen. Hvordan udskriver jeg mit billede, der ligger i et blobfelt(bin_data).
Hvis jeg skriver <? echo "$data[2]"; ?> kommer der bare en masse tegn.

Formen ser således ud:

<?
$foresp = mysql_query("SELECT navn,beskrivelse,bin_data,id FROM produkter");
while($data = mysql_fetch_array($foresp)){
?>

<form method="post" action="<?php echo $PHP_SELF; ?>" enctype="multipart/form-data">
    Navn&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <input type="text" name="navn" size="26" value="<? echo "$data[0]"; ?>">Her skal billedet vises<input type="file" name="form_data"
    size="30"><br>
    Beskrivelse
    <textarea name="beskrivelse" rows="5"><? echo "$data[1]"; ?></textarea>
    <INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="1000000">
    <p><input type="submit" name="submit" value="submit">
    </form>
Avatar billede spiri Nybegynder
04. november 2002 - 15:11 #1
Du mangler header:

Eks.
$type = "image/jpeg",
Header( "Content-type: $type");

Det kan du naturligvis ikke sætte i samme fil som din HTML kode. Lav derfor en seperat fil til dit billede.
Avatar billede Slettet bruger
04. november 2002 - 15:24 #2
kan du give et eksempel?
Avatar billede tipsen Nybegynder
04. november 2002 - 15:26 #3
Formler er noget man bruger i eksempelvis matematik og kemi - det du har lavet er en stump kode som bruges til at opdatere din database - det har ikke noget med en formel at gøre...

-og svaret kan jeg se du har fået.
Avatar billede Slettet bruger
04. november 2002 - 15:31 #4
nå nå nå
Der er nok en der er skarp!
Avatar billede spiri Nybegynder
04. november 2002 - 15:39 #5
Du kan eksempelvis lave en fil der hedder vis_billede.php

I den henter du dine binary data, samt filtypen (Hvis du da har gemt den i databasen, sammen med resten af dine billede oplysninger).

I filen skal der bare stå:
<?
//Connect først til databasen

$result = mysql_query("SELECT bin_data FROM produkter WHERE id = '$id'");
$bin_data = mysql_result($result,0,"bin_data");
$type = "image/jpeg",
Header( "Content-type: $type");
echo $bin_data;
?>

derefter kan du bare skrive <img src="vis_billede.php?id=3"> på den side hvor du vil vise billedet.
Avatar billede spiri Nybegynder
04. november 2002 - 15:41 #6
...hvis du har gemt filtype i databasen ser det naturligvis således ud:
$result = mysql_query("SELECT bin_data,data_type FROM produkter WHERE id = '$id'");
$bin_data = mysql_result($result,0,"bin_data");
$data_type = mysql_result($result,0,"data_type");
Header( "Content-type: $data_type");
echo $bin_data;



...eller hvad du nu har kaldt den kolonne...
Avatar billede Slettet bruger
04. november 2002 - 15:57 #7
Det virkede. tak for hjælpen.
:-)
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