05. januar 2004 - 14:14
Der er
7 kommentarer og 1 løsning
4 ad gangen i PHP/Mysql
Jeg er ved at lave et fotoalbumsystem. Nu er jeg nået til delen hvor man skal lave siden med alle thumbnailsene. De skal stå i en tabel med 4 thumbnails på hver række. Men hvordan får man lige PHP/Mysql til at skrive 4 poster ud, lave en ny række osv. indtil der ikke er flere poster?
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
05. januar 2004 - 14:18
#1
Det bedste er at lave en forspørgelse, og få alt dataen ind i php (højest sandsynligt et array) hvor du så kan manipulerer med den.
05. januar 2004 - 14:19
#2
Et eksempel hvor det også er delt op på sider, hvor du så bestemmer hvor mange du vil have pr. side. <?php #Indstillinger mysql_pconnect("server","user","pass"); mysql_select_db("db"); $sum = 4; // Antal billeder ved siden af hinanden $sumcount = 1; $imgwidth = 96; // Billedets bredde $imgheight = 65; // Bileddets højde $mappe = "gall"; // Mappen med billeder $prside = 16; // Antal billeder pr. side $visfra = $_GET['visfra']; if(!$_GET['visfra']) { $visfra = 0; } ?> <html> <head> <script type="text/javascript"> function PopupImg(img) { window.open("popup.php?img="+img,"ahv","width=<?php echo $imgwidth; ?>,height=<?php echo $imgheight; ?>"); } </script> </head> <body> <div align="center"> <?php $query = mysql_query("SELECT * FROM gallery ORDER BY id DESC limit $visfra, $prside"); while($row = mysql_fetch_array($query)) { echo "<a href=\"java script: PopupImg('$mappe/$row[filename]')\"><img src=\"$mappe/$row[filename]\" width=\"$imgwidth\" height=\"$imgheight\"></a> "; if ($sumcount == $sum) { $sumcount = 0; echo "<br>"; } $sumcount++; $i++; } ?> <hr> <?php $antal = mysql_num_rows(mysql_query("SELECT * FROM gallery")); if ($visfra > 0) { $bagud = $visfra-$prside; echo "<a href='$_SERVER[PHP_SELF]?visfra=$bagud'>Forrige</a> "; } $page = 1; for ($start = 0; $antal > $start; $start = $start + $prside) { if($visfra != $page * $prside - $prside) { echo "<a href='$_SERVER[PHP_SELF]?visfra=$start'>$page</a> "; } else { echo $page." "; } $page++; } if ($visfra < $antal - $prside) { $naeste = $visfra + $prside; echo " <a href='$_SERVER[PHP_SELF]?visfra=$naeste'>Næste</a>"; } ?> </div> </body> </html>
05. januar 2004 - 14:20
#3
Ved ikke lige hvorfor eksperten lavede alle de mellemrum i koden.
05. januar 2004 - 14:20
#4
Der er forresten også så man kan klikke og få dem vist i original form.
05. januar 2004 - 14:21
#5
den skal ikke hente billedinfo fra en mappe, men fra sql-databasen... min foto-tabel har følgende felter: id, aid (albumid), beskr(ivelse), ok (noget jeg bruger for at tjekke at billedet bliver uploadet). filerne ligger så alle sammen i den samme mappe med navnet [id].jpg og tn_[id].jpg.
05. januar 2004 - 14:23
#6
Nu burde den være helt clean -> <?php #Indstillinger mysql_pconnect("server","user","pass"); mysql_select_db("db"); $sum = 4; // Antal billeder ved siden af hinanden $sumcount = 1; $imgwidth = 96; // Billedets bredde $imgheight = 65; // Bileddets højde $mappe = "gall"; // Mappen med billeder $query = mysql_query("SELECT * FROM gallery ORDER BY id DESC"); while($row = mysql_fetch_array($query)) { echo "<img src=\"$mappe/$row[filename]\" width=\"$imgwidth\" height=\"$imgheight\"></a> "; if ($sumcount == $sum) { $sumcount = 0; echo "<br>"; } $sumcount++; $i++; } ?> Den henter også info fra databasen, $mappe variablen er blot der hvor den skal finde billederne.
05. januar 2004 - 14:26
#7
Den forudsætter også at du gemmer filnavnet i databasen så php kan finde den rigtige post i databasen og hægte sammen med det rigtige billede.
05. januar 2004 - 15:04
#8
ahv, den er godtaget :)
Vi tilbyder markedets bedste kurser inden for webudvikling