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.
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
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.
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 ?
Du læste ikke mit 'for det andet...' afsnit?
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 ??
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....
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
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.
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
Vi tilbyder markedets bedste kurser inden for webudvikling