PDA

View Full Version : While statement not working...


mADmAX`
05-11-2003, 05:01 PM
This is what I have inside index.php (of my hack)...


// ###################### Start #######################

$dwipnavlinkgroups = $DB_site->query("SELECT navlinkgroupid,title,displayorder FROM dwipnavlinkgroup ORDER BY displayorder");

while ($dwipnavlinkgroup=$DB_site->fetch_array($dwipnavlinkgroups)) {

eval("\$newmenunav .= \"".gettemplate("menu_navtable")."\";");

$dwipnavlinks = $DB_site->query("SELECT navlinkid,navlinkgroupid2,title,varname,value,disp layorder FROM dwipnavlink WHERE navlinkgroupid2=$dwipnavlinkgroup[navlinkgroupid] ORDER BY displayorder");

while ($dwipnavlink=$DB_site->fetch_array($dwipnavlinks)) {

eval("\$newmenuitem .= \"".gettemplate("menu_navitem")."\";");

}

}

eval("\$menu .= \"".gettemplate("menu_main")."\";");


// ###################### End #######################


This is inside menu_main

$newmenunav

This is inside menu_navtable


$dwipnavlinkgroup[title]
$dwipnavlinkgroup[navlinkgroupid]
<br>
$newmenuitem


This is inside menu_navitem


$dwipnavlink[title]
$dwipnavlink[navlinkgroupid2]
<br>

This is what displays when I call index.php

Navigation 1 <---navgroup
Gallery 7 <---navgroup
Home 1
Forums 1
News 1
Biography 1
Contact Info 1
WebSite Help 1
Links 8 <---navgroup
Home 1
Forums 1
News 1
Biography 1
Contact Info 1
WebSite Help 1
Animals 7
Birds 7


I have marked which are navgroup for you to see, but you can see that its not in order like I want called... It should look like this when called right...

Navigation 1 <---navgroup
Home 1
Forums 1
News 1
Biography 1
Contact Info 1
WebSite Help 1
Gallery 7 <---navgroup
Animals 7
Birds 7
Links 8 <---navgroup

filburt1
05-11-2003, 05:13 PM
I don't see the problem immediately but never, ever query in a loop.

mADmAX`
05-11-2003, 05:20 PM
How would you do this query then as its in the loop that way the navlinks pull under there correct navgroup (which obviously is not working).

mADmAX`
05-12-2003, 01:35 AM
I changed a bit but its not quite working right...


// ###################### Start #######################

$dwipnavlinkgroups = $DB_site->query("SELECT navlinkgroupid,title,displayorder FROM dwipnavlinkgroup ORDER BY navlinkgroupid");

while ($dwipnavlinkgroup=$DB_site->fetch_array($dwipnavlinkgroups)) {

$linkid = $dwipnavlinkgroup["navlinkgroupid"];

eval("\$newmenunav .= \"".gettemplate("menu_navtable")."\";");

$dwipnavlinks = $DB_site->query("SELECT navlinkid,navlinkgroupid,title,varname,value,displ ayorder FROM dwipnavlink WHERE navlinkgroupid=\"$linkid\" ORDER BY navlinkgroupid");

while ($dwipnavlink=$DB_site->fetch_array($dwipnavlinks)) {

eval("\$newmenuitem .= \"".gettemplate("menu_navitem")."\";");
}

}

eval("\$menu .= \"".gettemplate("menu_main")."\";");


// ###################### End #######################


Displays this...

Navigation 1 <----navgroup
Gallery 2 <----navgroup
Links 3 <----navgroup
Home 1
Forums 1
Biography 1
Contact Info 1
News 1
WebSite Help 1
Animals 2
Birds 2
Test Link 1 3
Test Link 2 3
Test Link 3 3

How come the nav items are not going into there correct nav group? I know it has to be something small but cant figure it out.

PS. The numbers at the end are the navgroupid which they belong to.

Velocd
05-12-2003, 02:17 AM
Funny this problem for you was brought up, as I recently found a solution for it myself.

Take a look at the following thread, and the code given inside. Basically this function, modified some, should do as you need.

https://vborg.vbsupport.ru/showthread.php?s=&threadid=52836