now playing

PHP, HTML, Joomla, WordPress, etc..
Plaats reactie
Gebruikersavatar
NCR
***
Berichten: 56
Lid geworden op: 04 mei 2011, 11:39
SAM-versie: 2023.1
Database: MySQL
Windows: 10

now playing

Ongelezen bericht door NCR »

Ik kom er maar niet uit waarom onderstaande geen album_cover wil tonen. Welke code-wizzard ziet wat het probleem is?


[ code1 ]

Code: Selecteer alles

<script language="JavaScript">

	var http = getXMLHTTPRequest();
	var counter;

      function getXMLHTTPRequest() {
      try {
      req = new XMLHttpRequest();
      } catch(err1) {
        try {
        req = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (err2) {
          try {
          req = new ActiveXObject("Microsoft.XMLHTTP");
          } catch (err3) {
            req = false;
          }
        }
      }
      return req;
      }



      function getServerText() {
        var myurl = '/aj_TimeRemain.php'; // enter the full path to the aj_TimeRemain.php path
        myRand = parseInt(Math.random()*999999999999999);
        var modurl = myurl+"?rand="+myRand;
        http.open("GET", modurl, true);
        http.onreadystatechange = useHttpResponse;
        http.send(null);
      }

      function useHttpResponse() {
               if (http.readyState == 4) {
          if(http.status == 200) {
          	// parse data returned from aj_TimeRemain.php
          	var aj_results = http.responseText.split("|");

          	var aj_duration = aj_results[0];
          	var aj_secsremaining = aj_results[1];
          	var aj_title = aj_results[2];
          	var aj_artist = aj_results[3];
           
			
 
          	// update title and artist divs

          	document.getElementById('title').innerHTML =  aj_title;
          	document.getElementById('artist').innerHTML =  aj_artist;
            document.getElementById('picture').innerHTML = "<img src=/picture/" + aj_results[4] +" width='120' height='120'>"


            //set seconds remaining to the countdown car - adding '-0' to convert to number

            countDownInterval = aj_secsremaining - 0;
            countDownTime = countDownInterval + 1;
            countDown()
          }
        } else {
        //document. getElementById('actual').innerHTML = "";
        }
      }




    function countDown() {
      countDownTime--;
      if (countDownTime == 0) {
        countDownTime = countDownInterval;
        getServerText()
      }
      else if (countDownTime < 0)
        countDownTime = 30;
      if (document.all)
        document.all.countDownText.innerText = secsToMins(countDownTime);
      else if (document.getElementById)
        document.getElementById("countDownText").innerHTML = secsToMins(countDownTime);
      stopCountDown();
      counter = setTimeout("countDown()", 1000);
    }

    function secsToMins(theValue) {
      var theMin = Math.floor(theValue / 60);
      var theSec = (theValue % 60);
      if (theSec < 10)
        theSec = "0" + theSec;
      return(theMin + ":" + theSec);
    }

	function stopCountDown()
		{
		clearTimeout(counter)
		}





</script>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css">
<!--
body,td,th {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 12px;
	color: #999999;
}
-->
</style></head>



<body onLoad="getServerText()">
<div id="picture"></div>
<div id="title"></div>
<div id="artist"></div>
<div id="countDownText">loading</div>
</body>
</html>

///////////////////////////////////////////////////////////////////



[ code2 ]

Code: Selecteer alles


<?php
//Sam Broadcaster - AJAX Module - Send Artist/Title/Duration and Seconds remaining to getXMLHTTPRequest


	// Change to your database user name
	$username="xx"; 
	
	
	//Change to your database password
	$password="xx"; 
	
	
	// Change to your database name
	$database="xx"; 
	
	// Connect to the database	
	mysql_connect('xx',$username,$password);
	
	// Handle an error
	@mysql_select_db($database) or die( "Unable to select database");

		// Build Sql that returns the data needed - change this as required.	
		$sql = "SELECT songlist.*, historylist.listeners as listeners, historylist.requestID as requestID, historylist.date_played as starttime FROM historylist,songlist WHERE (historylist.songID = songlist.ID) AND (songlist.songtype='S' OR songlist.songtype='C' OR songlist.songtype='N') ORDER BY historylist.date_played DESC LIMIT 1";
		
		
		// Store results in result object
		$result = mysql_query($sql);
			
		
			
		
		 //store values in vars for calculation for array creation
		$curPlay = mysql_query("SELECT * FROM historylist ORDER BY date_played DESC LIMIT 1");
        $curPlayRow = mysql_fetch_assoc($curPlay);
          if (!$curPlay) { echo( mysql_error()); }
		$dt_duration = mysql_result($result,$i,'duration');
		$title= mysql_result($result,$i,'title');
		$artist= mysql_result($result,$i,'artist');
		$picture= mysql_result($result,$i,'picture');
 		$starttime = strtotime($dt_played);
		$curtime = time();
		$timeleft = $starttime+round($dt_duration/1000)-$curtime;
 		$secsRemain = (round($dt_duration / 1000)-($curtime-$starttime));
 		
 		//build array to return via getXMLHTTPRequest object - you can include more vars but remeber to handle them
 		//correcty in the useHttpResponse function 		
 		$Aj_array = $dt_duration . '|' . $secsRemain . '|' . $title . '|' . $artist .'|' . $picture;
 		
 		//we are using the text response object  - which i think is easier for small data return
 		//just echo the array                 - not so much AJAX rather AJA ??
 		echo $Aj_array

?>
drOhimself

Re: now playing

Ongelezen bericht door drOhimself »

Een ding valt mij alvast op : dat je de code niet -zoals het hoort- in de [ C O D E ] vakjes hebt gezet.
Omdat je dat nu (16:24) niet meer zelf kan doen, heb ik het voor je gedaan.
pvandepeut

Re: now playing

Ongelezen bericht door pvandepeut »

Is het plaatje het enige probleem? als ik dize code nader bekijk heb ik het idee dat hij niet compleet is. De php code haal heel veel informatie binnen dubbel binnen waarom de songtype uit de songlist halen ald deze ook gewoon in de historylist staat.
Ik zie in de php code staan: $starttime = strtotime($dt_played);
Ik kan alleen $dt_played nergens terug vinden.
Je mist data voor hem.

Probeem met je plaatje zijn er 2

1: javascript code zal error krijgen op je plaatje. :D
je mist het wel bekende afsluitertje ; einde van deze code:

Code: Selecteer alles

document.getElementById('picture').innerHTML = "<img src=/picture/" + aj_results[4] +" width='120' height='120'>"
2: Plaatje zal altijd onvindbaar zijn omdat de html src element bevat geen Quotes en geen einde van <img tag
Vervang:

Code: Selecteer alles

document.getElementById('picture').innerHTML = "<img src=/picture/" + aj_results[4] +" width='120' height='120'>"
Door:

Code: Selecteer alles

document.getElementById('picture').innerHTML = "<img src=\"./picture/" + aj_results[4] +"\" width=\"120\" height=\"120\" />";
Wellicht heb je nu resultaat [smilie=yahoo.gif]

Eigenlijk klopt de rest van je code dus ook niet helemaal. Wanneer je graag een betere code wild doe ff een PM naar me. Dan kan ik wel ff een stand alone module scrijven van http://www.shoutfm.nl (Now Playing mod). Dat is namelijk bijna dezelfde code als die jij gebruikt alleen bevind die zich in een groter project van me. Zijn dan ook 2 php bestandjes. 1 met de output 1 met de datacode.

Success ermee verder.
Plaats reactie
  • Vergelijkbare Onderwerpen
    Reacties
    Weergaves
    Laatste bericht