Jocka Posted October 17, 2006 Share Posted October 17, 2006 I created this template system I use so I can set loops like {loop} info {/loop} and i can run 'info' as many times as I want.The problem I came up with recently was looping within loops. I created some functions for 'child_loops' but I'm not sure this is the best way to go.I was thinking maybe just using a series of arrays could do the trick but I tend to lose my mind quickly with arrays. What I was thinking I could do is save all the info like this: (array print)Array:0 => array (0 => "TEST", 1 => "info {CHILD} {info} {/CHILD}");1 => array ("TEST" => "CHILD", "info" => "new info");then run through the arrays. I think I'll need it to run the array backwards so I can find child loops first right? So it can find "TEST" in the array before it and replace "CHILD" loops with "info". .. .. hope I didn't confuse anyone. This is the best way I can think to do it but it's just driving me crazy.And then that will only hold the loops drawn from the original code and I'll have to change that so I'll have to create a temporary array to hold the new info and replace the original info in the first array.This is 2 much for me to comprehend (I have a headache). I'm trying real hard to figure out where to start lol. If anyone wants to toss me some code to run with then I'll be greatful. Link to comment https://forums.phpfreaks.com/topic/24249-best-way-to-loop-within-loops/ Share on other sites More sharing options...
alpine Posted October 17, 2006 Share Posted October 17, 2006 If it's the best way or not... who knows - but it's a suggestion.I point out that i don't know what your template looks like, but i guess you can understand my idea here:[code]<!-- template.html -->1: {info}2: {info}3: {info}4: {info}5: {info}<!-- end template.html --><?php$lines = file('template.html');$num = 0;$query = mysql_query("select * from info");while(row=mysql_fetch_array($query)){$lines[$num] = str_replace("{info}", $row["info"], $lines[$num]);$num++;}foreach($lines as $line => $value){ if(!stristr($value, '{info}')) { $html .= $value; }}echo $html;?>[/code] Link to comment https://forums.phpfreaks.com/topic/24249-best-way-to-loop-within-loops/#findComment-110283 Share on other sites More sharing options...
Jocka Posted October 17, 2006 Author Share Posted October 17, 2006 you do it by line? .. hmm.See the idea i'm thinking is like with forums, we have categories and forums. We'll we need to loop through the categories and then through the forums in the current category.I have found a way to do it without using any more arrays then I already had. I messed with it for a few hours after I posted this. Now it runs like a charm (so far).I'm sure there is a way to run the loops like I mentioned though. I'm not sure it's the best way now (now that I have this way working) but i'm still interested about how much slower or faster it will run through. Link to comment https://forums.phpfreaks.com/topic/24249-best-way-to-loop-within-loops/#findComment-110348 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.