Avatar billede drinkit Praktikant
30. januar 2007 - 11:46 Der er 9 kommentarer og
1 løsning

vis indholdet af en mappe med billeder

<table border="0" cellpadding="0" cellspacing="8" width="100%">
<tr>
<?

# Indstillinger

$mappe = "uploads/"; // Mappen med billeder

$pr_side = 4; // Antallet af billeder pr. side

$height = 100;
$width = 100;

if (isset($_GET['offset'])) {
$offset = $_GET['offset'];
} else {
$offset = 0;
}
$pics = $offset+$pr_side;
$i = $offset;
# Laver et array med billederne, så vi senere kan sortere
$handle = opendir($mappe);
while (($fil = readdir($handle)) !== false) {
if ($fil !=".." && $fil != ".." && !is_dir($mappe."/".$fil)) {
$billeder[] = $fil;
}
}
closedir($handle);

# Udskriver billederne

sort($billeder);
while($i < $pics && $billeder[$i] != "") {
echo "<td width=\"25%\" valign=\"top\"><a href=\"$mappe/$billeder[$i]\" target=\"_blank\"><img src=\"$mappe/$billeder[$i]\" border=\"0\" width=\"$width\" height=\"$height\" style=\"border: 2px solid #000;\" alt=\"Tryk for stor version!\"></a></td>";
$i++;
}

#Udskriver frem og tilbage links

if ($offset >= $pr_side) {
$forrige = $offset-$pr_side;
echo "<a href=\"?site=galleri&amp;maerke=brugernes&amp;offset=$forrige\" style=\"padding-left: 4px; padding-right: 4px;\">Tilbage</a>";
}
$side = 0;
$antal_sider = ceil(count($billeder) / $pr_side);
for($i = 1; $antal_sider >= $i; $i++) {

$side += $pr_side;
}
if (count($billeder) > $offset+$pr_side) {
$naeste = $offset+$pr_side;
echo "<a href=\"?site=galleri&amp;maerke=brugernes&amp;offset=$naeste\" style=\"padding-left: 4px; padding-right: 4px;\">Næste side</a>";
}

?>
</tr>
</table>

Denne kode viser alle billederne i mappen uploads - men hvordan gør jeg så den efter 4 billeder laver en ny tr og så ligesom med de andre - eftersom min side ikke kan have mere end 4 billeder i bredden. Og så skal der kunne være 12 billeder på hele siden, altså ialt 3 tr'er før den laver ny side. Forstår I, og kan det laves bare LIDT simpelt?

Det er til www.xup.dk?site=galleri&maerke=brugernes
Prøv evt selv at uploade noget.
Kommentar: drinkit
30/01-2007 01:08:10 har fundet fejlen nu.

if (count($billeder) > $offset+$pr_side) {
echo "</tr><tr>";
}

har jeg nu sat ind, men nu sætter den </tr><tr> ind bag hvert billede hvis billede nummeret er over 4, den skal kun gøre det ved hver 4. billede jo, for at der er 4 billeder i en tr!

while($i < $pics && $billeder[$i] != "") {
echo "<td width=\"25%\" valign=\"top\"><a href=\"$mappe/$billeder[$i]\" target=\"_blank\"><img src=\"$mappe/$billeder[$i]\" border=\"0\" width=\"$width\" height=\"$height\" style=\"border: 2px solid #000;\" alt=\"Tryk for stor version!\"></a></td>";

if (count($billeder) > $offset+$pr_side) {
echo "</tr><tr>";
}

$i++;

sådan ser min kode ud nu, hvordan skal den se ud, for at min side ikke ser således her ud:

http://www.xup.dk/?site=galleri&maerke=brugernes -> der skal være 4 billeder i hver tr!

lige så snart jeg nu sletter ET billede, så der kun er 4, så er de alle i samme tr! - men så snart der er over 4 billeder laver den en tr til hver. også logisk nok, men hvordan får jeg det som jeg vil have det...?
er ved at blive sindssyg!

på forhånd tak! Mikael
Avatar billede jakobdo Ekspert
30. januar 2007 - 13:12 #1
Det var dog godt nok et uoverskueligt indlæg! :o)
Jeg må kigge på det i aften evt.
Avatar billede drinkit Praktikant
30. januar 2007 - 13:13 #2
åh, nej. omformulere.. to sek :) krise
Avatar billede drinkit Praktikant
30. januar 2007 - 13:14 #3
sort($billeder);
while($i < $pics && $billeder[$i] != "") {
echo "<td width=\"25%\" valign=\"top\"><a href=\"$mappe/$billeder[$i]\" target=\"_blank\"><img src=\"$mappe/$billeder[$i]\" border=\"0\" width=\"$width\" height=\"$height\" style=\"border: 2px solid #000;\" alt=\"Tryk for stor version!\"></a></td>";
$i++;
}

den udskriver billederne i mappen "upload" den kode, ok!
jeg vil gerne have at efter 4 billeder, så skal der laves en ny tr



if (count($billeder) > $offset+$pr_side) {
echo "</tr><tr>";
}

http://www.xup.dk/?site=galleri&maerke=brugernes
Avatar billede jakobdo Ekspert
30. januar 2007 - 13:21 #4
Test følgende:
sort($billeder);
while($i < $pics && $billeder[$i] != "")
{
    if(($i % $pr_side) == 0)
    {
        echo "</tr><tr>";
    }
    echo "<td width=\"25%\" valign=\"top\"><a href=\"$mappe/$billeder[$i]\" target=\"_blank\"><img src=\"$mappe/$billeder[$i]\" border=\"0\" width=\"$width\" height=\"$height\" style=\"border: 2px solid #000;\" alt=\"Tryk for stor version!\"></a></td>";
    $i++;
}
Avatar billede drinkit Praktikant
30. januar 2007 - 13:23 #5
lol hvor er du syg!! tester lige om den er skudsikker.. men det ser godt ud :

http://www.xup.dk/?site=galleri&maerke=brugernes
Avatar billede drinkit Praktikant
30. januar 2007 - 13:27 #6
det virker sgu perfekt. smid svar :) hvor er det godt det her!

kan du sige mig - hvis du ser på siden jeg lige har skrevet link til, hvorfor næste side og tilbage står ovenover billederne. jeg vil gerne have dem nedenunder..

kode::



<?

# Indstillinger

$mappe = "uploads/"; // Mappen med billeder

$pr_side = 4;
$pr_side2 = 12;

$height = 100;
$width = 100;

if (isset($_GET['offset'])) {
$offset = $_GET['offset'];
} else {
$offset = 0;
}
$pics = $offset+$pr_side2;
$i = $offset;
# Laver et array med billederne, så vi senere kan sortere
$handle = opendir($mappe);
while (($fil = readdir($handle)) !== false) {
if ($fil !=".." && $fil != ".." && !is_dir($mappe."/".$fil)) {
$billeder[] = $fil;
}
}
closedir($handle);

# Udskriver billederne

sort($billeder);
while($i < $pics && $billeder[$i] != "")
{
    if(($i % $pr_side) == 0)
    {
        echo "</tr><tr>";
    }
    echo "<td width=\"25%\" valign=\"top\"><a href=\"$mappe/$billeder[$i]\" target=\"_blank\"><img src=\"$mappe/$billeder[$i]\" border=\"0\" width=\"$width\" height=\"$height\" style=\"border: 2px solid #000;\" alt=\"Tryk for stor version!\"></a></td>";
    $i++;
}

#Udskriver frem og tilbage links

if ($offset >= $pr_side2) {
$forrige = $offset-$pr_side2;
echo "<a href=\"?site=galleri&amp;maerke=brugernes&amp;offset=$forrige\" style=\"padding-left: 4px; padding-right: 4px;\">Tilbage</a>";
}
$side = 0;
$antal_sider = ceil(count($billeder) / $pr_side2);
for($i = 1; $antal_sider >= $i; $i++) {

$side += $pr_side2;
}
if (count($billeder) > $offset+$pr_side2) {
$naeste = $offset+$pr_side2;
echo "<a href=\"?site=galleri&amp;maerke=brugernes&amp;offset=$naeste\" style=\"padding-left: 4px; padding-right: 4px;\">Næste side</a>";
}

?>



tør ik rykke rundt på noget, når det nu endelig virker
Avatar billede jakobdo Ekspert
30. januar 2007 - 13:40 #7
Koden under: #Udskriver frem og tilbage links
bliver ikke skrevet i en tabel.
Prøv at smid dem i <td>NÆSTE</td> og <td>FORRIGE</td>
Avatar billede drinkit Praktikant
30. januar 2007 - 14:05 #8
http://www.xup.dk/?site=galleri&maerke=brugernes

hvis du opretter en bruger på siden (under forum) så kan man under "galleri" uploade billeder.. nu virker det hele perfekt, og er også ret flot.

1000 tak for din hjælp. Er virkelig glad nu! har rodet med det her meget af natten - men det er jo også den eneste måde man lære det på!

Smid svar :) /Mikael
Avatar billede jakobdo Ekspert
30. januar 2007 - 14:22 #9
Du får lige et svar!
Avatar billede jakobdo Ekspert
30. januar 2007 - 14:44 #10
Takker for point.
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