-Teddy- Skrevet 29. oktober 2006 Del Skrevet 29. oktober 2006 (endret) Jeg fikser ikke å forklare hva jeg vil uten eksempler, så jeg har skrevet kommentarer underveis i koden. Klikk for å se/fjerne innholdet nedenfor PHP // Masse HTML <?php // Her gir jeg bildenavnene en variabel $navn1 = lyshaugen; $navn2 = mbpro; $navn3 = rusty; $navn4 = sky-ies; $navn5 = pavel; $navn6 = shit; $navn7 = web; $navn8 = voltage; $navn9 = sommerfugl; $navn10 = sommerfugl1; $navn11 = muteple; $totalt = 11; ?> // Masse HTML <?php /* Her sliter jeg. Dette er foreløpig det siste, desperate forsøket jeg hadde i forsøk på å få det til. Det jeg vil er at f.eks $navn1 skal skrives ut, så går loopen en gang til, da skrives $navn2 ut osv. - hhv. lyshaugen og mbpro. Et eksempel på en utskrift jeg vil ha er: <div class="element"> <a href="foto/lyshaugen.jpg" rel="lightbox[asd]"><img src="foto/lyshaugen_t.jpg" /></a> <div class="tekst">Lyshaugen - Les mer</div> </div> */ for($i = 1; $i < $totalt ; $i++){ echo(" <div class='element'> <a href='foto/"); echo($navn.$i); echo(".jpg' rel='lightbox[foto]'><img src='foto/"); echo($navn.$i); echo("_t.jpg' /></a> <div class='tekst'>"); echo("$navn.$i"); echo("- les mer</div> </div>"); } ?> // Mer HTML Er svært takknemlig for hjelp! Endret 29. oktober 2006 av -Teddy- Lenke til kommentar
HolgerL Skrevet 29. oktober 2006 Del Skrevet 29. oktober 2006 (endret) Sett heller navnene inn i en tabell (array) og bruk loopen til å hente ut ett og ett element fra den tabellen. PHP <?php $images = array("lyshaugen","mbpro","rusty", "[OG SÅ VIDERE]"); $totalt = 11; for($i = 0; $i < $totalt; $i++) { echo("<div class='element'><a href='foto/"); echo($images[$i]); // SE HER REFERERER JEG TIL ETT ELEMENT I TABELLEN FOR HVER GJENNOMGANG AV LOOPEN echo(".jpg' rel='lightbox[foto]'><img src='foto/"); echo($images[$i]); echo("_t.jpg' /></a><div class='tekst'>"); echo($images[$i]); echo("- les mer</div></div>"); } ?> Du kan ikke referere til variabler ved å slå sammen to strenger. Dvs hvis $a = "arne" og $b = "bjarne" kan du ikke hente $arnebjarne ved å slå sammen $a og $b. Endret 29. oktober 2006 av HolgerLudvigsen Lenke til kommentar
Peter Skrevet 29. oktober 2006 Del Skrevet 29. oktober 2006 Hvorfor begynner du på 1? ($i =1) og hvorfor ikke $totalt = count($images) ? Lenke til kommentar
HolgerL Skrevet 29. oktober 2006 Del Skrevet 29. oktober 2006 (endret) Hvorfor begynner du på 1? ($i =1) og hvorfor ikke $totalt = count($images) ? 7179234[/snapback] Prøvde å gjøre mest mulig likt det han hadde fra før. Det med 1-ern la jeg for øvrig ikke merke til. Takker Endret 29. oktober 2006 av HolgerLudvigsen Lenke til kommentar
Martin A. Skrevet 29. oktober 2006 Del Skrevet 29. oktober 2006 Kan jo heller bruke array_count_values() istede for å telle hvert element hver gang man gjør noen endringer i arrayet. Lenke til kommentar
endrebjo Skrevet 29. oktober 2006 Del Skrevet 29. oktober 2006 Du kan ikke referere til variabler ved å slå sammen to strenger. Dvs hvis $a = "arne" og $b = "bjarne" kan du ikke hente $arnebjarne ved å slå sammen $a og $b. 7179125[/snapback] Jeg synes det er litt merkelig siden man nesten kan det: $a = 'hei'; $$a = 'du'; echo $hei // Vil skrive ut: 'du' Lenke til kommentar
-Teddy- Skrevet 29. oktober 2006 Forfatter Del Skrevet 29. oktober 2006 Dette ser bra ut. Skal teste det i morgen. Tusen takk for hjelpen! Lenke til kommentar
blacktower Skrevet 29. oktober 2006 Del Skrevet 29. oktober 2006 Hvorfor begynner du på 1? ($i =1) og hvorfor ikke $totalt = count($images) ? 7179234[/snapback] For å slippe å tenke på grenseverdier og andre ting som gir en programmerer vondt i hodet kan det gjøres slik: PHP <?php $names = array('lyshaugen', 'mbpro', 'rusty', '...'); foreach($names as $name) { ?> <div class="element"> <a href="foto/<?=$name?>.jpg" rel="lightbox[asd]"><img src="foto<?=$name?>_t.jpg" /></a> <div class="tekst"><?=ucfirst($name)?> - Les mer</div> </div> <?php } ?> Produserer Klikk for å se/fjerne innholdet nedenfor <div class="element"> <a href="foto/lyshaugen.jpg" rel="lightbox[asd]"><img src="fotolyshaugen_t.jpg" /></a> <div class="tekst">Lyshaugen - Les mer</div> </div> <div class="element"> <a href="foto/mbpro.jpg" rel="lightbox[asd]"><img src="fotombpro_t.jpg" /></a> <div class="tekst">Mbpro - Les mer</div> </div> <div class="element"> <a href="foto/rusty.jpg" rel="lightbox[asd]"><img src="fotorusty_t.jpg" /></a> <div class="tekst">Rusty - Les mer</div> </div> <div class="element"> <a href="foto/....jpg" rel="lightbox[asd]"><img src="foto..._t.jpg" /></a> <div class="tekst">... - Les mer</div> </div> En annen ting jeg gjorde annerledes var å hoppe inn og ut av php-modus, fremfor å bruke echo, dette er mer en personlig preferanse. Lenke til kommentar
-Teddy- Skrevet 30. oktober 2006 Forfatter Del Skrevet 30. oktober 2006 Hvordan bruker jeg den samme arrayen på flere sider? Har ikke vært borti MySQL enda. Lenke til kommentar
Martin A. Skrevet 30. oktober 2006 Del Skrevet 30. oktober 2006 Lag deg en fil du inkluderer i alle sider du trenger arrayet. Lenke til kommentar
-Teddy- Skrevet 30. oktober 2006 Forfatter Del Skrevet 30. oktober 2006 (endret) Var det jeg kom fram til og. Slik går det når man poster før man får tenkt seg skikkelig om. Jeg vet egentlig knapt nok hva MySQL er, men kan det brukes til lagring av slike data jeg nå kommer til å inkludere fra en fil istedet? EDIT: Dro vekk quoten av M4rTiN Endret 30. oktober 2006 av -Teddy- Lenke til kommentar
Martin A. Skrevet 30. oktober 2006 Del Skrevet 30. oktober 2006 (endret) Klart du kan. Lag deg en tabell som inneholder brukere. Så henter du det, og printer det med: while( $rad = mysql_fetch_array($sql) ) { echo '<div class="element"> <a href="foto/' . $rad["name"] . '.jpg" rel="lightbox[asd]"> <img src="foto' . $rad["name"] . '_t.jpg" /></a> <div class="tekst">' . ucfirst($rad["name"]) . ' - Les mer</div> </div>'; } Endret 30. oktober 2006 av M4rTiN Lenke til kommentar
-Teddy- Skrevet 30. oktober 2006 Forfatter Del Skrevet 30. oktober 2006 Takk M4rTiN, skal begynne å lese litt om MySQL etterhvert. Databaser virker mer oversiktlig enn masse småfiler overalt. Jeg skal lage en imageresizer. (har et nesten-ferdig-script) Noen bilder står på høykant, men jeg vil at alle thumbnails skal være i 250px*166px. Hvordan får jeg kun et utsnitt av bildet som thumbnail? Lenke til kommentar
Jonhoo Skrevet 3. november 2006 Del Skrevet 3. november 2006 Det er mulig å løse dette uten en array, selv om det ikke nødvendigvis er en fin løsning: PHP <?php $navn1 = 'martin'; $navn2 = 'ole'; $navn3 = 'ingeborg'; for ($i=i;$i<4;$i++) { echo $navn$i; } ?> Som sagt, jeg vet det er stygt, men det er mulig er alt jeg ville si Lenke til kommentar
HolgerL Skrevet 3. november 2006 Del Skrevet 3. november 2006 Det er mulig å løse dette uten en array, selv om det ikke nødvendigvis er en fin løsning: [...] Som sagt, jeg vet det er stygt, men det er mulig er alt jeg ville si 7209500[/snapback] Det der fungerer jo ikke. Har du testet den koden? Lenke til kommentar
Martin A. Skrevet 3. november 2006 Del Skrevet 3. november 2006 Det er mulig å løse dette uten en array, selv om det ikke nødvendigvis er en fin løsning: PHP <?php $navn1 = 'martin'; $navn2 = 'ole'; $navn3 = 'ingeborg'; for ($i=i;$i<4;$i++) { echo $navn$i; } ?> Som sagt, jeg vet det er stygt, men det er mulig er alt jeg ville si 7209500[/snapback] Det er ikke bare stygt, det fungerer ikke engang. Skal du gjøre det, så må det gjøres slik <?php $navn[1] = 'martin'; $navn[2] = 'ole'; $navn[3] = 'ingeborg'; for ($i=1;$i<4;$i++) { echo $navn[$i]."<br />\n"; } ?> $i = i? Lenke til kommentar
Peter Skrevet 3. november 2006 Del Skrevet 3. november 2006 (endret) Skal du gjøre det, så må det gjøres slik <?php $navn[1] = 'martin'; $navn[2] = 'ole'; $navn[3] = 'ingeborg'; for ($i=1;$i<4;$i++) { echo $navn[$i]."<br />\n"; } ?> $i = i? 7211952[/snapback] Neida, man må bare være klar for å misbruke PHP brutalt. peter@smurf:~$ php -aInteractive mode enabled <?php $navn1 = 'a'; $navn2 = 'b'; $navn3 = 'c'; for($i=0;$i<4;$i++) { eval('echo $navn'.$i.';'); } abc huff, nå føler jeg meg skitten her Endret 3. november 2006 av Nazgul Lenke til kommentar
Jonhoo Skrevet 3. november 2006 Del Skrevet 3. november 2006 Tulla, man kan jo ikke bruke variable variables inne i hverandre.. De maa vaere fra starten... Dere har helt rett Lenke til kommentar
Haraldson Skrevet 3. november 2006 Del Skrevet 3. november 2006 For å dra det litt videre (hvis ingen har noe imot det) - finnes det en innebygd PHP-funksjon som scanner gjennom en spesifisert mappe og legger inn filnavnene i en array? Så det hele kan gå mer eller mindre automatisk, mener jeg? Lenke til kommentar
-Teddy- Skrevet 3. november 2006 Forfatter Del Skrevet 3. november 2006 For å dra det litt videre (hvis ingen har noe imot det) - finnes det en innebygd PHP-funksjon som scanner gjennom en spesifisert mappe og legger inn filnavnene i en array? Så det hele kan gå mer eller mindre automatisk, mener jeg? 7213352[/snapback] Dette søkte jeg litt etter og tittet på, men jeg kom fram til at jeg ikke hadde bruk for det. Jeg må kunne bestemme hvilken rekkefølge bildene skal stå i på websiden, og om scriptet sjekker automatisk vil det vel gå etter filnavn eller sist endret dato. Filnavn kan ikke endres da jeg bruker filnavnet som linketekst og titletekst flere steder. Å ha 01 02 03 osv foran passer seg ikke. Link til readdir I tilfelle måtte man også fjernet thumbnailsa, jeg vet ikke hvordan man skulle gjort det. Om noen har god tid kan de godt vise hvordan det i tilfelle skulle blitt gjort, jeg liker å studere og lære php. Alle thumbnails slutter på "_t.filendelse". Er kjempefornøyd med at PHP guiden er tatt opp igjen. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå