Avatar billede mazey Praktikant
04. november 2005 - 16:28 Der er 12 kommentarer og
1 løsning

Få billede vist på linie.

Hej Eksperter.

Jeg har på php.net fundet flg. script som fortæller mig indholdet af en mappe.
Det som mappen indeholder skal den så vise på en side, og det gør den også. Til hvert resultat gerne have vist et billede, og det virker også fint, men jeg ved ikke hvordan jeg vha. af en tabel og noget php får billederne til at blive vist ved siden af hinanden, istedet for under hinanden.

<td><?
    if ($handle = opendir('mspic')) {?>
   
    <?
   
  while (false !== ($file = readdir($handle))  ) {
  if ($file != "." && $file != ".." ) { ?>
  <table width="150" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td> <img src="img1/folder.gif"></td>
  </tr>
  <tr>
    <td><? echo "$file"; ?></td>
  </tr>
</table>
 

  <?
  }
  }
 
  closedir($handle);
}

    ?>
   

    </td>
Ovenstående er inde i en tabel på 650 pixels, og derfor vil jeg gerne hvis det kan lade sig gøre at få vist 4 billeder pr. linie.

Det er lidt svært at forklare, så hvis i ikke forstår, skriv da, så vil jeg prøve at forklare. :D

Mvh

Mazey
Avatar billede jaw Nybegynder
04. november 2005 - 16:31 #1
Forstår godt hvad du vil, men hvorfor har du 2 <img src="..."> ?
Avatar billede nielle Nybegynder
04. november 2005 - 16:31 #2
F.eks. sådan?

<td>
<?
if ($handle = opendir('mspic'))
{
    while (false !== ($file = readdir($handle)))
    {
        if ($file != "." && $file != ".." )
        {
?>
    <table width="150" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td valign="top"><img src="img1/folder.gif"></td>
    <td valign="top"><? echo "$file"; ?></td>
    </tr>
    </table>
<?
        }
    }
 
    closedir($handle);
}
?>
</td>
Avatar billede nielle Nybegynder
04. november 2005 - 16:33 #3
Glem mit indslag... :^|
Avatar billede mazey Praktikant
04. november 2005 - 16:33 #4
:D ok... Men forstår du hvad jeg mener?
Avatar billede jaw Nybegynder
04. november 2005 - 16:35 #5
Glem også lige mit første :) !

Prøv:
<?
    if ($handle = opendir('mspic')) {?>
   
<table width="150" border="0" cellspacing="0" cellpadding="0"><tr>
    <?
    $i = 1;
    while (false !== ($file = readdir($handle))  ) {
  if ($file != "." && $file != ".." ) { ?>
  <td> <img src="img1/folder.gif"><br><? echo "$file"; ?></td>
        <? if( ($i%4) == 0) { echo "</tr><tr>"; } ?>

  <?
  }
  }
 
  closedir($handle);
}

    ?>
  </tr></table>

Men hvorfor bruger "folder.gif" hver gang?
Avatar billede mazey Praktikant
04. november 2005 - 16:41 #6
Ja, jaw, lige præcis... Men den går ikke automatisk på næste linie, hvis der er mange mapper.... så trykker den bare det hele sammen.... :D

Hvad mener du med at bruge folder.gif hver gang..? -Jeg vil vise et ikon af en mappe til hvert resultat... er der en nemmere måde da?
Avatar billede jaw Nybegynder
04. november 2005 - 16:44 #7
Nej, det er sikkert fint, jeg prøver bare at forstå hvad du vil :)

Og hvis du tilføjer $i++; sådan:

  <?
  $i++;
  }
  }
  closedir($handle);
}
Avatar billede mazey Praktikant
04. november 2005 - 16:47 #8
Ja, så er det perfekt... Ideen er at det som php'en gør er at liste de mappenavne som eksisterer inde i den først angivne mappe. Så er meningen at folder.gif bliver vist ved hvert resultat som php kommer med. Derved kan man se hvor mange mapper der er og hvad de hedder. Derefter skal man klikke på mappen (eller navnet) og indholdet af den valgte mappe skal så echoes ud på siden.

:D
Avatar billede mazey Praktikant
04. november 2005 - 16:48 #9
Jeg havde også tænkt på noget med imagemaps, men gik hurtigt fra det, da det for mig var en for stor mundfuld!... :D

Smider du et svar forresten
Avatar billede jaw Nybegynder
04. november 2005 - 16:50 #10
Da du sagde det var et ikon, så forstod jeg selvf. hvad du ville :)
Avatar billede mazey Praktikant
04. november 2005 - 16:50 #11
Jeg takker for hjælpen!
Avatar billede nielle Nybegynder
04. november 2005 - 16:51 #12
<?
if ($handle = opendir('mspic'))
{
?>
<table width="150" border="0" cellspacing="0" cellpadding="0">
<tr>
<?
    $i = 0;
    while (false !== ($file = readdir($handle)))
    {
        $i++;
        if ($file != "." && $file != ".." )
        {
?>
<td><img src="img1/folder.gif"><br><? echo "$file"; ?></td>
<?
            if (($i % 4) == 1)
            {
                if ($i != 1) echo "</tr>";
                echo "<tr>";
            }
        }
    }
 
    closedir($handle);

    while (($i % 4) != 1)
    {
        $i++;
        echo "<td>&nbsp;</td>";
    }
}
?>
</tr>
</table>
Avatar billede jaw Nybegynder
04. november 2005 - 17:04 #13
Den er nok bedre, Nielle, for den tager også højde for ikke at afslutte en række der er under 4 lang, som min gør...
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