login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Even lange rijen (in TemplatePower)

Offline RobbyTown - 08/08/2006 14:06 (laatste wijziging 08/08/2006 14:08)
Avatar van RobbyTownHTML interesse Nu ben ik bezig met een uitgebreid FAQ systeem, ik loop vast bij het navigatie deel.

Het staat nu zo:

  1. 1) Algemeen
  2. 2) Huisregels
  3. 3) Banners & Links
  4. 4) Software & Hosting
  5. 5) Adverteren
  6. 6) Disclaimer


Ik wil het zo
  1. 1) Algemeen 4) Software & Hosting
  2. 2) Huisregels 5) Adverteren
  3. 3) Banners & Links 6) Disclaimer



De php coding
http://www.plaatscode.be/1820/

De tpl
http://www.plaatscode.be/1821/

Zou iemand mij verder kunnen helpen?

12 antwoorden

Gesponsorde links
Offline ikkedikke - 08/08/2006 15:10 (laatste wijziging 08/08/2006 16:11)
Avatar van ikkedikke PHP expert
  1. <?
  2. $sFaq = "SELECT *
  3. FROM ".PREFIX."faq
  4. ORDER BY id ASC";
  5.  
  6. $rFaq = mysql_query($sFaq);
  7. $iFaqCount = mysql_num_rows($rFaq);
  8. $i =0;
  9. while ($aFaq = mysql_fetch_assoc($rFaq))
  10. {
  11. if(floor($i/2) == $iFaqCount/2)
  12. {
  13. $tpl->newBlock("nieuwe_kolom");
  14. }
  15. $tpl->newBlock("faq_nav");
  16. $tpl->assign(array("id" => $aFaq['id'],
  17. "titelpagina" => $aFaq['titelpagina'] ));
  18. $i++;
  19. }
  20. ?>

  1. <table>
  2. <tr>
  3. <td>
  4. <!-- START BLOCK : nieuwe_kolom -->
  5. </td>
  6. <td>
  7. <!-- END BLOCK : nieuwe_kolom -->
  8. <!-- START BLOCK : faq_nav -->
  9. <table class="contentTabel" cellspacing="0">
  10. <tr>
  11. <td class="contentRijLeeg">{id}) <a href="{SITE_URL}faq/{id}">{titelpagina}</a></td>
  12. </tr>
  13. </table>
  14. <!-- END BLOCK : faq_nav -->
  15. </td>
  16. </tr>
  17. </table>

foutje^^
Offline Ultimatum - 08/08/2006 15:22
Avatar van Ultimatum PHP expert @ikkedikke, je gebruikt op regel 10 $i om te delen, maar je hebt hem nergens gezet , volgens mij ben je vergete om $i++ binnen de while te zetten

of ik ben de weg kwijt atm 
Offline RobbyTown - 08/08/2006 16:16 (laatste wijziging 08/08/2006 16:16)
Avatar van RobbyTown HTML interesse @Ultimatum; heb het er zelf bij gezet.

Het werkt denk ik zo wel alleen is de output verkeert, hij maakt namelijk van elk ding een table
  1. <table>
  2. <tr>
  3. <td>
  4. <table class="contentTabel" cellspacing="0">
  5. <tr>
  6. <td class="contentRijLeeg">1) <a href="http://source.webjunks.nl/faq/1">Algemeen</a></td>
  7. </tr>
  8.  
  9. </table>
  10. <table class="contentTabel" cellspacing="0">
  11. <tr>
  12. <td class="contentRijLeeg">2) <a href="http://source.webjunks.nl/faq/2">Huisregels</a></td>
  13. </tr>
  14. </table>
  15. <table class="contentTabel" cellspacing="0">
  16. <tr>
  17. <td class="contentRijLeeg">3) <a href="http://source.webjunks.nl/faq/3">Banners &#38; Links</a></td>
  18.  
  19. </tr>
  20. </table>
  21. <table class="contentTabel" cellspacing="0">
  22. <tr>
  23. <td class="contentRijLeeg">4) <a href="http://source.webjunks.nl/faq/4">Software &#38; Hosting</a></td>
  24. </tr>
  25. </table>
  26. <table class="contentTabel" cellspacing="0">
  27. <tr>
  28.  
  29. <td class="contentRijLeeg">5) <a href="http://source.webjunks.nl/faq/5">Adverteren</a></td>
  30. </tr>
  31. </table>
  32. <table class="contentTabel" cellspacing="0">
  33. <tr>
  34. <td class="contentRijLeeg">6) <a href="http://source.webjunks.nl/faq/6">Disclaimer</a></td>
  35. </tr>
  36. </table>
  37.  
  38. </td>
  39. </tr>
  40. </table>
Offline Ultimatum - 08/08/2006 16:29
Avatar van Ultimatum PHP expert Logisch, alles wat in de while staat word herhaald, de je moet de table uit je faq_nav halen
Offline ikkedikke - 08/08/2006 16:58
Avatar van ikkedikke PHP expert je kan er inderdaad ook 2 tabllen van maken, die je allebei in een aparte kolom van de omvattende tabel zet.
Offline RobbyTown - 08/08/2006 17:59
Avatar van RobbyTown HTML interesse Nu heb ik vanalles geprobeert maar ze komen of allemaal langs elkaar of allemaal onderelkaar maar niet het gewenst wat ik wil dus 2 even lange rijen langs elkaar.

Hoe ik het nu heb komen ze langs elkaar
  1. <table class="contentTabel" cellspacing="0">
  2. <tr>
  3. <td>
  4. <!-- START BLOCK : nieuwe_kolom -->
  5. </td>
  6. <td>
  7. <!-- END BLOCK : nieuwe_kolom -->
  8. <!-- START BLOCK : faq_nav -->
  9. {id}) <a href="{SITE_URL}faq/{id}">{titelpagina}</a>
  10. <!-- END BLOCK : faq_nav -->
  11. </td>
  12. </tr>
  13. </table>
  14.  
  15. Ouput ervan
  16. <table class="contentTabel" cellspacing="0">
  17. <tr>
  18. <td>
  19. 1) <a href="http://source.webjunks.nl/faq/1">Algemeen</a>
  20. 2) <a href="http://source.webjunks.nl/faq/2">Huisregels</a>
  21. 3) <a href="http://source.webjunks.nl/faq/3">Banners &#38; Links</a>
  22.  
  23. 4) <a href="http://source.webjunks.nl/faq/4">Software &#38; Hosting</a>
  24. 5) <a href="http://source.webjunks.nl/faq/5">Adverteren</a>
  25. 6) <a href="http://source.webjunks.nl/faq/6">Disclaimer</a>
  26. </td>
  27. </tr>
  28. </table>


Wat doe ik toch fout .
Offline ikkedikke - 08/08/2006 18:47
Avatar van ikkedikke PHP expert het zou moeten werken.
heb je gezien dat ik in mijn eerste post dingen heb veranderd in de phpcode?
ik was het eigenlijke tellertje nl vergeten.
Offline RobbyTown - 08/08/2006 18:53 (laatste wijziging 08/08/2006 18:57)
Avatar van RobbyTown HTML interesse Heb je code nog eens overgenomen, maar het verandert niets aan de ouput.

Ze blijven onderelkaar komen .
Check
http://source.webjunks.nl/faq

Het lijkt erop dat nieuwe_kolom niet werkt.

Nu heb ik dit bij de tpl getypt
  1. <table>
  2. <tr>
  3. <td>
  4. <!-- START BLOCK : nieuwe_kolom -->
  5. hihih sitemasters.nl</td>
  6. <td>
  7. <!-- END BLOCK : nieuwe_kolom -->
  8. <!-- START BLOCK : faq_nav -->
  9. <table class="contentTabel" cellspacing="0">
  10. <tr>
  11. <td class="contentRijLeeg">{id}) <a href="{SITE_URL}faq/{id}">{titelpagina}</a></td>
  12. </tr>
  13. </table>
  14. <!-- END BLOCK : faq_nav -->
  15. </td>
  16. </tr>
  17. </table>

Als je op mijn pagina kijkt is erniets te lezen over sitemasters
Offline ikkedikke - 09/08/2006 00:05 (laatste wijziging 09/08/2006 00:05)
Avatar van ikkedikke PHP expert Het zal wel weer iets zijn dat je in het verkeerde block zit of iets dergelijks. probeer dit eens.
(en evt iets dat ik geschreven heb )
  1. <table>
  2. <tr>
  3. <td>
  4. <!-- START BLOCK : faq_nav -->
  5. <table class="contentTabel" cellspacing="0">
  6. <tr>
  7. <td class="contentRijLeeg">{id}) <a href="{SITE_URL}faq/{id}">{titelpagina}</a></td>
  8. </tr>
  9. </table>
  10. <!-- START BLOCK : nieuwe_kolom -->
  11. </td>
  12. <td>
  13. <!-- END BLOCK : nieuwe_kolom -->
  14. <!-- END BLOCK : faq_nav -->
  15. </td>
  16. </tr>
  17. </table>
Offline haytjes - 09/08/2006 00:45 (laatste wijziging 09/08/2006 00:46)
Avatar van haytjes Gouden medailleGouden medaille

JS gevorderde
ik heb de php-code een keer doorgenomen en ik vind het eigenlijk wel boeiend, maar de logica ontsnapt mij een beetje:
  1. <?
  2. ...
  3. {
  4. if(floor($i/2) == $iFaqCount/2)
  5. {
  6. ...


Hier zeg je dus dat je moet kijken of de helft van waar je momenteel zit gelijk is aan de helft van het totaal.

dus: (bij jouw voorbeeld van 6 linkjes)
  1. $i=0, floor($i/2)=0, $iFaqCount=6, $iFaqCount/2=3, if()=false
  2. $i=1, floor($i/2)=0, $iFaqCount=6, $iFaqCount/2=3, if()=false
  3. $i=2, floor($i/2)=1, $iFaqCount=6, $iFaqCount/2=3, if()=false
  4. $i=3, floor($i/2)=1, $iFaqCount=6, $iFaqCount/2=3, if()=false
  5. $i=4, floor($i/2)=2, $iFaqCount=6, $iFaqCount/2=3, if()=false
  6. $i=5, floor($i/2)=2, $iFaqCount=6, $iFaqCount/2=3, if()=false


Dus ik vind het eigenlijk wel normaal dat je niet de gewenste output krijgt;-)

de juiste if is dan ook:
  1. <?
  2. ...
  3. {
  4. if($i == floor($iFaqCount/2))
  5. {
  6. ...


dan bekom je zoals gewenst:
dus: (bij jouw voorbeeld van 6 linkjes)
  1. $i=0, $iFaqCount=6, floor($iFaqCount/2)=3, if()=false
  2. $i=1, $iFaqCount=6, floor($iFaqCount/2)=3, if()=false
  3. $i=2, $iFaqCount=6, floor($iFaqCount/2)=3, if()=false
  4. $i=3, $iFaqCount=6, floor($iFaqCount/2)=3, if()=true
  5. $i=4, $iFaqCount=6, floor($iFaqCount/2)=3, if()=false
  6. $i=5, $iFaqCount=6, floor($iFaqCount/2)=3, if()=false
Offline RobbyTown - 09/08/2006 17:45 (laatste wijziging 09/08/2006 17:45)
Avatar van RobbyTown HTML interesse thnx ikkedikke & haytjes

Heb nog wat html aanpassingen moeten doen zo dat het wat netter oogt en floor in ceil verandert.
Dit moest namelijk, als je oneven had was de rechter rij langer en dat moest niet, door ceil is de linker langer.

Thnx voor alles!
Offline haytjes - 09/08/2006 18:01
Avatar van haytjes Gouden medailleGouden medaille

JS gevorderde
inderdaad, het klopt. Je moet ceil() gebruiken i.p.v. floor(). Ik had er niet echt bij stilgestaan.

Ik denk dat dit opgelost is, dus mag het ook gesloten worden. Heb je toch nog een vraag of opmerking hierover, laat me het weten. Dan open ik het weer.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.291s