Avatar billede axel21 Juniormester
26. oktober 2008 - 15:56 Der er 5 kommentarer og
1 løsning

Hjælp til billede med PHP

Hej, jeg har denne kode stump

$query = mysql_query("SELECT logo FROM kopitabel WHERE id = '3179' LIMIT 1");
    if(mysql_num_rows($query) > 0)
    {
        $row = mysql_fetch_assoc($query);
        header('Content-type: image/jpeg');
        echo $row['logo'];
    }



som virker fint hvis den afvikles "alene" dvs. på en side uden andre ting. Men hvis jeg smider den ind på en anden side med header, body, php osv. så viser den bare en masse tal og bogstaver, kan det have noget med det jeg har stående i headeren at gøre?

Min header:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />

<LINK href="../default.css" type="text/css" rel="stylesheet">
</head>
Avatar billede w13 Novice
26. oktober 2008 - 16:11 #1
Du bruger koden til at lave et billede med. Altså ikke noget, der har det mindste med HTML-koder at gøre.

Så de tal og bogstaver du ser, er de samme som hvis du åbner et billede i Notesblok.

Du skal derfor ikke indsætte det i en HTML-kode. Hvis du vil indsætte billedet på en HTML-side, så gør følgende:

img.php:

<?php

$query = mysql_query("SELECT logo FROM kopitabel WHERE id = '3179' LIMIT 1");
    if(mysql_num_rows($query) > 0)
    {
        $row = mysql_fetch_assoc($query);
        header('Content-type: image/jpeg');
        echo $row['logo'];
    }

?>

side.htm:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />

<LINK href="../default.css" type="text/css" rel="stylesheet">
</head>
<body>

<img src="img.php" alt="Billede">

</body>
</html>
Avatar billede w13 Novice
26. oktober 2008 - 16:11 #2
Get it?
Avatar billede axel21 Juniormester
26. oktober 2008 - 16:24 #3
Til dels, for min side er en php side, hvor der er masser af andre php scripts, så forstår ikke helt hvorfor det ikke kan lade sig gøre? Pointen er jo at billederne bliver vist på samme side.
Avatar billede w13 Novice
26. oktober 2008 - 16:26 #4
Når du bruger koden:

<?php

$query = mysql_query("SELECT logo FROM kopitabel WHERE id = '3179' LIMIT 1");
    if(mysql_num_rows($query) > 0)
    {
        $row = mysql_fetch_assoc($query);
        header('Content-type: image/jpeg');
        echo $row['logo'];
    }

?>

genereres de data, som billedet indeholder. Men disse data kan jo ikke bare sættes ind på din HTML-side - så vil de også blive vist i tekstform, som du ser dem nu.

Derfor lægger man koden i en fil for sig. Så kan du kalde filen med:

<img src="filensnavn.php">

og derved få den vist som billedet.

Det kan altså ikke gøres, som du har forsøgt. Dette er eneste måde. (Med mindre du udelader al HTML-kode, men så kan du også kun få vist ét billede på siden.)
Avatar billede axel21 Juniormester
26. oktober 2008 - 17:17 #5
Du er en knag, tak for det.
Avatar billede w13 Novice
26. oktober 2008 - 17:21 #6
Og tak for points! :)
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