Avatar billede supermand69 Nybegynder
30. oktober 2004 - 17:24 Der er 7 kommentarer og
1 løsning

while løkke skal stoppe ved 100

jeg har en løkke her som indsætter nogle rækker i en tabel... hvordan kan jeg få den til at stoppe ved 100??

    $i = 1;
   
    $exceed_time = $TIME - (60 * 60 * 24 * 30);
   
    $sql = "SELECT track.*, SUM(user_top5.points) AS points
        FROM $DB.eb_track track
        LEFT JOIN $DB.eb_user_top5 user_top5 ON track.id=user_top5.track_id
        WHERE user_top5.time>$exceed_time
        GROUP BY track.id
        ORDER BY points DESC";
    $get = mysql_query($sql);
    while($row = mysql_fetch_array($get))
    {
        if($row['points'])
        {
            $row2 = mysql_fetch_array(mysql_query("SELECT * FROM $DB.eb_hitlist WHERE track_id=$row[id]"));
           
            if($row2['peak_position'] && $row2['peak_position'] < $i) $peak_position = $row2['peak_position'];
            else $peak_position = $i;
           
            if($row2['position']) $last_week = $row2['position'];
            else $last_week = 0;
           
            $move = $i - $last_week;
           
            $weeks = $row2['weeks'] + 1;
           
            mysql_query("INSERT INTO $DB.eb_hitlist SET
                track_id=$row[id],
                position=$i,
                move=$move,
                last_week=$last_week,
                weeks=$weeks,
                peak_position=$peak_position,
                points=$row[points],
                time=$TIME")or die(mysql_error());
           
            $i++;
        }
        else mysql_query("DELETE FROM $DB.eb_track WHERE id=$row[id]");
    }
Avatar billede hmortensen Nybegynder
30. oktober 2004 - 17:26 #1
if ($i == 100;)
break;
Avatar billede supermand69 Nybegynder
30. oktober 2004 - 17:33 #2
lav et svar
Avatar billede hmortensen Nybegynder
30. oktober 2004 - 17:35 #3
Ok :)
Avatar billede olebole Juniormester
31. oktober 2004 - 19:59 #4
<ole>

Når nu hele idéen i en while-løkke er 'sålænge betingelsen er opfyldt, så ...', kan vi ligeså godt bruge denne betingelse:

  while($row = mysql_fetch_array($get) && $i<100)  ;o)

/mvh
</bole>
Avatar billede hmortensen Nybegynder
31. oktober 2004 - 20:03 #5
Ja, og faktisk en pænere løsning, ihvertfald i andre sprog, da det aldrig er godt at hoppe ud af en løkke.

Svarer lidt til goto.
Avatar billede supermand69 Nybegynder
01. november 2004 - 15:42 #6
olebole > det kan jeg ikke få til at virke???

while($row = mysql_fetch_array($get) && $i<=100)
Avatar billede olebole Juniormester
01. november 2004 - 22:43 #7
Så må du lave en fejl et sted  :)
Avatar billede hmortensen Nybegynder
02. november 2004 - 08:31 #8
Skal det ikke være OR/|| ?
Ellers vil den da køre indtil begge betingelser er opfyldt
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester