Gegevens uit een array halen.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Red Crew

Red Crew

04/11/2006 19:16:00
Quote Anchor link
Ik heb gegevens die ik uit een database haal gesplitst in 3 arrays.

Nu wil van de gegevens die in de eerste array zodanig printen dat hij iedere keer per record in de array hij het volgende invult.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
        echo '<ul class="kolom"><li>'.PHP_EOL;
        echo '<input id="blaaat" name="genre_id['.$kolom1id[].']" type="checkbox" value="'.$kolom1id[].'" />'.PHP_EOL;
        echo '<label for="blaaat">'.$kolom1genre[].'</label>'.PHP_EOL;
        echo '</li></ul>'.PHP_EOL;
?>


Sorry voor de onduidelijke omschrijving maar ik weet niet juist hoe ik het beter kan uitdrukken.
 
PHP hulp

PHP hulp

30/04/2024 06:24:32
 
PHP Newbie

PHP Newbie

04/11/2006 19:17:00
Quote Anchor link
zoek je toevallig foreach
 
Robert Deiman

Robert Deiman

04/11/2006 19:30:00
Quote Anchor link
Beetje een omslachtige manier lijkt me, om eerst alles in een array te stoppen, als je ook rechtstreeks uit de database kan gaan echo'en. (misschien heb je er wel een goede reden voor hoor, om dit te doen)
 
Red Crew

Red Crew

04/11/2006 19:33:00
Quote Anchor link
het heeft inderdaad een reden als ik mijn checkboxes uit een database haal print ik ze af per 3 langs elkaar. Maar bij de eerste checkbox doet hij moeilijk tenzij ik de gehele rij checkboxes 1 regel lager laat staan de naam van de checkboxes.
Vandaar dat het nu eens wou proberen om er 3 echte lijsten van te maken en deze langs elkaar te zetten via CSS.

Meer erover in deze topic
Of een rechtstreekse link naar de layout
Gewijzigd op 01/01/1970 01:00:00 door Red Crew
 
Frank -

Frank -

04/11/2006 19:37:00
Quote Anchor link
@Robert: Voor de scheiding van de data-layer, business-layer en presentatie-layer id dit uitermate handig. Voor de presentatie op het scherm maakt het namelijk geen ene moer uit of de data nu uit een database komt, text-file, xml-feed of zelfs een dood ordinaire array. Wanneer jij er voor zorgt dat jouw presentatie-layer altijd via array's de data krijgt aangelevert vanaf de business-layer, dan kun je de data-layer veranderen zonder dat je iets aan de presentatie-layer hoeft te veranderen. En dat is nu precies de bedoeling van 3-Tier!
 
Red Crew

Red Crew

04/11/2006 19:59:00
Quote Anchor link
Ik heb nog nooit echt met foreach gewerkt. Ik heb eens gekeken op php.net maar ik kom er niet echt uit. Ik heb de volgende code geprobeerd.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
    echo '<label for="genre" class="align_text">Genre: </label>'.PHP_EOL;
    echo '<div id="pipe">';
    $i = 0;
    $result = mysql_query( "SELECT id, genre FROM genres", $conn );
        while ( $data = mysql_fetch_array($result) ) {
            $genre = stripslashes($data['genre']);
            
            if ($i == 0 ) {
                $kolom1id[] = $data['id'];
                $kolom1genre[] = $genre;
            }

            if ($i == 1 ) {
                $kolom2id[] = $data['id'];
                $kolom2genre[] = $genre;
            }

            if ($i == 2 ) {
                $kolom3id[] = $data['id'];
                $kolom3genre[] = $genre;
                $i = 0;
            }
else {
                $i++;
            }

        echo '<ul class="kolom">'.PHP_EOL;
        foreach ($kolom1genre as $id => $genre) {
            $tgenre = str_replace(" ", "", $genre);
            echo '<li>'.PHP_EOL;
            echo '<input id="'.$tgenre.'" class="ul_rij'.$i.'" name="genre_id['.$id.']" type="checkbox" value="'.$id.'" />'.PHP_EOL;
            echo '<label for="'.$tgenre.'">'.$genre.'</label>'.PHP_EOL;
            echo '</li>'.PHP_EOL;
        }

        echo '</ul>'.PHP_EOL;
            
    }

    echo '<hr class="clearer" />'.PHP_EOL;
    echo '</div>';
?>

Maar er zijn blijkbaar nog een deel foutjes in mijn foreach loop.
Als ik deze code bekijk geeft hij alles meerdere keren weer.
Afbeelding
 
Frank -

Frank -

04/11/2006 20:07:00
Quote Anchor link
Wat probeer je hier te bereiken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?
            if ($i == 0 ) {
                $kolom1id[] = $data['id'];
                $kolom1genre[] = $genre;
            }

?>

Zolang jij namelijk niets met $i doet, zal deze altijd 0 blijven. En dat lijkt mij hier het geval.

In de foreach heb je nog een $i staan die daar volgens mij niet hoort te staan of anders een verkeerde waarde kan hebben.

Verder is mij niet echt duidelijk wat nu de bedoeling is van het script.
 
PHP Newbie

PHP Newbie

04/11/2006 20:19:00
Quote Anchor link
voorbeeldje van een foreach

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
    $zooi
= array('zooi', 'meer zooi', 'nog wat zooi', 'en de laatste zooi');
    
    foreach($zooi as $zooiarray)
    {

        echo $zooiarray.'<br />';
    }

?>
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.