Kom ihåg mig?

"pausa" en while-loop, och sen låta den fortsätta

 
Ämnesverktyg Visningsalternativ
Oläst 2012-03-21, 15:32 #11
Kretius Kretius är inte uppkopplad
Medlem
 
Reg.datum: Feb 2009
Inlägg: 60
Kretius Kretius är inte uppkopplad
Medlem
 
Reg.datum: Feb 2009
Inlägg: 60
Själv brukar jag använda modulus istället när jag vill skriva ut något vid givna intervall.
Så jag bidrar med mitt exempel.
Eftersom modulus (% i PHP) svarar med resten från en division så blir det 0 (false) när det är jämnt delbart. (6/2=3 0 i rest, 7/2=3 och 1 i rest) En division med 0 ger alltid en rest på 0 så därför startar jag med $i=1 istället.
Mitt exempel blir då:
Kod:
  $i=1;
  while ($products as $product) {
    echo "<li>$product</li>";
    if (!($i%5)) echo "<li>annons</li>"; // om $i % 5 inte blir 0 (false) är det inte delbart med 5
    $i++;    
  }
Kretius är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-03-21, 15:34 #12
allstars allstars är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Apr 2006
Inlägg: 2 126
allstars allstars är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Apr 2006
Inlägg: 2 126
Bara du inte kör DIV istället för LI bara. Då blir markup-gudarna arga på dig.
allstars är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-03-21, 15:39 #13
nosnaj nosnaj är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Mar 2005
Inlägg: 1 012
nosnaj nosnaj är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Mar 2005
Inlägg: 1 012
Citat:
Ursprungligen postat av tartareandesire Visa inlägg
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.
Det blir nog hemläxa för dig
$products är snarare iteratorn, $i är ju bara en siffra och den kan du väl knappast iterera över.

Snyggare kod borde dessutom vara:

foreach($products as $counter => $product) {
//Do stuff
}
nosnaj är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-03-21, 17:10 #14
tartareandesire tartareandesire är inte uppkopplad
Supermoderator
 
Reg.datum: Jan 2004
Inlägg: 11 585
tartareandesire tartareandesire är inte uppkopplad
Supermoderator
 
Reg.datum: Jan 2004
Inlägg: 11 585
Citat:
Ursprungligen postat av nosnaj Visa inlägg
Det blir nog hemläxa för dig
$products är snarare iteratorn, $i är ju bara en siffra och den kan du väl knappast iterera över.

Snyggare kod borde dessutom vara:

foreach($products as $counter => $product) {
//Do stuff
}
Naturligtvis har du rätt i det. Var lite snabb där, det enda jag egentligen ville kommentera var kommentarerna så att säga Iteration (= upprepning) bör det istället ha stått, alltså gällande vad i:et i variabelnamnet betyder.
__________________
Full-stack developer, free for smaller assignments

Senast redigerad av tartareandesire den 2012-03-21 klockan 17:20
tartareandesire är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-03-21, 18:44 #15
Monkboll Monkboll är inte uppkopplad
Medlem
 
Reg.datum: Apr 2010
Inlägg: 157
Monkboll Monkboll är inte uppkopplad
Medlem
 
Reg.datum: Apr 2010
Inlägg: 157
Kul att se så många olika lösningar på ett så pass relativt enkelt problem. =D
Monkboll är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-03-21, 23:54 #16
jonssondesign jonssondesign är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2010
Inlägg: 709
jonssondesign jonssondesign är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2010
Inlägg: 709
Jag tror jag förstår faktiskt! Tack så jätte mycket allihop!

För er som är intresserad av att se hur min while loop ser ut nu (utan att ha testat er teori), så ligger den här: http://pastebin.com/HFKVS9FS

Återkommer om jag får några problem!

Tack ännu en gång för er hjälp!
jonssondesign är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-03-22, 13:12 #17
jonssondesign jonssondesign är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2010
Inlägg: 709
jonssondesign jonssondesign är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2010
Inlägg: 709
PHP-kod:
<?php //Listar produkterna
       
  
$query "SELECT * FROM products WHERE visible = 1 "// Välj alla kolumner från tabellen "products" där kolumnen visible "synbar" är lika med 1 "JA"
                       
  
if (isset($race_sort)) {
    if (
$race_sort == "kvinna") { $query .= "AND race = 'kvinna' "; } // visa bara produkter åt kvinnor
    
if ($race_sort == "man") { $query .= "AND race = 'man' "; } // visa bara produkter åt män
    
if ($race_sort == "barn") { $query .= "AND race = 'barn' "; } // visa bara produkter åt barn
  
}
                       
  if (isset(
$brand_sort)) {
    
$query .= "AND brand = '$brand_sort' "// visa bara produkter från ett specifikt märke (under produktens titel)
  
}
                       
  if (isset(
$post_brand)) {
    if (
$post_brand == "Alla") { }else {
      
$query .= "AND brand = '$post_brand' "// visa bara produkter från ett specifikt märke (tabellen)
    
}
  }

  
$query .= "AND price > 0 "// visa produkter med ett pris över 0 kr
  
$query .= "AND price < 5000 "// visa produkter med ett pris under 5000 kr
  
  
$query .= "ORDER BY price ASC"// sortera efter pris (billigast först)
  
  
if (isset($post_limit)) {
    
$query .= " LIMIT $post_limit"// sortera efter ett visst antal produkter
  
}
                       
  
$result mysql_query($query$connection) or die(mysql_error()); // Hämtar prdoukterna
Är detta ett bra sätt att lösa sorteringar på?

(Har inte inkluderat alla sorters sorteringar ännu dock...)
jonssondesign är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-03-22, 13:21 #18
Monkboll Monkboll är inte uppkopplad
Medlem
 
Reg.datum: Apr 2010
Inlägg: 157
Monkboll Monkboll är inte uppkopplad
Medlem
 
Reg.datum: Apr 2010
Inlägg: 157
Finns nog lita att ändra kanske.. Såg detta lite snabbt.
Kod:
if (isset($race_sort)) { 
    if ($race_sort == "kvinna") { $query .= "AND race = 'kvinna' "; } // visa bara produkter åt kvinnor 
    if ($race_sort == "man") { $query .= "AND race = 'man' "; } // visa bara produkter åt män 
    if ($race_sort == "barn") { $query .= "AND race = 'barn' "; } // visa bara produkter åt barn 
  }
Skulle jag göra så här.

Kod:
  if (isset($race_sort)) { 
    $query .= "AND race = '$race_sort' "; } 
  }
Lika på de andra
Monkboll är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-03-22, 13:48 #19
captaindoes avatar
captaindoe captaindoe är inte uppkopplad
Flitig postare
 
Reg.datum: Dec 2010
Inlägg: 431
captaindoe captaindoe är inte uppkopplad
Flitig postare
captaindoes avatar
 
Reg.datum: Dec 2010
Inlägg: 431
Kod:
  if (isset($race_sort)) { 
    $query .= "AND race = '$race_sort' "; } 
  }
Detta är extremt farligt eftersom jonssondesign inte använder sig utav mysql_real_escape_string.
captaindoe är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-03-22, 15:04 #20
Monkboll Monkboll är inte uppkopplad
Medlem
 
Reg.datum: Apr 2010
Inlägg: 157
Monkboll Monkboll är inte uppkopplad
Medlem
 
Reg.datum: Apr 2010
Inlägg: 157
Sant.
Kör mysql_real_escape_string($race_sort) istället då.
Ville mest pointera hans onödiga if satser..
Monkboll är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 
Ämnesverktyg
Visningsalternativ

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 20:00.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017