<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Star Rating | Jörg Drzycimski</title>
	<atom:link href="https://drzycimski.com/tag/star-rating/feed/" rel="self" type="application/rss+xml" />
	<link>https://drzycimski.com/tag/star-rating/</link>
	<description></description>
	<lastBuildDate>Sun, 01 Oct 2017 16:54:57 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>
	<item>
		<title>No-MVC Zend Framework: jQuery Ajax receiver / Part V</title>
		<link>https://drzycimski.com/programmierung/no-mvc-zend-framework-jquery-ajax-receiver-part-v/</link>
					<comments>https://drzycimski.com/programmierung/no-mvc-zend-framework-jquery-ajax-receiver-part-v/#respond</comments>
		
		<dc:creator><![CDATA[Jörg]]></dc:creator>
		<pubDate>Tue, 11 May 2010 16:34:31 +0000</pubDate>
				<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Star Rating]]></category>
		<category><![CDATA[Zend Framework]]></category>
		<guid isPermaLink="false">http://blog.drzycimski.com/?p=64</guid>

					<description><![CDATA[<p>The jQuery JavaScript is up and running, but needs a PHP file to handle the Ajax data submitted by the rating script. This will be done with PHP in the receiver you defined in your JavaScript, named &#8222;rating.php&#8220; in the &#8222;public/includes&#8220; folder. It&#8217;s important to put this PHP file in your public folder, because if [&#8230;]</p>
<p>The post <a href="https://drzycimski.com/programmierung/no-mvc-zend-framework-jquery-ajax-receiver-part-v/">No-MVC Zend Framework: jQuery Ajax receiver / Part V</a> appeared first on <a href="https://drzycimski.com">Jörg Drzycimski</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>The jQuery JavaScript is up and running, but needs a PHP file to handle the Ajax data submitted by the rating script. This will be done with PHP in the receiver you defined in your JavaScript, named &#8222;rating.php&#8220; in the &#8222;public/includes&#8220; folder. It&#8217;s important to put this PHP file in your public folder, because if you pointed your webserver to &#8222;public&#8220;, anything outside (subfolders of  your document root) can&#8217;t be accessed by JavaScript.</p>
<p>Create the &#8222;rating.php&#8220;, and add the following lines:</p>
<pre class="brush:php">&lt;?php
require_once('bootstrap.php'); // Setup Zend Framework Environment
header("Cache-Control: no-cache");
$rating = new Mylib_Rating_Controller();
$score = $rating-&gt;setRatingById($_GET['id'], $_GET['val']); // rate object and get scores
echo Zend_Json::encode($score); // send response array in JSON format
?&gt;
</pre>
<p>The <code>setRatingById</code> passes the values from your JavaScript to the (soon to be created) controller, and receives the updated values from your (soon to be created) database. When I started out using jQuery in combination with Ajax, I was kind of afraid to find it difficult&#8230; but it really<em> is </em>that easy 😉</p>
<p>Next up: The rating controller</p>
<p>The post <a href="https://drzycimski.com/programmierung/no-mvc-zend-framework-jquery-ajax-receiver-part-v/">No-MVC Zend Framework: jQuery Ajax receiver / Part V</a> appeared first on <a href="https://drzycimski.com">Jörg Drzycimski</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://drzycimski.com/programmierung/no-mvc-zend-framework-jquery-ajax-receiver-part-v/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>No-MVC Zend Framework: jQuery Star Rating code / Part IV</title>
		<link>https://drzycimski.com/programmierung/no-mvc-zend-framework-jquery-star-rating-code-part-iv/</link>
					<comments>https://drzycimski.com/programmierung/no-mvc-zend-framework-jquery-star-rating-code-part-iv/#comments</comments>
		
		<dc:creator><![CDATA[Jörg]]></dc:creator>
		<pubDate>Fri, 07 May 2010 16:35:58 +0000</pubDate>
				<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[Star Rating]]></category>
		<category><![CDATA[Zend Framework]]></category>
		<guid isPermaLink="false">http://blog.drzycimski.com/?p=48</guid>

					<description><![CDATA[<p>Now for the easy part: creating the page for our jQuery Star Rating plugin. It&#8217;s going to be just a bit of HTML, JavaScript with Ajax components, and PHP. If you want to integrate the Star Rating in an existing page, you can just copy the relevant parts into any HTML file. The JavaScript Before [&#8230;]</p>
<p>The post <a href="https://drzycimski.com/programmierung/no-mvc-zend-framework-jquery-star-rating-code-part-iv/">No-MVC Zend Framework: jQuery Star Rating code / Part IV</a> appeared first on <a href="https://drzycimski.com">Jörg Drzycimski</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Now for the easy part: creating the page for our jQuery Star Rating plugin. It&#8217;s going to be just a bit of HTML, JavaScript with Ajax components, and PHP. If you want to integrate the Star Rating in an existing page, you can just copy the relevant parts into any HTML file.</p>
<p><strong>The JavaScript</strong></p>
<p>Before continuing (or if this doesn&#8217;t work for you), you might want to familiarize yourself with the Star Rating plugin at <a href="http://zensoftware.org/archives/483" target="_blank" rel="noopener">http://zensoftware.org/archives/483</a>.</p>
<p>Add the following lines to the HEAD section of your &#8222;index.php&#8220;. This assumes that you already have one&#8230; if not, use you standard HTML template, and don&#8217;t forget to include your bootstrap 😉</p>
<pre class="brush:js">&lt;script type="text/javascript" src="/js/jquery/js/jquery-1.4.2.min.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="/js/rating/jquery.rating.js"&gt;&lt;/script&gt;
&lt;link type="text/css" href="/js/rating/jquery.rating.css" rel="stylesheet" media="screen" /&gt;

&lt;script type="text/javascript"&gt;
$(function(){

 $(".rating")
 .rating({"showCancel": false})
 .bind("change", function(){
   var id = $(this).attr("id");
   var rate = "id=" + id + "&amp;val=" + $(this).val();
   var loading = 'Loading';
   // Or use image instead, looks prettier ;-)
   // var loading = '&lt;img src="/images/loading.gif" /&gt;';
   $.ajax({
     type: "GET",
     url: "/includes/rating.php",
     dataType: "json",
     data: rate,
     timeout: 10000,
     beforeSend: function(){
       $("#rating_value_" + id).html(loading);
     },
     success: function(response){
       $("#rating_value_" + id).html(response.average + " points");
     },
     error: function(){
       $("#rating_value").html("Error!");
     }
    }); // end ajax
  }); // end rating / bind

}); // end $()
&lt;/script&gt;
</pre>
<p>I used &#8222;loading&#8220; as a variable (as opposed to the direct output of &#8222;Error!&#8220;). You can Google the standard Ajax loading image, and put the HTML image tag in that variable to pretty things up, instead of that boring message.</p>
<p>BTW, I always use a leading slash and the complete path in relation to the root directory (e.g. &#8222;/images&#8220;) before each image, JS and CSS file. This way, I don&#8217;t have to worry about broken links when I split header and content sections into different files, and move them to different directories&#8230; which I favorize, because header sections are the same throughout the website, whereas content sections might use different templates.</p>
<p><strong>The PHP / HTML code</strong></p>
<p>You can put this code anywhere within your BODY section of your &#8222;index.php&#8220;, even in existing pages&#8216; DIVs:</p>
<pre class="brush:php">&lt;?php
$id = 1;
$rating = new Mylib_Rating_Controller();
echo $rating-&gt;getRatingView($id);
?&gt;
</pre>
<p>Set the variable &#8222;$id&#8220; to any unique id you want to rate. On my website <a href="http://www.surfspot.de" target="_blank" rel="noopener">surfspot.de</a>, I use it to rate a page, so the id comes from my database, and represents the page id. If you have more than one rating on one page, say for a couple of images, instantiate the class once, and only use <code>echo $rating-&gt;getRatingView($id)</code> with a different id for each image.</p>
<p>Next up: The jQuery Ajax receiver</p>
<p>The post <a href="https://drzycimski.com/programmierung/no-mvc-zend-framework-jquery-star-rating-code-part-iv/">No-MVC Zend Framework: jQuery Star Rating code / Part IV</a> appeared first on <a href="https://drzycimski.com">Jörg Drzycimski</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://drzycimski.com/programmierung/no-mvc-zend-framework-jquery-star-rating-code-part-iv/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title>No-MVC Zend Framework: Installing ZF &#038; jQuery / Part II</title>
		<link>https://drzycimski.com/programmierung/zend-framework-without-mvc-part-ii/</link>
					<comments>https://drzycimski.com/programmierung/zend-framework-without-mvc-part-ii/#respond</comments>
		
		<dc:creator><![CDATA[Jörg]]></dc:creator>
		<pubDate>Sun, 02 May 2010 11:34:30 +0000</pubDate>
				<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[Dojo]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jQueryUI]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Star Rating]]></category>
		<category><![CDATA[Zend Framework]]></category>
		<guid isPermaLink="false">http://blog.drzycimski.com/?p=36</guid>

					<description><![CDATA[<p>My tutorial of utilizing Zend Framework without MVC will be a jQuery rating controller, with ZF used to query the database, spit out the view (the actual stars), and handle rating changes thru Ajax, updating the DB. Though I prefer not to use ZF as an application, I tried to program as close to the [&#8230;]</p>
<p>The post <a href="https://drzycimski.com/programmierung/zend-framework-without-mvc-part-ii/">No-MVC Zend Framework: Installing ZF &#038; jQuery / Part II</a> appeared first on <a href="https://drzycimski.com">Jörg Drzycimski</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>My tutorial of utilizing Zend Framework without MVC will be a jQuery rating controller, with ZF used to query the database, spit out the view (the actual stars), and handle rating changes thru Ajax, updating the DB. Though I prefer not to use ZF as an application, I tried to program as close to the MVC structure as possible. If you&#8217;re using ZF already, you will see that my way of utilizing it is close to a ZF plugin resource &#8211; with some minor changes, you&#8217;ll be able to adapt it into the framework in no time at all.</p>
<p><strong>Installing Zend Framework</strong></p>
<p>On your server, add some directories to accomodate ZF, jQuery, and your own PHP files. Assuming that you start from scratch, you need to point your webserver to the &#8222;public&#8220; directory, instead of  &#8222;document root&#8220;. This way, one can&#8217;t access your lib files, e.g. configs, by URL.</p>
<pre>&gt; document root
  &gt; library
    &gt; Mylib
    &gt; Zend
  &gt; public
     &gt; images
     &gt; includes
     &gt; js
       &gt; jquery</pre>
<p>Download the lastest ZF version at <a href="http://framework.zend.com/download/latest" target="_blank" rel="noopener">http://framework.zend.com/download/latest</a>, and unpack the files. Get the content of the &#8222;library/Zend&#8220; form your archive, and copy it into the &#8222;library/Zend&#8220; folder on your server. Next, get the latest of jQueryUI at <a href="http://jqueryui.com/download" target="_blank" rel="noopener">http://jqueryui.com/download</a>, and put the content in the &#8222;jquery&#8220; folder. jQueryUI is just a nice JavaScript framework (that word again&#8230;) with widgets and effects&#8230; you might need them later 😉</p>
<p>A short note: though ZF supports the <a href="http://www.dojotoolkit.org" target="_blank" rel="noopener">Dojo</a> JavaScript framework, I personally prefer jQuery. Dojo definetly has the cooler widgets, but the support sucks&#8230; no forum to speak of, and mailing list support slow if ever. If you run into problems with Dojo, you&#8217;re basically on your own&#8230; the exact opposite of jQuery, where you 1. get support within hours, and 2. rarely run into problems to begin with 😉 Just my 2 cents&#8230;</p>
<p>Anyway, the part missing for our little tutorial is the Star Rating plugin for jQuery. Get it at <a href="http://zensoftware.org/archives/483" target="_blank" rel="noopener">http://zensoftware.org/archives/483</a>, and put it in your &#8222;js&#8220; folder, into a &#8222;rating&#8220; subdirectory.</p>
<p>Next up: Bootstrapping ZF</p>
<p>The post <a href="https://drzycimski.com/programmierung/zend-framework-without-mvc-part-ii/">No-MVC Zend Framework: Installing ZF &#038; jQuery / Part II</a> appeared first on <a href="https://drzycimski.com">Jörg Drzycimski</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://drzycimski.com/programmierung/zend-framework-without-mvc-part-ii/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
