doddsey_65 Posted November 16, 2010 Share Posted November 16, 2010 I have a problem where i am including javascript in a while loop but the id for the link always stays the same. start while loop..... $thread_topic_id = $topic_info->thread_topic_id; <script type="text/javascript"> link[0] = '<a href="index.php?forum=<?php echo $forum_id; ?>&topic=<?php echo $thread_topic_id; ?>">View Topic</a>' </script> the $thread_topic_id variable is always the last record to be displayed. I have 5 records pulled. how would i get it to display the correct id? Quote Link to comment https://forums.phpfreaks.com/topic/218820-javascript-in-while-loop/ Share on other sites More sharing options...
kenrbnsn Posted November 16, 2010 Share Posted November 16, 2010 Can you post your actual code? Ken Quote Link to comment https://forums.phpfreaks.com/topic/218820-javascript-in-while-loop/#findComment-1134865 Share on other sites More sharing options...
doddsey_65 Posted November 16, 2010 Author Share Posted November 16, 2010 while ($topic_info = mysql_fetch_object($topic_info_query)) { $thread_topic_id = $topic_info->thread_topic_id; ?> <script type="text/javascript"> var defaultMenuWidth="150px" //set default menu width. var linkset=new Array() //SPECIFY MENU SETS AND THEIR LINKS. FOLLOW SYNTAX LAID OUT linkset[0]='<a href="index.php?forum=<?php echo $forum_id; ?>&topic=<?php echo $thread_topic_id; ?>">View Topic</a>' linkset[0]+='<a href="">View Newest Post</a>' linkset[0]+='<a href="">Subscribe</a>' ////No need to edit beyond here var ie5=document.all && !window.opera var ns6=document.getElementById if (ie5||ns6) document.write('<div id="popitmenu" onMouseover="clearhidemenu();" onMouseout="dynamichide(event)"></div>') function iecompattest(){ return (document.compatMode && document.compatMode.indexOf("CSS")!=-1)? document.documentElement : document.body } function showmenu(e, which, optWidth){ if (!document.all&&!document.getElementById) return clearhidemenu() menuobj=ie5? document.all.popitmenu : document.getElementById("popitmenu") menuobj.innerHTML=which menuobj.style.width=(typeof optWidth!="undefined")? optWidth : defaultMenuWidth menuobj.contentwidth=menuobj.offsetWidth menuobj.contentheight=menuobj.offsetHeight eventX=ie5? event.clientX : e.clientX eventY=ie5? event.clientY : e.clientY //Find out how close the mouse is to the corner of the window var rightedge=ie5? iecompattest().clientWidth-eventX : window.innerWidth-eventX var bottomedge=ie5? iecompattest().clientHeight-eventY : window.innerHeight-eventY //if the horizontal distance isn't enough to accomodate the width of the context menu if (rightedge<menuobj.contentwidth) //move the horizontal position of the menu to the left by it's width menuobj.style.left=ie5? iecompattest().scrollLeft+eventX-menuobj.contentwidth+"px" : window.pageXOffset+eventX-menuobj.contentwidth+"px" else //position the horizontal position of the menu where the mouse was clicked menuobj.style.left=ie5? iecompattest().scrollLeft+eventX+"px" : window.pageXOffset+eventX+"px" //same concept with the vertical position if (bottomedge<menuobj.contentheight) menuobj.style.top=ie5? iecompattest().scrollTop+eventY-menuobj.contentheight+"px" : window.pageYOffset+eventY-menuobj.contentheight+"px" else menuobj.style.top=ie5? iecompattest().scrollTop+event.clientY+"px" : window.pageYOffset+eventY+"px" menuobj.style.visibility="visible" return false } function contains_ns6(a, b) { //Determines if 1 element in contained in another- by Brainjar.com while (b.parentNode) if ((b = b.parentNode) == a) return true; return false; } function hidemenu(){ if (window.menuobj) menuobj.style.visibility="hidden" } function dynamichide(e){ if (ie5&&!menuobj.contains(e.toElement)) hidemenu() else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget)) hidemenu() } function delayhidemenu(){ delayhide=setTimeout("hidemenu()",100) } function clearhidemenu(){ if (window.delayhide) clearTimeout(delayhide) } if (ie5||ns6) document.onclick=hidemenu </script> <?php $topic_time_posted = date('F j, Y, g:i a', strtotime($topic_info->topic_time_posted)); $topic_url_name = $topic_info->topic_name; $topic_url_name = str_replace(' ', '_', $topic_url_name); echo "<div class=\"forum_row\">"; echo "<div class=\"icon\"><img src=\"images/default_icon.png\" alt=\"thread\" /></div>"; echo "<div class=\"icon2\"><img src=\"images/topic_icon.png\" alt=\"thread\" /></div>"; echo "<a href=\"index.php?forum={$forum_id}&topic={$topic_info->thread_topic_id}\" onMouseover=\"showmenu(event,linkset[0])\" onMouseout=\"delayhidemenu()\">"; that is the code for starting the while loop and is shown up until the part where i use the javascript in the html. Quote Link to comment https://forums.phpfreaks.com/topic/218820-javascript-in-while-loop/#findComment-1134872 Share on other sites More sharing options...
trq Posted November 16, 2010 Share Posted November 16, 2010 You keep saving data to the same array index over and over. Quote Link to comment https://forums.phpfreaks.com/topic/218820-javascript-in-while-loop/#findComment-1134922 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.