Jump to content

javascript in while loop


doddsey_65

Recommended Posts

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?

Link to comment
https://forums.phpfreaks.com/topic/218820-javascript-in-while-loop/
Share on other sites

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.

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.