FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Mycket flitig postare
|
Hejsan, jag sitter just nu och kodar min första sida i php och mysql, och har kommit en bit på vägen.
Jag har lärt mig allt på nätet, och kollat in en del tutorials, så mina kunskaper är inte de bästa.. Men jag ville göra en sida on my own, så jag lättare kan lära mig. Jag tänkte jag skulle försöka mig på att skapa en webbshop (kanske lite överkurs, men det går bra hitils i alla fall. Jag skulle dock vilja veta om det på något sätt går att lägga in en annons efter ett x antal rader. exempel: <ul> <li>produkt 1</li> <li>produkt 2</li> <li>produkt 3</li> <li>produkt 4</li> <div>Annons</div> <li>produkt 5</li> <li>produkt 6</li> <li>produkt 7</li> <li>produkt 8</li> </ul> Förstår ni hur jag menar? Jag använder mig av en vanlig while-loop för att lista produkterna. Jag tänker mig att man på något sätt ska kunna stoppa loopen, utföra en kod (lägga in annonsen), och sen sätta igång loopen igen. Eller om man kanske kan på något sätt kan räkna antalet <li>? Kanske kan man använda sig av något annat? Hoppas ni kan hjälpa mig, och om ni behöver veta mer så är det bara att säga till så fixar jag fram det begärda! ![]() mvh, Fredrik Jonsson |
||
![]() |
![]() |
![]() |
#2 | |||
|
||||
Har WN som tidsfördriv
|
Kod:
while($products as $product) { if($i == 5) { echo 'Annons!'; } else { echo '<li>'.$product.'</li>'; } } |
|||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Supermoderator
|
Lämpligen så räknar du antalet rader och kontrollerar om du är på rad X varvid du infogar annonsen.
__________________
Jonny Zetterström se.linkedin.com/in/jonnyz | bjz.se | sajthotellet.com | kalsongkungen.se | zretail.se | zetterstromnetworks.se | webbhotellsguide.se | ekonominyheter24.se | nyamobiltelefoner.se | gapskratt.se | antivirusguiden.se | jonny.nu |
||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Medlem
|
Skulle gjort precis som Jine föreslog.
Fast utan else satsen då så att den inte hoppar över 5an? |
||
![]() |
![]() |
![]() |
#5 | ||
|
|||
Mycket flitig postare
|
|||
![]() |
![]() |
![]() |
#6 | ||
|
|||
Mycket flitig postare
|
Skulle någon vänlig själ vilja berätta för mig hur Jines kod fungerar? Vad ska variabeln "i" innehålla?
Jag kan skicka en pastebin kopia på min kod när jag kommer hem sen, så kan ni enklare bedömma om Jine's kod är det bästa sättet. ![]() |
||
![]() |
![]() |
![]() |
#7 | ||
|
|||
Medlem
|
Kod:
<?php $i = 0; while($row = mysql_fetch_array($result)) { if($i == 5) //Kolla om $i är 5 t.ex. i sådant fall skriv ut annons, $i är antal gånger loopen körts echo '<li>Annons</li>'; //Skriv alltid ut varan echo '<li>' . $row['vara'] . '</li>'; //Öka variabeln $i så att vi ser hur många gånger loopen har körts $i++; } ?> |
||
![]() |
![]() |
![]() |
#8 | ||
|
|||
Medlem
|
Kör den så här borde den funka.
Eller hur ser din while loop ut? $i = 0; while($products as $product) { if($i == 5) { echo "<div>Annons</div>"; } echo "<li>$product</li>"; $i++; } |
||
![]() |
![]() |
![]() |
#9 | |||
|
||||
Har WN som tidsfördriv
|
Kan dra mitt strå till stacken i och förklara Monkboll's kod:
// Innan du påbörjar while-loopen definierar du en variabel till 0 $i = 0; // Så länge det finns produkter att hämta ut så kör vi while satsen nedanför while($products as $product) { // Om variabel $i är lika med 5 så kör vi ut annonsen annars skippas denna if-sats eftersom uttrycket inte är sant if($i == 5) { echo "<div>Annons</div>"; } // Vi skiver ut produkten echo "<li>$product</li>"; // Nedan ökar vi $i variabeln med ett (++ betyder öka med ett) du skulle lika gärna kunna skriva $i = $i + 1; Men det blir mindre kod att skriva det som nedanför. $i++; } Varje gång vi har kört ett varv i whilesatsen så kommer $i att öka med ett. Första varvet är $i 0, nästa varv är $i 1, därefter är $i 2 osv. När $i till slut kommer att bli 5 så blir det uttrycket vi har skrivit i if-satsen sant (eftersom $i == 5)och då kommer "<div>Annons</div>" skrivas ut. |
|||
![]() |
![]() |
![]() |
#10 | ||
|
|||
Supermoderator
|
Den överdrivna kommenteringen Fredrik-s använde ovan är då endast menad för din skull och inte lämpad till "riktig kod", bara så du vet
![]() Variabeln $i kallas för iterator vilket är en variabel som används endast för att traversera genom någon form av behållare. Därav att du oftast ser bokstaven 'i' användas till detta. Du stoppar aldrig upp loopen utan gör bara olika saker inne i den beroende på olika villkor, i detta fall beroende på iteratorns värde.
__________________
Full-stack developer, free for smaller assignments Senast redigerad av tartareandesire den 2012-03-21 klockan 12:26 |
||
![]() |
![]() |
Svara |
|
|