login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[PHP OOP / Smarty]

Offline Eric1978 - 17/04/2012 20:28 (laatste wijziging 17/04/2012 20:32)
Avatar van Eric1978Lid Hoi iedereen,

Is er iemand bekend met het probleem in Smarty, dat na het gebruik van twee foreach loops achter elkaar de opmaak van een tabel niet meer klopt?

Ik moet twee foreach loops na elkaar gebruiken, omdat ik data uit twee tabellen haal. (Dit is niet anders op te lossen helaas).
De laatste <td> wordt nu weergegeven onderin de tabel, maar moet gewoon netjes bovenin verticaal naar beneden te zien zijn. Hoe kan ik dit oplossen met Smarty?

Groeten Eric

  1. <table width="500">
  2. {foreach from=$categories item=category}
  3. <tr>
  4. {if $category.fcType == 'm'}
  5. <td><strong>{$category.fcName}</strong></td>
  6.  
  7. {else}
  8. <td><a href="http://localhost/ZendFramework/forum/category?c={$category.fcID}">{$category.fcName}</a></td>
  9. <td>{$category.fcDescription}</td>
  10. {/if}
  11. {/foreach}
  12.  
  13. {foreach from=$users item=user}
  14. {if !empty($user)}
  15. <td>Nieuwste topic door {$user}</td>
  16. {/if}
  17. {/foreach}
  18. </tr>
  19. </table>

7 antwoorden

Gesponsorde links
Offline icemar - 17/04/2012 20:45
Avatar van icemar Lid Je kan dan het beste zorgen dat de cel gevuld is als er geen waarde is.
Dit kan je doen met een else.
Offline Eric1978 - 17/04/2012 20:52 (laatste wijziging 17/04/2012 20:55)
Avatar van Eric1978 Lid Dat heb ik geprobeerd, maar ik heb nog steeds hetzelfde probleem:

  1. <table width="500">
  2. {foreach from=$categories item=category}
  3. <tr>
  4. {if $category.fcType == 'm'}
  5. <td><strong>{$category.fcName}</strong></td>
  6. {else}
  7. <td><a href="http://localhost/ZendFramework/forum/category?c={$category.fcID}">{$category.fcName}</a></td>
  8. <td>{$category.fcDescription}</td>
  9. {/if}
  10. {/foreach}
  11.  
  12. {foreach from=$users item=user}
  13. {if !empty($user)}
  14. <td>Nieuwste topic door {$user}</td>
  15. {else}
  16. <td>bla</td>
  17. {/if}
  18. {/foreach}
  19. </tr>
  20. </table>
Offline icemar - 17/04/2012 21:07
Avatar van icemar Lid Als goed is zou dit goed moeten gaan
  1. <table width="500">
  2. <tr>
  3. {foreach from=$categories item=category}
  4. {if $category.fcType == 'm'}
  5. <td><strong>{$category.fcName}</strong></td>
  6. <td>&nbsp:</td>
  7. {else}
  8. <td><a href="http://localhost/ZendFramework/forum/category?c={$category.fcID}">{$category.fcName}</a></td>
  9. <td>{$category.fcDescription}</td>
  10. {/if}
  11. {/foreach}
  12. {foreach from=$users item=user}
  13. {if !empty($user)}
  14. <td>Nieuwste topic door {$user}</td>
  15. {else}
  16. <td>bla</td>
  17. {/if}
  18. {/foreach}
  19. </tr>
  20. </table>
Offline Eric1978 - 17/04/2012 21:19 (laatste wijziging 17/04/2012 21:22)
Avatar van Eric1978 Lid hmm...nu wordt alles naast elkaar weergegeven.
Ondanks dat de tabel begint en eindigd met een <tr>

Lastig dit, soms kun je niet voorkomen om data uit twee tabellen in 1 overzicht te zetten. En ik zie geen andere optie als foreach met Smarty. {section} kan geen arrays weergeven.

correctie: onder elkaar weergeven met

  1. <tr>
  2. <td><strong>{$category.fcName}</strong></td>
  3. <td>&nbsp</td>
  4. {else}
  5. <tr>
  6. <td><a href="http://localhost/ZendFramework/forum/category?c={$category.fcID}">{$category.fcName}</a></td>
  7. <td>{$category.fcDescription}</td>


Maar de twee resultaten uit de users tabel worden nog naast elkaar weergegeven onderin de tabel.
Offline icemar - 17/04/2012 21:23
Avatar van icemar Lid Klopt toch ook staat maar 1 tr in geen 2
als je dat wil dan moet je een extra tr invoegen.
Offline Eric1978 - 17/04/2012 22:32 (laatste wijziging 17/04/2012 22:33)
Avatar van Eric1978 Lid ik bedoel naast elkaar op een verkeerde manier.
Ze worden onderin de tabel weergegeven. op deze manier:

--
--
--
--
----
Moet zijn:

---
---
--
--
--
Offline icemar - 19/04/2012 19:10 (laatste wijziging 19/04/2012 19:10)
Avatar van icemar Lid Als mee zit zou dit nu wel correct moeten werken naar je zin.


  1. <table width="500">
  2. {foreach from=$categories item=category}
  3. <tr>
  4. {if $category.fcType == 'm'}
  5. <td><strong>{$category.fcName}</strong></td>
  6. <td>&nbsp:</td>
  7. {else}
  8. <td><a href="http://localhost/ZendFramework/forum/category?c={$category.fcID}">{$category.fcName}</a></td>
  9. <td>{$category.fcDescription}</td>
  10. {/if}
  11. </tr>
  12. {/foreach}
  13. {foreach from=$users item=user}
  14. <tr>
  15. {if !empty($user)}
  16. <td colspan="2">Nieuwste topic door {$user}</td>
  17. {/if}
  18. {/foreach}
  19. </tr>
  20. </table>
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.234s