Avatar billede TiHs Nybegynder
27. juli 2009 - 00:10 Der er 8 kommentarer og
1 løsning

Hente mere en et billede fra tabel hvor billede ligger som blob

Hej eksperter,

Min kode er lige nu:
<?php

mysql_connect('localhost', 'bruger', 'kode');
mysql_select_db("database");

$query = "select data,ext from tabel where id>1";
$result = @MYSQL_QUERY($query);

$data = @MYSQL_RESULT($result,0,"data");
$type = @MYSQL_RESULT($result,0,"ext");

Header( "Content-type: $type");
echo "$data";
?>

Hvordan får jeg den til at echo alle billeder fra tabellen. Lige nu kan jeg kun få første billede frem der er større end 1.
Avatar billede repox Seniormester
27. juli 2009 - 00:19 #1
Først og fremmest skal du fjerne @'erne fra din kode og så væn dig til at skrive alle dine funktioner ensartet. Istedet for MYSQL_QUERY og MYSQL_RESULT så skriv dem med småt. Det samme med h'et i Header().

For det andet vil det script du viser ikke kunne løse opgaven.
Dit script vil vise et billede, det kan ikke vise flere billeder.
Du skal have et script mere, der bruger det script du har der til at vise alle billederne.
Avatar billede TiHs Nybegynder
27. juli 2009 - 09:59 #2
Har nu rettet det lidt til, men desværre uden held:

<?php
mysql_connect('localhost', 'bruger', 'kode');
mysql_select_db("database");
header( "Content-type: $type");
$getpics = mysql_query("select * from pic15072009 ORDER BY id");
while($r=mysql_fetch_array($getpics)){
extract($r);
echo ("$data<br>");
}
?>

får stadig kun første billede frem fra tabellen ?
Avatar billede repox Seniormester
27. juli 2009 - 10:01 #3
Du læste ikke mit 'for det andet...' afsnit?
Avatar billede TiHs Nybegynder
27. juli 2009 - 15:56 #4
Okay. Troede at det var det jeg lige havde gjort. Bare ved at skrive en fetch array ind i scriptet istedet for at lave f.eks. to. Kan du skrive mig mere på rette vej ??
Avatar billede repox Seniormester
27. juli 2009 - 16:07 #5
F.eks:

image.php
<?php

    $id = (int)$_GET["id"];
    mysql_connect("localhost", "bruger", "kode");
    mysql_select_db("database");
    $getpics = mysql_query("SELECT * FROM pic15072009 WHERE id=".$id);

    if(mysql_num_rows($getpics) == 0)
        exit;

    $r=mysql_fetch_array($getpics);
    extract($r);
    header("Content-Type: ".$type);
    echo $data;
    exit;

?>


Og:
allebilleder.php

<?php
    mysql_connect("localhost", "bruger", "kode");
    mysql_select_db("database");

    $sql = "SELECT id FROM pic15072009";
    $res = mysql_query($sql);
    while($row = mysql_fetch_array($res))
    {
        echo "<img src=\"image.php?id=".$row["id"]."\" alt=\"billede\" />";
    }

?>

Utestet, men der er idéen....
Avatar billede TiHs Nybegynder
27. juli 2009 - 17:11 #6
Forsøgte den med alle billeder:

<?php
    mysql_connect("localhost", "bruger", "kode");
    mysql_select_db("db");

    $sql = "SELECT id FROM pic15072009";
    $res = mysql_query($sql);
    while($row = mysql_fetch_array($res))
    {
        echo ("<img src=\"image.php?id=".$row["id"]."\" alt=\"billede\" />");
    }

?>

Udfaldet bliver så billedebilledebilledebillede ... etc, 14 gange som er det antal billeder der er i tabellen :) ... hmmm
Avatar billede repox Seniormester
27. juli 2009 - 17:35 #7
Så er der nok en fejl i image.php, skal du se. Prøv at kalde billedet manuelt? f.eks image.php?id=2 og se hvad du får frem.

Der kan være så uendeligt mange fejl, når vi bare skal sidde og gætte.
Avatar billede TiHs Nybegynder
27. juli 2009 - 19:59 #8
Hehe ... det har du ret i. Det var mig der havde glemt at få oploaded image.php :o)
Tak for hjælpen. Det kører fint nu. Send svar
Avatar billede repox Seniormester
27. juli 2009 - 20:19 #9
Det kom her :)
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

AL Sydbank A/S (tidligere Arbejdernes Landsbank)

Afdelingschef til GDPR & Tech Regulation

Forsvarsministeriets Materiel- og Indkøbsstyrelse

IT-Sikkerhedsrådgiver til Cyberdivisionen i Hvidovre

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Analytiker til Security Operations Center i Cyberdivisionen