15. oktober 2004 - 16:55
Der er
11 kommentarer og 1 løsning
Side tal på automatisk billed side
Jeg har en side der automatisk går ind og finder alle billeder i en mappe og smider dem på en side, med maks 12 billeder per side. Det jeg gerne ville have lavet er at der i toppen automatisk står hvor mange billeder der er i alt i mappen og lave sådan at man kan vaelge side. altså så der nede i bunden står Last 1 2 3 4 5 6 next hvis de rer 6 sider i alt min kode står nede for, håber virkelig nogen kan hjaelpe :D <?php #Indstillinger $sum = 3; // Antal billeder ved siden af hinanden $sumcount = 1; $imgwidth = 100; // Billedets bredde $imgheight = 100; // Bileddets højde $mappe = "./Bgs/"; // Mappen med billeder $pr_side = 12; // Antal billeder pr. side if (isset($_GET['offset'])) { $offset = $_GET['offset']; } else { $offset = 0; } $pics = $offset+$pr_side; $i = $offset; echo "$i - $pics / 48<br>"; # Laver et array med billederne, så vi senere kan sortere dem alfabetisk $handle = opendir($mappe); while (($fil = readdir($handle)) !== false) { if ($fil != "." && $fil != ".." && !is_dir($mappe."/".$fil)) { $billeder[] = "$fil"; } } closedir($handle); # Udskriver billederne sort($billeder); $billeder = array_reverse($billeder); while($i < $pics && $billeder[$i] != "") { $text = $billeder[$i]; $text = str_replace("_"," ", $text); $text = str_replace("1","", $text); $text = str_replace("2","", $text); $text = str_replace("3","", $text); $text = str_replace("4","", $text); $text = str_replace("5","", $text); $text = str_replace("6","", $text); $text = str_replace("7","", $text); $text = str_replace("8","", $text); $text = str_replace("9","", $text); $text = str_replace("0","", $text); $text = str_replace(".jpg","", $text); $text = str_replace(".gif","", $text); $text = str_replace(".JPG","", $text); $text = str_replace("ae","æ", $text); $text = str_replace("AE","Æ", $text); $text = str_replace("aa","å", $text); $text = str_replace("AA","Å", $text); $text = str_replace("oe","ø", $text); $text = str_replace("OE","Ø", $text); $text = str_replace("..","*", $text); $text = str_replace("SMIL",":)", $text); echo "<td><table><tr><td><a href=\"$mappe/$billeder[$i]\" target=_blank><img src=\"$mappe/small/$billeder[$i]\" border=\"0\" width=\"100\" height=\"100\"><br>$text</td></a></tr></table></td>"; if ($sumcount == $sum) { $sumcount = 0; echo "</tr><tr>"; } $sumcount++; $i++; } ?> Shift page: <?php #Udskriver frem og tilbage links if ($offset >= $pr_side) { $forrige = $offset-$pr_side; echo "<a href=\"?offset=$forrige\"> Last </a> - "; } if (count($billeder) > $offset+$pr_side) { $naeste = $offset+$pr_side; echo "<a href=\"?offset=$naeste\"> Next </a>"; } ?>
Annonceindlæg fra Pax8
15. oktober 2004 - 23:58
#1
noget ala dette - jeg har ikke rettet dine tabel fejl <?php #Indstillinger $sum = 3; // Antal billeder ved siden af hinanden $sumcount = 1; $imgwidth = 100; // Billedets bredde $imgheight = 100; // Bileddets højde $mappe = "./"; // Mappen med billeder $pr_side = 12; // Antal billeder pr. side 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 dem alfabetisk $handle = opendir($mappe); while (($fil = readdir($handle)) !== false) { if ($fil != "." && $fil != ".." && !is_dir($mappe."/".$fil)) { $billeder[] = "$fil"; } } closedir($handle); echo "$i - $pics / ".count($billeder)."<br>"; for( $x=0; $x < count($billeder); $x+= $pr_side ) { echo "<a href='$PHP_SELF?offset=$x'>".$x." - ".($x+12)."</a> "; } # Udskriver billederne sort($billeder); $billeder = array_reverse($billeder); while($i < $pics && $billeder[$i] != "") { $text = $billeder[$i]; $text = str_replace("_"," ", $text); $text = str_replace("1","", $text); $text = str_replace("2","", $text); $text = str_replace("3","", $text); $text = str_replace("4","", $text); $text = str_replace("5","", $text); $text = str_replace("6","", $text); $text = str_replace("7","", $text); $text = str_replace("8","", $text); $text = str_replace("9","", $text); $text = str_replace("0","", $text); $text = str_replace(".jpg","", $text); $text = str_replace(".gif","", $text); $text = str_replace(".JPG","", $text); $text = str_replace("ae","æ", $text); $text = str_replace("AE","Æ", $text); $text = str_replace("aa","å", $text); $text = str_replace("AA","Å", $text); $text = str_replace("oe","ø", $text); $text = str_replace("OE","Ø", $text); $text = str_replace("..","*", $text); $text = str_replace("SMIL",":)", $text); echo "<td><table><tr><td><a href=\"$mappe/$billeder[$i]\" target=_blank><img src=\"$mappe/small/$billeder[$i]\" border=\"0\" width=\"100\" height=\"100\"><br>$text</td></a></tr></table></td>"; if ($sumcount == $sum) { $sumcount = 0; echo "</tr><tr>"; } $sumcount++; $i++; } ?> Shift page: <?php #Udskriver frem og tilbage links if ($offset >= $pr_side) { $forrige = $offset-$pr_side; echo "<a href=\"?offset=$forrige\"> Last </a> - "; } if (count($billeder) > $offset+$pr_side) { $naeste = $offset+$pr_side; echo "<a href=\"?offset=$naeste\"> Next </a>"; } ?>
16. oktober 2004 - 00:24
#2
16. oktober 2004 - 00:26
#3
Ah du havde aendret mappe navnet :) Kan man få den til at skrive Forige 1 2 3 4 5 6 naeste istedet for 12-24 24-36 osv. ?
16. oktober 2004 - 02:09
#4
joooo, ret til echo "<a href='$PHP_SELF?offset=$x'>".floor($x/12)."</a> "; i lin 50
16. oktober 2004 - 02:13
#5
eller faktisk til echo "<a href='$PHP_SELF?offset=$x'>".floor($x/$pr_side)."</a> "; for at dine variable bruges
16. oktober 2004 - 14:12
#6
hva så med at den side man er på ikke er et link, men bare tekst? Håber det kan lade sig gøre, og så er jeg vidst også ved at vaeere der, så et svar ville vaere godt :D
17. oktober 2004 - 01:34
#7
jeg er ikke helt med, hvad mener du med "den side man er på ikke er et link, men bare tekst"
17. oktober 2004 - 13:54
#8
sådan at hvis man er på side 2, ser det således ud: tilbage <--link 1<---link 2<--ik link 3<-- link 4<---link next <--link
17. oktober 2004 - 14:06
#9
for( $x=0; $x < count($billeder); $x+= $pr_side ) { if( $x >= $offset && $x < $offset+$pr_side ) echo floor($x/$pr_side)." "; else echo "<a href='$PHP_SELF?offset=$x'>".floor($x/$pr_side)."</a> "; }
18. oktober 2004 - 11:12
#10
Så virker det da :D Tusind tak :D Får jeg et svar :D?
18. oktober 2004 - 11:54
#11
naahh - tag dem selv
18. oktober 2004 - 12:01
#12
Ok mange tak :)
Vi tilbyder markedets bedste kurser inden for webudvikling