06. juli 2001 - 16:02
Der er
64 kommentarer og 3 løsninger
++ en ...
Jeg skal til at lave en hjemmeside hvor der vil komme mange billeder på. På siden er der forskellige sektioner af billeder feks. Fodbold, Tennis .. da det drejer sig om mange billeder der skal sættes ind, kalder jeg feks de billeder som er i fodbolds sektionen, fodbold1.gif, fodbold2.gif, fodbold3.gif osv .. og da jeg er yderst doven, gider jeg ikke at skrive <img src=\"fodbold1.gif><br> <img src=\"fodbold2.gif><br> <img src=\"fodbold3.gif><br> hvergang et nyt billede bliver uploadet, derfor ville jeg høre om man ikke kunne gøre sådan så man kun har en linje; <img src=\\\"$fodbold$tal\\\"> (måske dårligt illustreret) hvor $tal så går en op hele tiden ? mit php er ikke lige så godt, men jeg mener man skal skrive noget med ++ et eller andet ..
Annonceindlæg fra FPT Software
jo i din løkke.. $tal++; print\"<img src=\\\"$fodbold$tal\\\">\";
ok, nu skulle den gå en op hele tiden ? Hvad hvis jeg nu kun har lad os sige 50 billeder med fodbold, hvordan får jeg så løkken til at stoppe ?
hvordan ser din løkke ud? hvorfor laver du den ikke sådan at den selv finder filerne i dit dir?
Nok nærmere: for ($i = 1; $i < 10; $i++){ ?> <img src=\"fodbold<?=$i?>.gif\"> <? } ?>
prøv at ændre $dir til den mappe du har billederne $dir = opendir(\'../images\'); while($file = readdir($dir)) { if($file != \".\" && $file != \"..\" ) { print\"<img src=\\\"$file\\\"><br>\"; } } closedir($dir);
Hvis man vil læse filerne fra et dir skal man lige huske at lave noget sortering på dem først - ellers kommer de bare i tilfældig rækkefølge...
jaja hvis man ønsker det... men hvad sortere den egentlig efter som default, ved du det?
Mnaej... jeg tror slet ikke den sorterer efter noget :-(
06. juli 2001 - 16:37
#10
hmm det lyder underligt hvis den bare samler alle filer i et array og så ryster array\'et godt og grundigt, ligesom terninger i en bæger... den må da sortere efter et eller andet :-)
06. juli 2001 - 16:39
#11
Det er typisk den rækkefølge de er lagt i kataloget. Men har du slettet og tilføjet bliver de \"blandet\". Det er imidlertid altid den samme rækkefølge, sålænge du ikke ændrer noget med filnavnene i kataloget.
06. juli 2001 - 16:46
#12
(Vender lige tilbage til min løkke et øjeblik): Hvis den skal stoppe ved det 50. billede skal 10 midt i den første linie blot rettes til 50, og du skal selvfølgelig ind i php først. Et mere komplet udkast: <? for ($i = 1; $i <= 50; $i++){ ?> <img src=\"fodbold<?=$i?>.gif\"> <? } ?> detvarbareligedetjegvillesige(tm)
06. juli 2001 - 16:52
#13
htx98i17 var der ikke en mulighed for at man kan sætte det ind i en tabel og så den er 4 lang i cols??
06. juli 2001 - 16:52
#14
tak for svarene, jeg tror at det er noget af det jeg skal bruge, men vil lige afprøve det også vender jeg straks tilbage med points\'ne !
06. juli 2001 - 16:55
#15
jannersen -> jo da, det er ikke noget problem...
06. juli 2001 - 16:56
#16
Kan du ikke lige lave det, så skal du nok lige få lidt points for det!!?
06. juli 2001 - 16:59
#17
<table> <tr> <? $dir = opendir(\'../images\'); while($file = readdir($dir)) { if($file != \".\" && $file != \"..\" ) { print\"<td><img src=\\\"$file\\\"><br></td>\"; $count++; if($count = 4) { print\"</tr></tr>\"; $count = 0; } } } closedir($dir); ?> </tr> </table>
06. juli 2001 - 17:00
#18
hov der var en lille fejl... <table> <tr> <? $dir = opendir(\'../images\'); while($file = readdir($dir)) { if($file != \".\" && $file != \"..\" ) { print\"<td><img src=\\\"$file\\\"><br></td>\"; $count++; if($count = 4) { print\"</tr><tr>\"; $count = 0; } } } closedir($dir); ?> </tr> </table>
06. juli 2001 - 17:04
#19
den virker ikke lige, den viser billeder i en lang række ned-ad!!
06. juli 2001 - 17:04
#20
faktisk tror jeg der var en lille fejl mere, beklager spammeriet ... <table> <tr> <? $dir = opendir(\'../images\'); while($file = readdir($dir)) { if($file != \".\" && $file != \"..\" ) { print\"<td><img src=\\\"$file\\\"><br></td>\"; $count++; if($count == 4) { print\"</tr><tr>\"; $count = 0; } } } closedir($dir); ?> </tr> </table>
06. juli 2001 - 17:05
#21
du skal lige fjerne <br> i print-linjen også.. og prøv så mit sidste eksempel,,,
06. juli 2001 - 17:06
#22
Da var den!! Skal vi sige 20points?? For så opretter jeg lige et spørgsmål, så du kan få dem!!
06. juli 2001 - 17:07
#23
jaja fint
06. juli 2001 - 17:08
#24
men kan du se metoden? så du selv kan lave det en anden gang...
06. juli 2001 - 17:16
#25
er det muligt at sætte det ind i den her tabel ? <table border=\"0\" cellspacing=\"3\" cellpadding=\"0\" bordercolor=\"#000000\"> <tr valign=\"top\"> <td align=\"center\" height=\"131\"> <img src=\"fodbold/1.jpg\" alt=\"01.jpg\" border=\"0\" width=\"125\" height=\"125\"></a></td> </tr> </table>
06. juli 2001 - 17:17
#26
det skal være sådan at den åbner directory \"fodbold\"
06. juli 2001 - 17:18
#27
Du ka jo sætte hvad som helst ind i en tabel... Hvad skulle problemet være? Du har godt nok et lidt sjovt </a> midt i det hele, men ellers er det vel ok?
06. juli 2001 - 17:22
#28
lidt sjusk der :) jeg ville gerne have sat løkken ind de hvor der står <img src=\"fodbold/1.jpg\" alt=\"01.jpg\" border=\"0\" width=\"125\" height=\"125\">
06. juli 2001 - 17:23
#29
koden er lidt rodet, den skulle gerne virke <table border=\"0\" cellspacing=\"3\" cellpadding=\"0\" bordercolor=\"#000000\"> <tr valign=\"top\"> <? $dir = opendir(\'/fodbold/\'); while($file = readdir($dir)) { if($file != \".\" && $file != \"..\" ) { print\"<td align=\\\"center\\\" height=\\\"131\\\" ><img src=\\\"$file\\\" alt=\\\"$file\\\" border=\\\"0\\\"></td>\"; $count++; if($count == 4) { print\"</tr><tr>\"; $count = 0; } } } closedir($dir); ?> </tr> </table>
06. juli 2001 - 17:23
#30
det fra htx98i17\'s eksempel ... hvad betyder det her ? if($count == 4)
06. juli 2001 - 17:25
#31
det betyder at når der er udskrevet 4*<td>-rækker så skal den printe \"</tr><tr>\" på den måde laver den flere rækker i tabellen
06. juli 2001 - 17:27
#32
ok, overdrevet smart .... er lige nød til at smutte men kommer forhåbenligt tilbage med points efter spisetid !
06. juli 2001 - 17:29
#33
sådan lidt... <table border=\"0\" cellspacing=\"3\" cellpadding=\"0\" bordercolor=\"#000000\"> <tr valign=\"top\"> <? for ($i = 1; $i <= 50; $i++){ ?> <td align=\"center\" height=\"131\"> <img src=\"fodbold/<?=$i?>.jpg\" alt=\"01.jpg\" border=\"0\" width=\"125\" height=\"125\"></td> <? if ($count++ > 5) print \"</tr><tr valign=top>\"; } ?> </tr> </table> --agtigt..??
06. juli 2001 - 18:28
#34
når jeg sætter følgende ind, viser den bare en firkant med rødt kryds, som om billedet ikke er der.. men man kan se at den har fundet billederne ved at den viser hvad billedet er blevet kaldt .. <? $dir = opendir(\'C:/apache/htdocs/side/fodbold/\'); while($file = readdir($dir)) { if($file != \".\" && $file != \"..\" ) { print\"<td align=\\\"center\\\" height=\\\"131\\\" ><img src=\\\"$file\\\" alt=\\\"$file\\\" border=\\\"0\\\"></td>\"; $count++; if($count == 3) { print\"</tr><tr>\"; $count = 0; } } } closedir($dir); ?> den viste ikke noget da jeg skrev $dir = opendir(\'/fodbold/\');
06. juli 2001 - 18:30
#35
henrik242 , prøver også lige din metode ...
06. juli 2001 - 18:34
#36
sådan: <? $dir = opendir(\'C:/apache/htdocs/side/fodbold/\'); while($file = readdir($dir)) { if($file != \".\" && $file != \"..\" ) { print\"<td align=\\\"center\\\" height=\\\"131\\\" ><img src=\\\"fodbold/$file\\\" alt=\\\"$file\\\" border=\\\"0\\\"></td>\"; $count++; if($count == 3) { print\"</tr><tr>\"; $count = 0; } } } closedir($dir); ?> det er jo fordi at dine billeder ligger i mappen fodbold, og det skal jo defineres i <img src ...
06. juli 2001 - 18:37
#37
prøv også at sæt dir til \"fodbold/\" i stedet... hvis det ikke virker sådan, så lav det tilbage igen :)
06. juli 2001 - 18:39
#38
--> henrik242 <-- tror det så som du skrev kan komme til at virke meget godt, men når man sætter det ind, som du har skrevet, ødelægger det layoutet, sikkert fordi det skal sættes ind i nogle tables ... kan du gøre sådan, så at der er 3 <td> (som nedenstående) efterfulgt af et </tr> Der er nemlig kun plads til 3 billeder med den width pr linje ... <tr> <td align=\"center\" height=\"141\"><img src=\"fodbold/1.jpg\" border=\"0\" width=\"125\" height=\"125\"></td>
06. juli 2001 - 18:48
#39
-->htx98i17 <-- ok, nu kommer billederne frem, men er der også en måde hvor du kan definerer hvor mange billeder der må vises pr. side ? layoutet er kun 1000 i height, så når alle billederne vises samtidig, bliver det overskredet også ser det ikke så godt ud :(
06. juli 2001 - 18:51
#40
jaah, men så skal du til at lave en til løkke, og sortere dit array osv.. det må du få en anden til at hjælpe med, for sidst jeg lavede det selv, fungerede det ikke optimalt mht. hvor langt den var nået i rækken af billeder...
06. juli 2001 - 19:40
#41
HVis du har en fast pixelhøjde på alle dine billeder, kan du jo begynde at lave lidt simpel regning og gætning! Jeg ville foreslå at du lavede $tr++ for hver tr der blev sat ind. Hvis vi så siger at hvert billede er 100px højt, og vi har lidt cellpadding og en border, som også lige er på, så har vi plads til ca 9 rækker! Når så de 9 er noget stopepr du løkken!
06. juli 2001 - 21:32
#42
--> wizprod.com <-- Der er plads til 7 rækker, men hvordan stopper jeg løkken ved den syvende række ? koden ser sådan ud: - - - - - - - - <table border=\"0\" cellspacing=\"3\" cellpadding=\"0\" bordercolor=\"#000000\"> <tr valign=\"top\"> <? $dir = opendir(\'C:/apache/htdocs/pside/fodbold/\'); while($file = readdir($dir)) { if($file != \".\" && $file != \"..\" ) { print\"<td align=\\\"center\\\" height=\\\"125\\\" ><img src=\\\"fodbold/$file\\\" alt=\\\"$file\\\" border=\\\"0\\ width=\\\"125\\\" height=\\\"125\\\"></td>\"; $count++; if($count == 3) { print\"</tr><tr>\"; $count = 0; } } } closedir($dir); ?> </tr> </table>
06. juli 2001 - 21:35
#43
Brug en forløkke i en forløkke! Den ene skal gå fra 1 til og med 7
06. juli 2001 - 21:36
#44
eller også kunne man udvide din while løkke!
06. juli 2001 - 21:38
#45
Efter denne ville jeg sætte en $tr++; : print\"</tr><tr>\"; Udvid så din while med følgende: && $tr < 8
06. juli 2001 - 21:41
#46
heh, det fatter jeg ikke en skid af ... Som sagt, jeg stinker rimelig meget til php, men hvis du gad at sætte det ind i det stykke kode der er lavet oven over, ville jeg være overlykkelig !
06. juli 2001 - 22:10
#47
gad du ??
06. juli 2001 - 22:12
#48
Hvordan giver man flere points ud, end man først har valgt ? mange har hjulpet med noget godt, så jeg vil gerne give lidt flere points end først angivet !
06. juli 2001 - 22:14
#49
Vælg \"afsæt flere points\"
06. juli 2001 - 22:17
#50
<table border=\"0\" cellspacing=\"3\" cellpadding=\"0\" bordercolor=\"#000000\"> <tr valign=\"top\"> <? $dir = opendir(\'C:/apache/htdocs/pside/fodbold/\'); while($file = readdir($dir) && $tr < 8) { if($file != \".\" && $file != \"..\" ) { print\"<td align=\\\"center\\\" height=\\\"125\\\" ><img src=\\\"fodbold/$file\\\" alt=\\\"$file\\\" border=\\\"0\\ width=\\\"125\\\" height=\\\"125\\\"></td>\"; $count++; if($count == 3) { print\"</tr><tr>\"; $tr++; $count = 0; } } } closedir($dir); ?> </tr> </table>
06. juli 2001 - 22:18
#51
Ikke testet vel og mærke, men jeg skulle mene det virker
06. juli 2001 - 22:18
#52
ok, har sat det op til 120 points, da der også har sneget sig nogle spørgsmål rundt... Men kunne du hjælpe mig wizprod.com ?? Jeg ville sætte meget stor pris på det !!
06. juli 2001 - 22:19
#53
ok tak, lidt for langsom med min kommentar .. jeg tjekker det lige !
06. juli 2001 - 22:29
#54
*gaaaab*
06. juli 2001 - 22:39
#55
hmmm over en halv time om at chekke to ændringer???
07. juli 2001 - 00:36
#56
Jeg undskylder for den lange ventetid, men jeg blev nød til at smutte .... Det med rækkerne virker fint nu, men nu viser den kun det samme billede på alle rækkerne
07. juli 2001 - 00:39
#57
HEHE ikke min afdeling :-) HIHI Ej, det må være noget med at den ikke tæller ordentligt op så!
07. juli 2001 - 00:51
#58
Damn, outta my reach .... Det er virkelig det sidste jeg skal bruge hjælp til, også vil jeg ikke belemre jeg med flere af mine problemer :)
07. juli 2001 - 01:19
#59
Bum bum kan ikke se fejlen!
07. juli 2001 - 01:37
#60
Hmm... ser meget rigtigt ud - jeg har omskrevet det en smule der manglede et enkelt \" , men ellers burde det da vistnok virke... <table border=\"0\" cellspacing=\"3\" cellpadding=\"0\" bordercolor=\"#000000\"> <tr valign=\"top\"> <? $dir = opendir(\'C:/apache/htdocs/pside/fodbold/\'); while($file = readdir($dir) && $tr < 8) { if($file != \".\" && $file != \"..\" ) { ?> <td align=\"center\" height=\"125\" ><img src=\"fodbold/<?=$file?>\" alt=\"$file\" border=\"0\" width=\"125\" height=\"125\"></td> <? $count++; if($count == 3) { print\"</tr><tr>\"; $tr++; $count = 0; } } } closedir($dir); ?> </tr> </table>
07. juli 2001 - 01:39
#61
erh -den skal selvfølgelig ikke først åbne dir´et \'fodbold\' og så bagefter kigge efter en mappe ved navn fodbold her - så det er må være mere rigtigt med: Hmm... ser meget rigtigt ud - jeg har omskrevet det en smule der manglede et enkelt \" , men ellers burde det da vistnok virke... <table border=\"0\" cellspacing=\"3\" cellpadding=\"0\" bordercolor=\"#000000\"> <tr valign=\"top\"> <? $dir = opendir(\'C:/apache/htdocs/pside/fodbold/\'); while($file = readdir($dir) && $tr < 8) { if($file != \".\" && $file != \"..\" ) { ?> <td align=\"center\" height=\"125\" ><img src=\"<?=$file?>\" alt=\"$file\" border=\"0\" width=\"125\" height=\"125\"></td> <? $count++; if($count == 3) { print\"</tr><tr>\"; $tr++; $count = 0; } } } closedir($dir); ?> </tr> </table>
07. juli 2001 - 09:20
#62
virker det så nu ?
07. juli 2001 - 12:05
#63
Hmm der er sku da mærkeligt, den viser stadig kun det samme billede hele vejen ned :/ Er der ike nogen som lige kan teste det på deres egen computer ???
07. juli 2001 - 15:12
#64
Vi har har jo hverken billeder eller noget
07. juli 2001 - 15:28
#65
dette skulle virke: <table border=\"0\" cellspacing=\"3\" cellpadding=\"0\" bordercolor=\"#000000\"> <tr valign=\"top\"> <? $dir = opendir(\'images\'); while($file = readdir($dir)) { if($file != \".\" && $file != \"..\" && $tr != 8 ) { ?> <td align=\"center\" height=\"125\" ><img src=\"<?php echo$file; ?>\" alt=\"<?php echo$file; ?>\" border=\"0\" width=\"125\" height=\"125\"></td> <? $count++; if($count == 3) { print\"</tr><tr>\"; $tr++; $count = 0; } } } closedir($dir); ?> </tr> </table>
07. juli 2001 - 15:29
#66
du skal bare lige ændre $dir igen...
07. juli 2001 - 17:34
#67
Det virkede sku nu ! Jeg siger tak for hjælpen og håber jeg har fordelt points\'ne ordenligt :)
Vi tilbyder markedets bedste kurser inden for webudvikling