shock Posted August 24, 2007 Share Posted August 24, 2007 Hey, I have a news ticket that displays the latest 5 news posts. It worked until the user put a ' in the title and it stop displaying. so I added echo addslashes(); I'm using this script from Dynamic Drive http://www.dynamicdrive.com/dynamicindex2/crosstick.htm. With the following PHP code to get the infomation from the MySQL Database. <?php mysql_select_db ("databasename"); $sql="SELECT * FROM latest ORDER BY time DESC LIMIT 5"; $result = mysql_query($sql); $count = 0; while($row = mysql_fetch_array($result)) { echo addslashes("pausecontent2[" . $count . "]='<a href=../newsfull.php?oid=" . $row[id] . " target=_parent>" . $row[title] . "</a>'\r\n"); $count ++; } ?> It's coming up with the error 'pausecontent2' is undefined. Any ideas? Thanks in advanced. Quote Link to comment https://forums.phpfreaks.com/topic/66483-solved-news-ticker/ Share on other sites More sharing options...
xyn Posted August 24, 2007 Share Posted August 24, 2007 basically you wasnt to display the latest 5 items? Quote Link to comment https://forums.phpfreaks.com/topic/66483-solved-news-ticker/#findComment-332867 Share on other sites More sharing options...
shock Posted August 24, 2007 Author Share Posted August 24, 2007 Yea, I want it 2 display the 5 latest news posts. But only the title of the post and the title needs to link to the full article Quote Link to comment https://forums.phpfreaks.com/topic/66483-solved-news-ticker/#findComment-332870 Share on other sites More sharing options...
xyn Posted August 24, 2007 Share Posted August 24, 2007 ok, this will work: <?php # your mysql conenction etc. # $sql="SELECT * FROM `latest` ORDER BY `time` DESC LIMIT 5"; $result = mysql_query($sql); while($row = mysql_fetch_array($result)) { echo("<a href=\"url.com/page.php?id=" . $row['id'] . "\">" . $row['title'] . "<br />"); } ?> Quote Link to comment https://forums.phpfreaks.com/topic/66483-solved-news-ticker/#findComment-332872 Share on other sites More sharing options...
shock Posted August 24, 2007 Author Share Posted August 24, 2007 I need it to work with the script from Dynamic Drive take a look. http://www.dynamicdrive.com/dynamicindex2/crosstick.htm I have got it to get the infomation out of the database and put it into the code but It's not displaying. It's saying "there is an error with 'pausecontent2' it's undefined" and not sure why. Quote Link to comment https://forums.phpfreaks.com/topic/66483-solved-news-ticker/#findComment-332875 Share on other sites More sharing options...
xyn Posted August 24, 2007 Share Posted August 24, 2007 because pausecontent2 is NULL / Not set either becuase it is: 1. non-existing 2. you haven't set it Quote Link to comment https://forums.phpfreaks.com/topic/66483-solved-news-ticker/#findComment-332879 Share on other sites More sharing options...
shock Posted August 24, 2007 Author Share Posted August 24, 2007 Here is the full script. <?php require_once('Connections/dblift.php'); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>Untitled Document</title> <style type="text/css"> /*Example CSS for the two demo scrollers*/ body { margin: 0px; } #pscroller2{ width: 630px; height: 20px; padding: 5px; } #pscroller2 a{ text-decoration: none; } .someclass{ //class to apply to your scroller(s) if desired } .news_text { font-family: Arial, Helvetica, sans-serif; font-size: 11px; color: #E0362F; text-decoration: none; font-weight: bold; } .news_text a { font-family: Arial, Helvetica, sans-serif; font-size: 11px; color: #E0362F; text-decoration: none; font-weight: bold; } </style> <script> /*Example message arrays for the two demo scrollers*/ var pausecontent=new Array() pausecontent[0]='<a href="http://www.javascriptkit.com">JavaScript Kit</a><br />Comprehensive JavaScript tutorials and over 400+ free scripts!' pausecontent[1]='<a href="http://www.codingforums.com">Coding Forums</a><br />Web coding and development forums.' pausecontent[2]='<a href="http://www.cssdrive.com" target="_new">CSS Drive</a><br />Categorized CSS gallery and examples.' var pausecontent2=new Array(); <?php mysql_select_db ("databasename"); $sql="SELECT * FROM latest ORDER BY time DESC LIMIT 5"; $result = mysql_query($sql); $count = 0; while($row = mysql_fetch_array($result)) { echo addslashes("pausecontent2[" . $count . "]='<a href=../newsfull.php?oid=" . $row[id] . " target=_parent>" . $row[title] . "</a>'\r\n"); $count ++; } ?> </script> <script> /*********************************************** * Pausing up-down scroller- © Dynamic Drive (www.dynamicdrive.com) * This notice MUST stay intact for legal use * Visit http://www.dynamicdrive.com/ for this script and 100s more. ***********************************************/ function pausescroller(content, divId, divClass, delay){ this.content=content //message array content this.tickerid=divId //ID of ticker div to display information this.delay=delay //Delay between msg change, in miliseconds. this.mouseoverBol=0 //Boolean to indicate whether mouse is currently over scroller (and pause it if it is) this.hiddendivpointer=1 //index of message array for hidden div document.write('<div id="'+divId+'" class="'+divClass+'" style="position: relative; overflow: hidden"><div class="innerDiv" style="position: absolute; width: 100%" id="'+divId+'1">'+content[0]+'</div><div class="innerDiv" style="position: absolute; width: 100%; visibility: hidden" id="'+divId+'2">'+content[1]+'</div></div>') var scrollerinstance=this if (window.addEventListener) //run onload in DOM2 browsers window.addEventListener("load", function(){scrollerinstance.initialize()}, false) else if (window.attachEvent) //run onload in IE5.5+ window.attachEvent("onload", function(){scrollerinstance.initialize()}) else if (document.getElementById) //if legacy DOM browsers, just start scroller after 0.5 sec setTimeout(function(){scrollerinstance.initialize()}, 500) } // ------------------------------------------------------------------- // initialize()- Initialize scroller method. // -Get div objects, set initial positions, start up down animation // ------------------------------------------------------------------- pausescroller.prototype.initialize=function(){ this.tickerdiv=document.getElementById(this.tickerid) this.visiblediv=document.getElementById(this.tickerid+"1") this.hiddendiv=document.getElementById(this.tickerid+"2") this.visibledivtop=parseInt(pausescroller.getCSSpadding(this.tickerdiv)) //set width of inner DIVs to outer DIV's width minus padding (padding assumed to be top padding x 2) this.visiblediv.style.width=this.hiddendiv.style.width=this.tickerdiv.offsetWidth-(this.visibledivtop*2)+"px" this.getinline(this.visiblediv, this.hiddendiv) this.hiddendiv.style.visibility="visible" var scrollerinstance=this document.getElementById(this.tickerid).onmouseover=function(){scrollerinstance.mouseoverBol=1} document.getElementById(this.tickerid).onmouseout=function(){scrollerinstance.mouseoverBol=0} if (window.attachEvent) //Clean up loose references in IE window.attachEvent("onunload", function(){scrollerinstance.tickerdiv.onmouseover=scrollerinstance.tickerdiv.onmouseout=null}) setTimeout(function(){scrollerinstance.animateup()}, this.delay) } // ------------------------------------------------------------------- // animateup()- Move the two inner divs of the scroller up and in sync // ------------------------------------------------------------------- pausescroller.prototype.animateup=function(){ var scrollerinstance=this if (parseInt(this.hiddendiv.style.top)>(this.visibledivtop+5)){ this.visiblediv.style.top=parseInt(this.visiblediv.style.top)-5+"px" this.hiddendiv.style.top=parseInt(this.hiddendiv.style.top)-5+"px" setTimeout(function(){scrollerinstance.animateup()}, 50) } else{ this.getinline(this.hiddendiv, this.visiblediv) this.swapdivs() setTimeout(function(){scrollerinstance.setmessage()}, this.delay) } } // ------------------------------------------------------------------- // swapdivs()- Swap between which is the visible and which is the hidden div // ------------------------------------------------------------------- pausescroller.prototype.swapdivs=function(){ var tempcontainer=this.visiblediv this.visiblediv=this.hiddendiv this.hiddendiv=tempcontainer } pausescroller.prototype.getinline=function(div1, div2){ div1.style.top=this.visibledivtop+"px" div2.style.top=Math.max(div1.parentNode.offsetHeight, div1.offsetHeight)+"px" } // ------------------------------------------------------------------- // setmessage()- Populate the hidden div with the next message before it's visible // ------------------------------------------------------------------- pausescroller.prototype.setmessage=function(){ var scrollerinstance=this if (this.mouseoverBol==1) //if mouse is currently over scoller, do nothing (pause it) setTimeout(function(){scrollerinstance.setmessage()}, 100) else{ var i=this.hiddendivpointer var ceiling=this.content.length this.hiddendivpointer=(i+1>ceiling-1)? 0 : i+1 this.hiddendiv.innerHTML=this.content[this.hiddendivpointer] this.animateup() } } pausescroller.getCSSpadding=function(tickerobj){ //get CSS padding value, if any if (tickerobj.currentStyle) return tickerobj.currentStyle["paddingTop"] else if (window.getComputedStyle) //if DOM2 return window.getComputedStyle(tickerobj, "").getPropertyValue("padding-top") else return 0 } </script> </head> <body> <script type="text/javascript"> //new pausescroller(name_of_message_array, CSS_ID, CSS_classname, pause_in_miliseconds) new pausescroller(pausecontent2, "pscroller2", "someclass", 2000) </script> </body> </html> Quote Link to comment https://forums.phpfreaks.com/topic/66483-solved-news-ticker/#findComment-332885 Share on other sites More sharing options...
xyn Posted August 24, 2007 Share Posted August 24, 2007 oh ok, then try this. while($row = mysql_fetch_array($result)) { for(i=0; $i<5; $i++) { echo("pausecontent2[".$i."]='<a href=\"../newsfull.php?oid=".$row['id']."\" target=\"_parent\">".$row['title']."</a>'\r\n"); } } Quote Link to comment https://forums.phpfreaks.com/topic/66483-solved-news-ticker/#findComment-332887 Share on other sites More sharing options...
shock Posted August 24, 2007 Author Share Posted August 24, 2007 Parse error: parse error, unexpected '=', expecting ';' in newstest3.php on line 54 Quote Link to comment https://forums.phpfreaks.com/topic/66483-solved-news-ticker/#findComment-332889 Share on other sites More sharing options...
xyn Posted August 24, 2007 Share Posted August 24, 2007 whats line 54? Quote Link to comment https://forums.phpfreaks.com/topic/66483-solved-news-ticker/#findComment-332891 Share on other sites More sharing options...
shock Posted August 24, 2007 Author Share Posted August 24, 2007 for(i=0; $i<5; $i++) Quote Link to comment https://forums.phpfreaks.com/topic/66483-solved-news-ticker/#findComment-332892 Share on other sites More sharing options...
shock Posted August 24, 2007 Author Share Posted August 24, 2007 any ideas? ??? Quote Link to comment https://forums.phpfreaks.com/topic/66483-solved-news-ticker/#findComment-332976 Share on other sites More sharing options...
xyn Posted August 24, 2007 Share Posted August 24, 2007 yer.. replace for(i=0; $i<5; $i++) with for($i=0; $i<5; $i++) Quote Link to comment https://forums.phpfreaks.com/topic/66483-solved-news-ticker/#findComment-332981 Share on other sites More sharing options...
shock Posted August 24, 2007 Author Share Posted August 24, 2007 for some reason it is now displaying in the code the same news post 5 times which is should not. pausecontent2[0]='<a href="../newsfull.php?oid=46" target="_parent">A brief note of thanks... </a>' pausecontent2[1]='<a href="../newsfull.php?oid=46" target="_parent">A brief note of thanks... </a>' pausecontent2[2]='<a href="../newsfull.php?oid=46" target="_parent">A brief note of thanks... </a>' pausecontent2[3]='<a href="../newsfull.php?oid=46" target="_parent">A brief note of thanks... </a>' pausecontent2[4]='<a href="../newsfull.php?oid=46" target="_parent">A brief note of thanks... </a>' pausecontent2[0]='<a href="../newsfull.php?oid=45" target="_parent">West Bromwich Albion Women's Football Club - Fone Aid </a>' pausecontent2[1]='<a href="../newsfull.php?oid=45" target="_parent">West Bromwich Albion Women's Football Club - Fone Aid </a>' pausecontent2[2]='<a href="../newsfull.php?oid=45" target="_parent">West Bromwich Albion Women's Football Club - Fone Aid </a>' pausecontent2[3]='<a href="../newsfull.php?oid=45" target="_parent">West Bromwich Albion Women's Football Club - Fone Aid </a>' pausecontent2[4]='<a href="../newsfull.php?oid=45" target="_parent">West Bromwich Albion Women's Football Club - Fone Aid </a>' Quote Link to comment https://forums.phpfreaks.com/topic/66483-solved-news-ticker/#findComment-332989 Share on other sites More sharing options...
xyn Posted August 24, 2007 Share Posted August 24, 2007 while($row = mysql_fetch_array($result)) { $i=0 echo("pausecontent2[".$i."]='<a href=\"../newsfull.php?oid=".$row['id']."\" target=\"_parent\">".$row['title']."</a>'\r\n"); $i++ } Quote Link to comment https://forums.phpfreaks.com/topic/66483-solved-news-ticker/#findComment-332992 Share on other sites More sharing options...
shock Posted August 24, 2007 Author Share Posted August 24, 2007 Parse error: parse error, unexpected T_ECHO in newstest3.php on line 55 Line 55: echo("pausecontent2[".$i."]='<a href=\"../newsfull.php?oid=".$row['id']."\" target=\"_parent\">".$row['title']."[/url]'\r\n"); Quote Link to comment https://forums.phpfreaks.com/topic/66483-solved-news-ticker/#findComment-333002 Share on other sites More sharing options...
shock Posted September 26, 2007 Author Share Posted September 26, 2007 Just to let you know I have fixed this issue, it was pretty simple once I worked out what the problem was. $count = 0; while($row = mysql_fetch_array($result)) { echo "pausecontent2[" . $count . "]='<a href=newsfull.php?oid=" . $row[id] . ">"; echo addslashes("" . $row[title] . ""); echo "</a>'\r\n"; $count ++; } Quote Link to comment https://forums.phpfreaks.com/topic/66483-solved-news-ticker/#findComment-355549 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.