Avatar billede uniquedk Nybegynder
17. september 2007 - 02:21 Der er 2 kommentarer og
1 løsning

Hjælp til array check i while loop

Hej der allesammen....
Kan nogen fortælle mig hvorfor min foreach loop i det her kode ikke bliver gentjeket hver gang den løber gennem min while loop

while ($mylink = mysql_fetch_array($links)) {
           
                if ($num_link == 0) { echo '<div class="mylinks">'; }
                    //// For bookmarking /////
                if (isset($_SESSION['logged'])) {               
                $link_id = $mylink['id'];
               
            foreach ($unbook_id as $bookvalue) {
                    if ($link_id === $bookvalue) { $booked = 1; } else {$booked=0;} }
                if ( $booked ==0 ) {
                echo $link_id; '<form method="post" action="'. $_SERVER['PHP_SELF'] .'?action=bookmark" style="float:left;margin-right:2px;">
                    <input type="image" src="porn_images/bookmark.gif" name="bmark" />
                    <input type="hidden" value="'.$link_id.'" name="linkid" />
                    </form>';
                    echo '<a href="'.$mylink['url'].'" target="_blank"><b>' .$mylink['url'].'</b></a><div style="clear:left;"></div>';
                    $num_link++;
                    } else if ($booked==1) {
                            echo '<form method="post" action="'. $_SERVER['PHP_SELF'] .'?action=bookmark" style="float:left;margin-right:2px;">
                            <input type="image" src="porn_images/unbookmark.gif" name="bmark" />
                            <input type="hidden" value="'.$link_id.'" name="linkid" />
                            </form>';
                            echo '<a href="'.$mylink['url'].'" target="_blank"><b>' .$mylink['url'].'</b></a><div style="clear:left;"></div>';
                            $num_link++;
                            }
           
                }
           
                if ($num_link >= ($numlinks/3)) { echo '</div>'; $num_link = 0; }
           
    }
Avatar billede uniquedk Nybegynder
17. september 2007 - 02:27 #1
Problemet er at jeg skal have forskellige små ikoner ved linksene alt efter om de er bogmærket...Og det virker næsten..

foreach ($unbook_id as $bookvalue) {
                    if ($link_id === $bookvalue)

$unbook_id er som et array som det skal være..... $link_id løber fint igennem....
Men den kan kun have den sidste jeg har bogmærket som booked... så må være noget galt med min foreach loop, er som om den ikke tjekker det igen i while loop'en... trods at $unbook_id arrayet ser fint ud og $link_id stiger som det skal... :-/
Avatar billede uniquedk Nybegynder
17. september 2007 - 15:28 #2
efter lidt nærmere kig på det, kan jeg se at det der skal til er at BREAK'e foreach loopen når den finder et match og derpå udfører statements.... men hvordan søren gør man det???
Avatar billede uniquedk Nybegynder
17. september 2007 - 15:48 #3
Svarer selv, har vist løst det...., skulle bare et break; efter booked=1 så den stoppede hvis den fandt et match :-)
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