Avatar billede aslan Nybegynder
06. januar 2003 - 19:33 Der er 4 kommentarer og
1 løsning

Hente flere billeder fra databasen på engang?

Nedeunder kan du se hvordan jeg får smidt et billede fra databasen op på en html side. Det er også godt nok, men mit problem ligger i at jeg har flere billeder i databasen jeg skal have smidt op på html siden en gang? Jeg har forsøgt med en while løkke på min sql, men uden held. Har nogen forslag til dette?

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;


?>

Siden hvor billedet bliver vist frem:
<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"></a></td>
</tr>
</table>
</body>
</html>
Avatar billede jakoba Nybegynder
06. januar 2003 - 19:56 #1
for hvert billede bliver din visBilled.php fil startet forfra.

en mulig måde at få flere billeder ville være at tilføje en parameter der fortalte databasen hvilket af flere billeder du ønskede:

  <td><a href=""><img src="visBilled.php?nr=0"></a></td>
  <td><a href=""><img src="visBilled.php?nr=1"></a></td>
  <td><a href=""><img src="visBilled.php?nr=2"></a></td>
  <td><a href=""><img src="visBilled.php?nr=3"></a></td>
  <td><a href=""><img src="visBilled.php?nr=4"></a></td>
  <td><a href=""><img src="visBilled.php?nr=5"></a></td>
  <td><a href=""><img src="visBilled.php?nr=6"></a></td>

så kunne filen visBilled.php skrives som:

<?
    include("../../config.php");
   
    if ( isset( $_GET['nr'] ) {
        $nr = $_GET['nr'];
    } else {
        $nr = 0;
    }
    $query="
        select b.billede,b.type,g.navn
        from billede b left join gruppe g on b.id=g.id
        where b.type='gruppe'
        LIMIT $nr,1
    ";
    $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;
?>

men det er en noget klumpet måde at gøre det på, kan du ikke blot nøjes med at gemme billedernes filnavne i din database, og så skrive de navne ind i <img kommandoerne istedet for 'visbilled.php'

mvh JakobA
Avatar billede pissed_squirrel Nybegynder
07. januar 2003 - 16:55 #2
Hvad med at angive hvilke billede du vil hive ud, og der efter smide det ind i et array og så lave en for løkke der smider det ud igen ??
Avatar billede aslan Nybegynder
07. januar 2003 - 21:31 #3
Jakoba kan du ikke lige svare så jeg kan give dig de points...

En anden ting jeg lige ville spørge om : $_GET['nr'], hvorfor bruge den når det er overflødigt?
Avatar billede jakoba Nybegynder
07. januar 2003 - 21:59 #4
Det er overflødigt for dig fordi din .ini fil er ændret så variable pakkes ud automatisk. Det bliver de ikke allevegne, så med $_GET['nr'] sikrer jeg at koden også vil virke der hvor inifilen ikke er ændret på den måde.

Det er faktisk en lidt dum ide med den ændring. grunden til at php holdt om med at 'pakke ud som standard' var at der er lidt sikkerheds risiko i det hvis en fjendtlig bruger prøver at sende uønskede variabelværdier ind i dit script.

mvh JakobA
Avatar billede aslan Nybegynder
07. januar 2003 - 22:02 #5
takker
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