Smarty en foreach

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Derk  Janssen

Derk Janssen

21/04/2011 13:15:33
Quote Anchor link
Hallo allemaal ik ben al tijdje bezig met smarty.
Ik heb alleen een vraagje.
Als ik een dubbel while heb bv met mysql hoe doe je dat op de juiste manier?
Ik heb namelijk het gevoel dat ik een omslachtige manier gebruik.
Hier onder een voorbeeld hoe ik het nu.
Zou iemand mijn kunnen vertellen hoe het wel moet?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$query
= tep_db_query("SELECT id, name FROM users");
while($row = tep_db_fetch_array($query)){
    
    $smarty->append('variable0',$row);
    
    $query1 = tep_db_query("SELECT friends_id FROM friends WHERE friends_from=$row['id']");
    while($row = tep_db_fetch_array($query1)){
        $smarty->append('variable1',$row);
    }
}

?>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
{foreach from=$variable0 item=foo}
    {
foreach from=$variable1_{$foo0.id} item=foo1}
        
    {
/foreach}
{
/foreach}    
?>
 
PHP hulp

PHP hulp

29/03/2024 08:15:23
 
- Ariën  -
Beheerder

- Ariën -

21/04/2011 13:30:47
Quote Anchor link
Ikzelf heb ook wel eens zitten stoeien met twee while-loops en Smarty, en in dit topic kan je lezen hoe en wat :-)

In ieder geval maak ik een mooie multidimensionale array van het hele spul, die je dan makkelijk door kan lopen (al dan niet recursief).

http://www.phphulp.nl/php/forum/topic/multidimensionale-array-maken-voor-smarty/77372/

Bijbehorende template:
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
{foreach name=categorie item=contact key=naam from=$news_categories}
    <h1>{$naam}</h1>
    <table class="TableList tablesorter">
    <thead>
        <tr>
            <th>Titel</th>
            <th>Auteur</th>
            <th>Datum</th>
        </tr>
    </thead>
    {foreach key=key item=item from=$contact}
    <tbody>
        <tr>
            <td><a href="/news/{$item.id}">{$item.title}</a></td>
            <td>{$item.auteur}</td>
            <td>{$item.date_posted}</td>
        </tr>
    </tbody>
    {/foreach}
</table>
{/foreach}


Die $contact var is een beetje dom gekozen. Komt door ge-copy-paste uit de Smarty manual.
Gewijzigd op 21/04/2011 13:36:54 door - Ariën -
 
Derk  Janssen

Derk Janssen

21/04/2011 14:26:06
Quote Anchor link
Bedankt ik ga er even mee stoeien.
 



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.