Avatar billede aslan Nybegynder
05. januar 2003 - 17:06 Der er 10 kommentarer og
2 løsninger

Billede bliver til volapyk når jeg henter det ud af databasen....

Jeg har lagt mine billeder i databasen og når jeg henter dem ud bliver de til volapyk.... det kan jeg ikke forstå for når jeg fra en anden side henter billederne ud fra samme tabel fungere det udmærket.. Kan nogen lige se om jeg har glemt et eller andet:


<?
//width="200" height="150"
include("config.php");

$query="select b.billede,g.navn from billede b left join gruppe g on b.id=g.id where b.type='gruppe'";
$result = mysql_query($query);

while($row=mysql_fetch_array($result))
{


?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Musik-grupper</title>
</head>
<body alink="e9e9e9" vlink="e9e9e9">
<br />
<br />
<br />
<table border="0" cellpadding="0" cellspacing="0" summary="">
<tr>
  <td><a href=""><? echo $row[billede] ?></a></td>
</tr>
<tr>
  <td><? echo $row[navn]?></td>
</tr>
</table>
<?
}
?>
</body>
</html>
Avatar billede doomstone-dk- Nybegynder
05. januar 2003 - 18:01 #1
hmm er det coden til billedet du henter ud fra databasen?
Avatar billede aslan Nybegynder
05. januar 2003 - 18:09 #2
ja, hvorfor?
Avatar billede ztyxx Nybegynder
05. januar 2003 - 18:11 #3
Avatar billede aslan Nybegynder
05. januar 2003 - 18:23 #4
Jeg har fundet ud af at fejlen ligger i at jeg ikke smider denne header på:

Header( "Content-type: $type");

Men det fører mig over til et andet problem, nemlig at fordi jeg includere mine sider med html kan jeg ikke sende headers... Dette har jeg så løst via noget javascript, men hvad gør jeg i denne sag, når jeg ikke kan sende headers??
Avatar billede ztyxx Nybegynder
05. januar 2003 - 18:25 #5
til det kan du bruge
ob_start() og
ob_end_flush()
i henholdsvis toppen og bunden af dit script
kig på http://www.php.net/manual/en/function.header.php
Avatar billede aslan Nybegynder
05. januar 2003 - 21:03 #6
Jeg ved ikke hva jeg skal tro... når jeg forsøger således giver den ikke fejl, men billedet bliver stadig til volapyk?

<?
ob_start();

//width="200" height="150"
include("config.php");

$query="select b.billede,g.navn from billede b left join gruppe g on b.id=g.id where b.type='gruppe'";
$result = mysql_query($query);

while($row=mysql_fetch_array($result))
{
    ob_end_clean();
    Header( "Content-type: $row[type]");
        ob_end_flush();
?>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Musik-grupper</title>
</head>
<body alink="e9e9e9" vlink="e9e9e9">
<br />
<br />
<br />
<table border="0" cellpadding="0" cellspacing="0" summary="">
<tr>
  <td><a href=""><? echo $row[billede] ?></a></td>
</tr>
<tr>
  <td><? echo $row[navn]?></td>
</tr>
</table>
<?
}
?>
</body>
</html>
<?
ob_end_flush();
?>
Avatar billede ztyxx Nybegynder
05. januar 2003 - 22:47 #7
hvordan lægger du billedet ind i databasen?
Avatar billede tipsen Nybegynder
06. januar 2003 - 03:58 #8
Du kan sgu da ikke bare smide de binære data til billedet direkte ind i html-filen! Det gør du jo heller ikke med almindelige billeder - du laver et link til dem og så sørger browseren for at hente dem og behandle dem som et billede skal behandles - nemlig binært og ikke som html-siden der behandles som ascii.

Dvs. du laver et script (billede.php) som giver billedet som output (og intet andet!) og det script kalder du fra din html-fil:

<img src="billede.php" alt="billede fra db!">

-og så skal du selvfølgelig sørge for at sende de rette headers med ved output af billedet! Se evt: http://www.phpbuilder.com/mail/php3-list/199901/3151.php
Avatar billede aslan Nybegynder
06. januar 2003 - 12:57 #9
Jeg kan ikke helt få det til at virke... når jeg kører visBilled.php alene kan jeg godt få billedet frem, men når jeg kører det sammen med det andet fil får jeg denne brokken image ting....



visBilled.php:
<?
    include("../../config.php");
   
    $query="select b.billede,b.type,g.navn from billede b left join gruppe g on b.id=g.id where b.type='gruppe'";
    $result = @MYSQL_QUERY($query)or die(mysql_error());

    $data = @MYSQL_RESULT($result,0,"billede");
    $type = @MYSQL_RESULT($result,0,"filetype");
       
    Header( "Content-type: $type");
    echo $data;


?>


<html>
<head>
<title>Musik-grupper</title>
</head>
<body alink="e9e9e9" vlink="e9e9e9">
<br />
<br />
<br />
<table border="0" cellpadding="0" cellspacing="0" summary="">
<tr>
  <td><a href=""><img src="visBilled.php" alt="billede fra db!"></a></td>
</tr>
<tr>
  <td><?// echo $row[navn]?></td>
</tr>
</table>
</body>
</html>
Avatar billede aslan Nybegynder
06. januar 2003 - 13:19 #10
hmmm det seer ud til at virke nu, men hva gør men hvis der ligger flere sider inde i databasen og man gerne vil have dem alle ud på engang... jeg tænker på en løkke?
Avatar billede aslan Nybegynder
06. januar 2003 - 19:28 #11
ikke fordi jeg har løst det med løkken....
Avatar billede tipsen Nybegynder
07. januar 2003 - 01:36 #12
Du ændrer visbilled.php, så den kan tage et id eller noget lignende som entydigt identificerer et billede i db'en - sådan at den kan kaldes som eks:

<img src="visbilled.php?bid=42">

i dit hoveddokument, hvor billedet skal indsættes, skal du så lave en løkke som eks:

<?php
for ($i=0;$i<10;$i++) {
  echo "<img src="visbilled.php?bid=$i>\n">;
}

den vil så generere html-kode, med 10 img-tags der kalder visbilled.php med værdi for bid fra 1-10.
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

IT-JOB

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Cyberdivisionen søger IT-supporter til lokal IT Korsør

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Analytiker til Security Operations Center ved Cyberdivisionen

KMD A/S

Project Manager