<?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>Fairuz Sulaiman &#187; CakePHP</title>
	<atom:link href="http://fairuzsulaiman.com/category/cakephp/feed/" rel="self" type="application/rss+xml" />
	<link>http://fairuzsulaiman.com</link>
	<description>Tips Bijak Wang , Publications Services , Internet Marketing, Ecommerce,</description>
	<lastBuildDate>Sat, 04 Feb 2012 16:19:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Tutorial CakePHP 1.3 &#124; Menghasilkan keputusan dalam bentuk XML daripada jadual pangkalan data</title>
		<link>http://fairuzsulaiman.com/2011/10/tutorial-cakephp-1-3-menghasilkan-keputusan-dalam-bentuk-xml-daripada-jadual-pangkalan-data/</link>
		<comments>http://fairuzsulaiman.com/2011/10/tutorial-cakephp-1-3-menghasilkan-keputusan-dalam-bentuk-xml-daripada-jadual-pangkalan-data/#comments</comments>
		<pubDate>Thu, 20 Oct 2011 05:15:11 +0000</pubDate>
		<dc:creator>fairuz</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Ilmu Komputer]]></category>
		<category><![CDATA[PHP MySQL]]></category>
		<category><![CDATA[Aktiviti]]></category>
		<category><![CDATA[Array To XML]]></category>
		<category><![CDATA[XML to Array]]></category>

		<guid isPermaLink="false">http://fairuzsulaiman.com/?p=368</guid>
		<description><![CDATA[Assalamualaikum&#8230; Kali ini saya ingin kongsikan sedikit tutorial mudah untuk menghasilkan keputusan di dalam bentuk XML daripada jadual pangkalan data. Ia merupakan alternatif yang selain daripada menggunakan helpers XML yang terbina di dalam cakePHP. Dan hasilnya adalah seperti dibawah. &#160; Bismillahirrahmanirrahim { Untuk pembaca Muslim sahaja , bagi pembaca no-Muslim bacalah doa supaya dipermudahkan pemahaman [...]]]></description>
			<content:encoded><![CDATA[<p>Assalamualaikum&#8230;</p>
<p>Kali ini saya ingin kongsikan sedikit tutorial mudah untuk menghasilkan keputusan di dalam bentuk XML daripada jadual pangkalan data. Ia merupakan alternatif yang selain daripada menggunakan helpers XML yang terbina di dalam cakePHP. Dan hasilnya adalah seperti dibawah.</p>
<div id="attachment_371" class="wp-caption alignnone" style="width: 531px"><a href="http://fairuzsulaiman.com/wp-content/uploads/2011/10/hasilxml.png"><img class="size-medium wp-image-371" title="Array To XML using cakePHP" src="http://fairuzsulaiman.com/wp-content/uploads/2011/10/hasilxml-300x231.png" alt="" width="521" height="235" /></a><p class="wp-caption-text">Klik Untuk Lihat Lebih Jelas</p></div>
<p>&nbsp;</p>
<p>Bismillahirrahmanirrahim { Untuk pembaca Muslim sahaja , bagi pembaca no-Muslim bacalah doa supaya dipermudahkan pemahaman }.</p>
<p>Langkah Pertama : Sila muat turun fail <strong>array2xml.php</strong> atau cipta satu fail bernama <strong>array2xml.php</strong> menggunakan notepad yang kepilkan di dalam post ini ke dalam folder vendors.</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
/****
* @PHPVER4.0
*
* @author	emnu
* @ver	--
* @date	12/08/08
*
* use this class to convert from mutidimensional array to xml.
* see example.php file on howto use this class
*
*/

class arr2xml
{
	var $array = array();
	var $xml = '';

	function arr2xml($array)
	{
		$this-&gt;array = $array;

		if(is_array($array) &amp;&amp; count($array) &gt; 0)
		{
			$this-&gt;struct_xml($array);
		}
		else
		{
			$this-&gt;xml .= &quot;no data&quot;;
		}
	}

	function struct_xml($array)
	{
		foreach($array as $k=&gt;$v)
		{
			if(is_array($v))
			{
				$tag = ereg_replace('^[0-9]{1,}','data',$k); // replace numeric key in array to 'data'
				$this-&gt;xml .= &quot;&lt;&quot;.htmlentities($tag).&quot;&gt;&quot;;
				$this-&gt;struct_xml($v);
				$this-&gt;xml .= &quot;&lt;/&quot;.htmlentities($tag).&quot;&gt;&quot;;
			}
			else
			{
				$tag = ereg_replace('^[0-9]{1,}','data',$k); // replace numeric key in array to 'data'
				$this-&gt;xml .= &quot;&lt;&quot;.htmlentities($tag).&quot;&gt;&quot;.htmlentities($v).&quot;&lt;/&quot;.htmlentities($tag).&quot;&gt;&quot;;
			}
		}
	}

	function get_xml()
	{
		$header = &quot;&lt;?xml version=\&quot;1.0\&quot; encoding=\&quot;iso-8859-1\&quot;?&gt;&lt;root&gt;&quot;;
		$footer = &quot;&lt;/root&gt;&quot;;

		echo $header;
		echo $this-&gt;xml;
		echo $footer;
	}
}
?&gt;
</pre>
<p>Langkah Kedua : Buka folder controller dan buka fail controller yang anda ini menjanakan data dalam bentuk XML. Di dalam tutorial ini saya menggunakan jadual bernama cubaans. Oleh itu, nama controller yang diperlukan ialah <strong>cubaans_controller.php</strong></p>
<p>Langkah Ketiga : Di dalam fail cubaans_controller.php sila tambah code di bawah sebelum class CubaansController extends AppController {. Fungsi App:import() adalah untuk memanggil fungsi terbina di dalam file array2xml.php yang di masukkan di dalam Langkah 1. Untuk rujukan boleh klik url  ini <a href="http://book.cakephp.org/view/943/Loading-Vendor-Files">http://book.cakephp.org/view/943/Loading-Vendor-Files</a></p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
       // fail cubaans_controller.php
       App::import('Vendor','Array2xml', array('file' =&gt; 'array2xml.php'));
       class CubaansController extends AppController {
?&gt;
</pre>
<p>Langkah 4: Cipta function @ fungsi baru bagi menjana keputusan dalam jadual cubaans. Sila rujuk kod di bawah untuk di copy-paste dalam fail <strong>cubaans_controller.php </strong>. Untuk maklumat pembaca, bahagian find itu boleh diubahsuai berdasarkan keperluan pembaca. Untuk maklumat terperinci boleh rujuk pada url ini <a href="http://book.cakephp.org/view/1018/find">http://book.cakephp.org/view/1018/find</a></p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
// file cubaans_controller.php
	function view_xml()
	{
		   $this-&gt;layout=null;
		   $allCubaans = $this-&gt;Cubaan-&gt;find('all');
		   $xmlCubaans = new arr2xml($allCubaan);
		   $this-&gt;set('xmlCubaans', $xmlCubaans);
	}
?&gt;
</pre>
<p>Langkah 5: Buka folder views dan folder cubaans kemudian cipta satu fail baru bernama view_xml.ctp { pastikan nama fail sama dengan nama fungsi baru yang dibuat pada Langkah 4). Kemudian tampalkan code di bawah pada fail tersebut kemudian simpan.</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
        // view_xml.ctp
	header (&quot;content-type: text/xml&quot;);
	echo $xmlSeminars-&gt;get_xml();
?&gt;
</pre>
<p>Langkah 6: Dengan menggunakan web browser taip : http://localhost/namasystem/cubaans/view_xml dan anda akan lihat keputusannya. seperti rajah di atas.</p>
<p>Untuk memuat turun sila komen ye. Insyallah saya akan emelkan kepada anda kembali. Fail SQL, controller dan view bagi tutorial ini.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://fairuzsulaiman.com/2011/10/tutorial-cakephp-1-3-menghasilkan-keputusan-dalam-bentuk-xml-daripada-jadual-pangkalan-data/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tutorial  CakePHP1.3 &#8211; Ubah hala pages sedia ada kepada halaman diingini.</title>
		<link>http://fairuzsulaiman.com/2011/06/ubah-hala-pages/</link>
		<comments>http://fairuzsulaiman.com/2011/06/ubah-hala-pages/#comments</comments>
		<pubDate>Wed, 08 Jun 2011 02:59:22 +0000</pubDate>
		<dc:creator>Fairuz Sulaiman</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Ilmu Komputer]]></category>
		<category><![CDATA[PHP MySQL]]></category>
		<category><![CDATA[Aktiviti]]></category>
		<category><![CDATA[Catatan Harian]]></category>
		<category><![CDATA[Catatan Peribadi]]></category>
		<category><![CDATA[Pengaturcaraan]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tips Komputer]]></category>

		<guid isPermaLink="false">http://fairuzsulaiman.com/?p=310</guid>
		<description><![CDATA[Assalamualaikum dan selamat pagi. Bagaimana dengan tutorial saya sebelum ini. Adakah sudah mencuba ? Harapnya tuan/puan mencuba. Kali ini saya ingin kongsikan ilmu bagaimana nak mengubahala default pages. Untuk pengetahuan anda. apabila anda menaip seperti http://localhost/namaaplikasi maka cakePHP akan memaparkan default pages seperti di bawah. Kita mahu ubah apabila menaip http://localhost/namaaplikasi maka ia akan memaparkan [...]]]></description>
			<content:encoded><![CDATA[<p>Assalamualaikum dan selamat pagi.</p>
<p>Bagaimana dengan tutorial saya sebelum ini. Adakah sudah mencuba ? Harapnya tuan/puan mencuba.</p>
<p>Kali ini saya ingin kongsikan ilmu bagaimana nak mengubahala default pages. Untuk pengetahuan anda.</p>
<ul>
<li> apabila anda menaip seperti http://localhost/namaaplikasi maka cakePHP akan memaparkan default pages seperti di bawah.</li>
<li>Kita mahu ubah apabila menaip http://localhost/namaaplikasi maka ia akan memaparkan kandungan controller users dan aksi (actions) sebagai senaraipengguna</li>
</ul>
<div id="attachment_311" class="wp-caption aligncenter" style="width: 440px"><a href="http://fairuzsulaiman.com/wp-content/uploads/2011/06/langkah1-routes.png"><img class="size-medium wp-image-311" title="langkah1-routes.cakephp1.3" src="http://fairuzsulaiman.com/wp-content/uploads/2011/06/langkah1-routes-300x174.png" alt="" width="430" height="215" /></a><p class="wp-caption-text">Klik untuk lihat lebih jelas</p></div>
<p style="text-align: center;">&nbsp;</p>
<p>Ini bermakna cakePHP akan mengubah hala kepada controller &#8216;pages&#8217;. Sebagai contoh untuk tutorial ini saya ubah hala daripada controller &#8216;pages&#8217; kepada controller &#8216;users&#8217; dengan tindakan (actions) senaraipengguna.</p>
<p>Ok. Kita mulakan. Bismillahrahmanirrahim {Bagi pembaca Muslim, Semoga dipermudahkan dan diberikan kemudahan memahami oleh Allah.}</p>
<p>Langkah 1:  Buka fail routes.php di dalam folder config/routes.php</p>
<p>Langkah 2 : Ubah hala seperti di bawah.</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
Router::connect('/', array('controller' =&gt; 'pages', 'action' =&gt; 'display', 'home'));
/**
 * ...and connect the rest of 'Pages' controller's urls.
 */
 Router::connect('/pages/*', array('controller' =&gt; 'pages', 'action' =&gt; 'display'));
?&gt;
</pre>
<p>Kepada</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
Router::connect('/', array('controller' =&gt; 'users', 'action' =&gt; 'senaraipengguna'));

/**
 * ...and connect the rest of 'Pages' controller's urls.
 */
 Router::connect('/pages/*', array('controller' =&gt; 'users', 'action' =&gt; 'senaraipengguna'));

?&gt;
</pre>
<p>* Penerangan: Cuba lihat kepada perkataan pages telah diubah kepada controllers users dan halaman display diubahhala kepada senaraipengguna.</p>
<p>Langkah 3 : Siap. Hasil adalah seperti di bawah.</p>
<div id="attachment_312" class="wp-caption aligncenter" style="width: 529px"><a href="http://fairuzsulaiman.com/wp-content/uploads/2011/06/langkah2-routes.png"><img class="size-medium wp-image-312" title="langkah2-routes-cakephp1.3" src="http://fairuzsulaiman.com/wp-content/uploads/2011/06/langkah2-routes-300x93.png" alt="" width="519" height="160" /></a><p class="wp-caption-text">Klik untuk lihat lebih jelas.</p></div>
<p>Selamat mencuba. Sekiranya ada sebarang masalah. Jangan malu2 bertanya. Jika ada idea yang baik. Kongsikan kepada kami.</p>
]]></content:encoded>
			<wfw:commentRss>http://fairuzsulaiman.com/2011/06/ubah-hala-pages/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Memasang Plugin DebugKit di dalam CakePHP 1.3</title>
		<link>http://fairuzsulaiman.com/2011/05/memasang-plugin-debugkit-di-dalam-cakephp-1-3/</link>
		<comments>http://fairuzsulaiman.com/2011/05/memasang-plugin-debugkit-di-dalam-cakephp-1-3/#comments</comments>
		<pubDate>Thu, 26 May 2011 07:41:36 +0000</pubDate>
		<dc:creator>Fairuz Sulaiman</dc:creator>
				<category><![CDATA[Benjana Ilmu]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Catatan Harian]]></category>
		<category><![CDATA[Aktiviti]]></category>
		<category><![CDATA[Catatan Peribadi]]></category>
		<category><![CDATA[fairuzsulaiman]]></category>
		<category><![CDATA[Pengaturcaraan]]></category>
		<category><![CDATA[PHP MySQL]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tips Komputer]]></category>

		<guid isPermaLink="false">http://fairuzsulaiman.com/?p=298</guid>
		<description><![CDATA[Assalamualaikum&#8230; Hari ini saya ingin membuat tutorial ringkas pemasangan debugkit di dalam cakePHP 1.3. Debug kit merupakan salah satu plugin yang sangat berguna bagi mengenal pasti cookie , nilai bawaan yang dihantar kepada fungsi dalam pembangunan aplikasi berasaskan talian dalam cakePHP. Selain daripada perkakasan tambahan (add ons ) yang terkenal di dalam Mozilla Firefox iatu [...]]]></description>
			<content:encoded><![CDATA[<p>Assalamualaikum&#8230;</p>
<p><a href="http://fairuzsulaiman.com/wp-content/uploads/2011/05/debugKit.png"><img class="aligncenter size-medium wp-image-302" title="debugKit" src="http://fairuzsulaiman.com/wp-content/uploads/2011/05/debugKit-300x180.png" alt="" width="300" height="180" /></a></p>
<p>Hari ini saya ingin membuat tutorial ringkas pemasangan debugkit di dalam cakePHP 1.3. Debug kit merupakan salah satu plugin yang sangat berguna bagi mengenal pasti cookie , nilai bawaan yang dihantar kepada fungsi dalam pembangunan aplikasi berasaskan talian dalam cakePHP. Selain daripada perkakasan tambahan  (add ons ) yang terkenal di dalam Mozilla Firefox iatu Firebug. Selain daripada itu fungsi debug_kit juga untuk mengenal pasti berapa kadar kecepatan memproses data yang terlibat. Sekiranya anda perasan di bahagian bawah. cakephp menyediakan SQL_dump untuk mengesankan kecepatan pemprosesan bagi data-data.</p>
<p><a href="http://fairuzsulaiman.com/wp-content/uploads/2011/05/sql_dump_cakephp1.png"><img class="aligncenter size-medium wp-image-299" title="SQL Dump cakephp 1.3" src="http://fairuzsulaiman.com/wp-content/uploads/2011/05/sql_dump_cakephp1-300x101.png" alt="" width="300" height="101" /></a><a href="http://fairuzsulaiman.com/wp-content/uploads/2011/05/github-debug-kit-download.png"><br />
</a></p>
<p>Ok kita mulakan sekarang. Bismillahirrahmanirrahim (Dengan nama Allah yang Maha Pemurah lagi Maha Penyayang).</p>
<p>Langkah 1: Muat turun plug in Debug kit daripada laman web github. Klik<a title="Github debug kit download" href="https://github.com/cakephp/debug_kit/"> SINI.</a> Pastikan anda memuat turun versi 1.3 (bagi cakephp 1.3). Rujuk pada rajah di bawah. Setelah selesai memuat turun, extract zip fail tersebut kemudian tempatkan di dalam folder app/plugin. Pastikan dinamakan folder itu sebagai debug_kit.</p>
<p><a href="http://fairuzsulaiman.com/wp-content/uploads/2011/05/github-debug-kit-download.png"><img class="aligncenter size-medium wp-image-300" title="github debug kit download" src="http://fairuzsulaiman.com/wp-content/uploads/2011/05/github-debug-kit-download-300x128.png" alt="" width="379" height="162" /></a></p>
<p>Langkah 2 : Tambahkan code di bawah di dalam fail app_controller.php  anda seperti di bawah.</p>
<p>&nbsp;</p>
<pre class="brush: php; title: ; notranslate">
&lt;!--?php&lt;br /--&gt;class AppController extends Controller {
	var $components = array(
           'DebugKit.Toolbar',	#mengaktifkan plugin debug_kit
	);

}
</pre>
<p>Langkah 3 : Ubahsuai antara muka utama (default layout ) bagi men&#8217;disable&#8217;kan paparan SQL Dump. Sila buka fail yang bernama default.ctp yang terletak di dalam folder  &#8216;app/views/layouts/&#8217;. Buka dengan menggunakan<a title="Laman web Notepad++" href="http://notepad-plus-plus.org/" target="_blank"> Notepad ++</a>. Kemudian komen seperti code di bawah.</p>
<p>&nbsp;</p>
<pre class="brush: php; title: ; notranslate">
&lt;!--?php /**  *  * PHP versions 4 and 5  *  * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)  * Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)  *  * Licensed under The MIT License  * Redistributions of files must retain the above copyright notice.  *  * @copyright     Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)  * @link          http://cakephp.org CakePHP(tm) Project  * @package       cake  * @subpackage    cake.cake.console.libs.templates.skel.views.layouts  * @since         CakePHP(tm) v 0.10.0.1076  * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)  */ ?--&gt;

	&lt;!--?php echo $this---&gt;Html-&gt;charset(); ?&gt;
	&lt;br /&gt;		&lt;?php __('Portal Maklumat Pelajar'); ?&gt;&lt;br /&gt;		&lt;?php echo $title_for_layout; ?&gt;&lt;br /&gt;
	&lt;!--?php 		echo $this---&gt;Html-&gt;meta('icon');

		echo $this-&gt;Html-&gt;css('cake.generic');

		echo $scripts_for_layout;
	?&gt;
&lt;div id=&quot;container&quot;&gt;
&lt;div id=&quot;header&quot;&gt;
&lt;h1&gt;&lt;!--?php echo $this---&gt;Html-&gt;link(__('Portal Maklumat Pelajar', true), 'http://localhost/rc'); ?&gt;&lt;/h1&gt;
&lt;/div&gt;
&lt;div id=&quot;content&quot;&gt;
			&lt;!--?php echo $this---&gt;Session-&gt;flash(); ?&gt;

			&lt;!--?php echo $content_for_layout; ?--&gt;&lt;/div&gt;
&lt;div id=&quot;footer&quot;&gt;
			&lt;!--?php echo $this---&gt;Html-&gt;link(
					$this-&gt;Html-&gt;image('cake.power.gif', array('alt'=&gt; __('CakePHP: the rapid development php framework', true), 'border' =&gt; '0')),
					'http://www.cakephp.org/',
					array('target' =&gt; '_blank', 'escape' =&gt; false)
				);
			?&gt;&lt;/div&gt;
&lt;/div&gt;
	&lt;!--?php                  # echo $this---&gt;element('sql_dump');  #Mennyahaktifkan paparan sql_dump dalam cakephp
         ?&gt;
</pre>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Selesai. Sekarang anda boleh buka aplikasi anda. Dapatkan hasilnya seperti gambarajah di bawah. Selamat mencuba. Sebarang komen digalakkan. Sekiranya anda ingin kongsikan . Saya benarkan. Jangan lupa kreditkan ke laman web ini.</p>
<p><a href="http://fairuzsulaiman.com/wp-content/uploads/2011/05/debugKit_selesai.png"><img class="aligncenter size-medium wp-image-301" title="debugKit_selesai" src="http://fairuzsulaiman.com/wp-content/uploads/2011/05/debugKit_selesai-300x180.png" alt="" width="438" height="245" /></a></p>
<p>Jazakumullah khairan jaza&#8217;.</p>
]]></content:encoded>
			<wfw:commentRss>http://fairuzsulaiman.com/2011/05/memasang-plugin-debugkit-di-dalam-cakephp-1-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CakePHP 1.3 Tutorial : Muat Naik -&gt; Crop Imej</title>
		<link>http://fairuzsulaiman.com/2011/05/cakephp-1-3-tutorial-muat-naik-crop-imej/</link>
		<comments>http://fairuzsulaiman.com/2011/05/cakephp-1-3-tutorial-muat-naik-crop-imej/#comments</comments>
		<pubDate>Wed, 25 May 2011 05:05:33 +0000</pubDate>
		<dc:creator>Fairuz Sulaiman</dc:creator>
				<category><![CDATA[Benjana Ilmu]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Catatan Harian]]></category>
		<category><![CDATA[Ilmu Komputer]]></category>
		<category><![CDATA[PHP MySQL]]></category>
		<category><![CDATA[Aktiviti]]></category>
		<category><![CDATA[Tips Komputer]]></category>

		<guid isPermaLink="false">http://fairuzsulaiman.com/?p=260</guid>
		<description><![CDATA[assalamualaikum Bismillahirrahmanirrahim. Syukur kepada Allah kerana dengan izin-Nya dapat saya menyiapkan modul seperti tajuk di atas. Selepas mencuba lebih kurang 5 hari&#8230; (satu tempoh yang panjang bagi pengaturcara kelas bawahan seperti saya menyiapkan projek). Alhamdulillah akhirnya usaha berjaya Sebenarnya idea ini datang daripada beberapa link dibawah iatu WebmotionUK -&#62; Klik untuk laman tersebut. Idea datang [...]]]></description>
			<content:encoded><![CDATA[<p>assalamualaikum</p>
<p>Bismillahirrahmanirrahim. Syukur kepada Allah kerana dengan izin-Nya dapat saya menyiapkan modul seperti tajuk di atas. Selepas mencuba lebih kurang 5 hari&#8230; (satu tempoh yang panjang bagi pengaturcara kelas bawahan seperti saya menyiapkan projek). Alhamdulillah akhirnya usaha berjaya</p>
<p><a href="http://fairuzsulaiman.com/wp-content/uploads/2011/05/facebook_photo_uploader.png"><img class="aligncenter size-medium wp-image-275" title="facebook_photo_uploader" src="http://fairuzsulaiman.com/wp-content/uploads/2011/05/facebook_photo_uploader-300x180.png" alt="" width="555" height="234" /></a></p>
<p>Sebenarnya idea ini datang daripada beberapa link dibawah iatu</p>
<ul>
<li>WebmotionUK -&gt; <a href="http://www.webmotionuk.co.uk/php-jquery-image-upload-and-crop/" target="_blank">Klik untuk laman tersebut</a>. Idea datang daripada sini Untuk <a title="Demo" href="http://www.webmotionuk.co.uk/jquery/image_upload_crop.php" target="_blank">Demo Klik di sini </a></li>
<li>Tutorial daripada Bakery everything cakephp  -&gt; <a title="Bakery ~ Everything CakePHP" href="http://bakery.cakephp.org/articles/klagoggle_myopenid_com/2010/08/25/jquery-image-upload-crop" target="_blank">Klik untuk laman tersebut</a>.</li>
</ul>
<p>Malangnya terlalu banyak masalah yang timbul . Ok mari kita mulakan tutorial ini.</p>
<p>Langkah 1: Perkara yang perlu anda ada</p>
<ol>
<li>CakePHP terkini . Untuk muat turun klik <a title="Web portal cakephp" href="http://cakephp.org/" target="_blank">SINI</a></li>
<li>Plugin javascript ImgselectArea. Muat turun di <a title="Image Area Select " href="http://odyniec.net/projects/imgareaselect/" target="_blank">SINI</a> kemudian extract (menggunakan winrar atau winzip atau 7zip) kemudian diletakkan ke folder webroot cakePHP</li>
<li>JQuery min.</li>
</ol>
<p>Langkah 2 : Kemudian di dalam folder &#8216;app/webroot&#8217; cipta folder baru bernama &#8216;files&#8217; dan dalam folder &#8216;files&#8217; ciptakan folder baru bernama &#8216;upload_pic&#8217;. Untuk pengetahuan, di sini fail gambar yang dimuat naik dan resize di simpan.</p>
<p>&nbsp;</p>
<p>Langkah 3 : Kemudian cipta fail component baru bernama &#8216;images.php&#8217; kemudia simpan di &#8216;app/controllers/components&#8217;. Sila &#8216; copy dan paste&#8217; kod di bawah.</p>
<p>&nbsp;</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
//app/controllers/components/images.php

class ImagesComponent extends Object {
		/* The Upload Directory @access public * @var string*/
		var $upload_dir = &quot;&quot;;

		/* The Upload Directory Path @access public  @var string*/
		var $upload_path = &quot;&quot;; 

		/* New name of the large image &amp; New name of the thumbnail image @access public @var string */
		var $large_image_name = &quot;resized_pic.jpg&quot;;
		var $thumb_image_name = &quot;thumbnail_pic.jpg&quot;;

		/**
		* The Max File Size. Approx 1MB @access public @var string */
		var $max_file = &quot;1148576&quot;;

		/* The Max width allowed for the large image @access public @var string	*/
		var $max_width = &quot;500&quot;;

		/* The Width of thumbnail image @access public @var string*/
		var $thumb_width = &quot;150&quot;;

		/* The Height of thumbnail image @access public @var string	*/
		var $thumb_height = &quot;150&quot;;

		//Image functions
		//You do not need to alter these functions
		function resizeImage($image,$width,$height,$scale)
		{
			$newImageWidth = ceil($width * $scale);
			$newImageHeight = ceil($height * $scale);
			$newImage = imagecreatetruecolor($newImageWidth,$newImageHeight);
			$source = imagecreatefromjpeg($image);
			imagecopyresampled($newImage,$source,0,0,0,0,$newImageWidth,$newImageHeight,$width,$height);
			imagejpeg($newImage,$image,90);
			chmod($image, 0777);
			return $image;
		}

		//You do not need to alter these functions
		function resizeThumbnailImage($thumb_image_name, $image, $width, $height, $start_width, $start_height, $scale){
			$newImageWidth = ceil($width * $scale);
			$newImageHeight = ceil($height * $scale);
			$newImage = imagecreatetruecolor($newImageWidth,$newImageHeight);
			$source = imagecreatefromjpeg($image);
			imagecopyresampled($newImage,$source,0,0,$start_width,$start_height,$newImageWidth,$newImageHeight,$width,$height);
			imagejpeg($newImage,$thumb_image_name,90);
			chmod($thumb_image_name, 0777);
			return $thumb_image_name;
		}

		//You do not need to alter these functions
		function getHeight($image) {
			$sizes = getimagesize($image);
			$height = $sizes[1];
			return $height;
		}

		//You do not need to alter these functions
		function getWidth($image)
		{
			$sizes = getimagesize($image);
			$width = $sizes[0];
			return $width;
		}
}
?&gt;
</pre>
<p>Langkah 4: Kemudian cipta fail controller baru bernama ‘images_controller.php’ kemudian simpan di ‘app/controllers/’ . Sila copy paste kod di bawah.<br />
&nbsp;</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
//app/controllers/images_controller.php
class ImagesController extends AppController {

	var $components = array('Images');
	var $helpers = array('Html','Form', 'Ajax','Javascript');

function index() {
	$error = '';
	$this-&gt;Images-&gt;upload_dir = WWW_ROOT . 'files' . DS . 'upload_pic' . DS;
//Image Locations
	$large_image_location = $this-&gt;Images-&gt;upload_dir.$this-&gt;Images-&gt;large_image_name;
	$thumb_image_location = $this-&gt;Images-&gt;upload_dir.$this-&gt;Images-&gt;thumb_image_name;

//Create the upload directory with the right permissions if it doesn't exist
if(!is_dir($this-&gt;Images-&gt;upload_dir)){
	mkdir($this-&gt;Images-&gt;upload_dir, 0777);
	chmod($this-&gt;Images-&gt;upload_dir, 0777);
}

//Check to see if any images with the same names already exist
if (file_exists($large_image_location)){
	if(file_exists($thumb_image_location)){
		$thumb_photo_exists = 'files/upload_pic/'.$this-&gt;Images-&gt;thumb_image_name;
		}else{
		$thumb_photo_exists = &quot;&quot;;
	}

	$large_photo_exists = 'files/upload_pic/'. $this-&gt;Images-&gt;large_image_name;
	$this-&gt;set('current_large_image_width', $this-&gt;Images-&gt;getWidth($large_image_location));
	$this-&gt;set('current_large_image_height', $this-&gt;Images-&gt;getHeight($large_image_location));
} else {
	$thumb_photo_exists = '';
	$large_photo_exists = '';
}
	$this-&gt;set('large_photo_exists', $large_photo_exists);
	$this-&gt;set('thumb_photo_exists', $thumb_photo_exists);
	$this-&gt;set('thumb_width', $this-&gt;Images-&gt;thumb_width);
	$this-&gt;set('thumb_height', $this-&gt;Images-&gt;thumb_height); 

if(!empty($this-&gt;data)) {
	if(isset($this-&gt;data['Image']['image'])){
//Get the file information
		$userfile_name = $this-&gt;data['Image']['image']['name'];
		$userfile_tmp = $this-&gt;data['Image']['image']['tmp_name'];
		$userfile_size = $this-&gt;data['Image']['image']['size'];
		$filename = basename($this-&gt;data['Image']['image']['name']);
		$file_ext = substr($filename, strrpos($filename, '.') + 1);

	//Only process if the file is a JPG and below the allowed limit
	if((!empty($this-&gt;data['Image'][&quot;image&quot;])) &amp;&amp; ($this-&gt;data['Image']['image']['error'] == 0)){
		if (($file_ext!=&quot;jpg&quot;) &amp;&amp; ($userfile_size &gt; $this-&gt;Images-&gt;max_file)) {
			$error= &quot;ONLY jpeg images under 1MB are accepted for upload&quot;;
			}
	}else{
		$error= &quot;Select a jpeg image for upload&quot;;
	}
	//Everything is ok, so we can upload the image.
	if (strlen($error)==0){
	if (isset($this-&gt;data['Image']['image']['name'])){

	move_uploaded_file($userfile_tmp, $large_image_location);
	chmod($large_image_location, 0777);

	$width = $this-&gt;Images-&gt;getWidth($large_image_location);
	$height = $this-&gt;Images-&gt;getHeight($large_image_location);
	//Scale the image if it is greater than the width set above
	if ($width &gt; $this-&gt;Images-&gt;max_width){
		$scale = $this-&gt;Images-&gt;max_width/$width;
		$uploaded = $this-&gt;Images-&gt;resizeImage($large_image_location,$width,$height,$scale);
	}else{
		$scale = 1;
		$uploaded = $this-&gt;Images-&gt;resizeImage($large_image_location,$width,$height,$scale);
	}
	//Delete the thumbnail file so the user can create a new one
	if (file_exists($thumb_image_location))
	{
		unlink($thumb_image_location);
	}
		}
	//Refresh the page to show the new uploaded image
		$this-&gt;redirect(array('controller' =&gt; &quot;images&quot;, 'action' =&gt; 'index'));
		}
}

		if(isset($this-&gt;data['Image']['x1']))
		{
		//Get the new coordinates to crop the image.
			$x1 = $this-&gt;data['Image'][&quot;x1&quot;];
			$y1 = $this-&gt;data['Image'][&quot;y1&quot;];
			$x2 = $this-&gt;data['Image'][&quot;x2&quot;];
			$y2 = $this-&gt;data['Image'][&quot;y2&quot;];
			$w = $this-&gt;data['Image'][&quot;w&quot;];
			$h = $this-&gt;data['Image'][&quot;h&quot;];
			//Scale the image to the thumb_width set above
			$scale = $this-&gt;Images-&gt;thumb_width/$w;
			$cropped = $this-&gt;Images-&gt;resizeThumbnailImage($thumb_image_location, $large_image_location,$w,$h,$x1,$y1,$scale);
			$this-&gt;redirect(array('controller' =&gt; &quot;images&quot;, 'action' =&gt; 'index'));
		}
		$this-&gt;set('error', $error);
	}
}

	function deleteImage()
	{
		$this-&gt;Images-&gt;upload_dir = WWW_ROOT . 'files' . DS . 'upload_pic' . DS; 

		$thumb_image_location = $this-&gt;Images-&gt;upload_dir.$this-&gt;Images-&gt;thumb_image_name;

		if (file_exists($thumb_image_location))
		{
			unlink($thumb_image_location);
		}
		$this-&gt;redirect(array('controller' =&gt; &quot;images&quot;, 'action' =&gt; 'index'));
	}
}
?&gt;
</pre>
<p>Langkah 5: Kemudian cipta fail model baru bernama &#8216;image.php&#8217; kemudian simpan di &#8216;app/models/&#8217; . Sila copy paste kod di bawah.</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
//app/models/image.php
class Image extends AppModel {
	var $name = 'Image';
	var $useTable = false;
}
?&gt;
</pre>
<p>&nbsp;</p>
<p>Langkah 6: Kemudian cipta folder baru bernama &#8216;images&#8217; di dalam folder &#8216;app/views&#8217;. Kemudian cipta fail baru di dalam folder images bernama &#8216;index.ctp&#8217;.</p>
<p>&nbsp;</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
//app/views/images/index.ctp

	echo $javascript-&gt;link('crop/jquery.min');
	echo $javascript-&gt;link('crop/jquery.imgareaselect.min');

//Only display the javacript if an image has been uploaded
if(strlen($large_photo_exists)&gt;0){
?&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
function preview(img, selection) {
	var scaleX = &lt;?php echo $thumb_width;?&gt; / selection.width;
	var scaleY = &lt;?php echo $thumb_height;?&gt; / selection.height;

	$('#thumbnail + div &gt; img').css({
	width: Math.round(scaleX * &lt;?php echo $current_large_image_width;?&gt;) + 'px',
	height: Math.round(scaleY * &lt;?php echo $current_large_image_height;?&gt;) + 'px',
	marginLeft: '-' + Math.round(scaleX * selection.x1) + 'px',
	marginTop: '-' + Math.round(scaleY * selection.y1) + 'px'
	});
	$('#x1').val(selection.x1);
	$('#y1').val(selection.y1);
	$('#x2').val(selection.x2);
	$('#y2').val(selection.y2);
	$('#w').val(selection.width);
	$('#h').val(selection.height);
	}

	$(document).ready(function () {
	$('#save_thumb').click(function() {
	var x1 = $('#x1').val();
	var y1 = $('#y1').val();
	var x2 = $('#x2').val();
	var y2 = $('#y2').val();
	var w = $('#w').val();
	var h = $('#h').val();
	if(x1==&quot;&quot; || y1==&quot;&quot; || x2==&quot;&quot; || y2==&quot;&quot; || w==&quot;&quot; || h==&quot;&quot;){
	alert(&quot;You must make a selection first&quot;);
	return false;
	}else{
	return true;
	}
	});
	});

	$(window).load(function () {
	$('#thumbnail').imgAreaSelect({ aspectRatio: '1:1', onSelectChange: preview });
	});

	function checkform(){
	document.getElementById('ImageX1').value = document.getElementById('x1').value;
	document.getElementById('ImageY1').value = document.getElementById('y1').value;
	document.getElementById('ImageX2').value = document.getElementById('x2').value;
	document.getElementById('ImageY2').value = document.getElementById('y2').value;
	document.getElementById('ImageW').value = document.getElementById('w').value;
	document.getElementById('ImageH').value = document.getElementById('h').value;
	//alert(document.getElementById('x1').value);
	return true;
}

&lt;/script&gt;
&lt;?php }?&gt;
&lt;h1&gt;Photo Upload and Crop&lt;/h1&gt;
&lt;?php
//Display error message if there are any
if(isset($error) and strlen($error)&gt;0){
echo &quot;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Error!&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&quot;.$error.&quot;&lt;/li&gt;&lt;/ul&gt;&quot;;
}
if(strlen($large_photo_exists)&gt;0 &amp;&amp; strlen($thumb_photo_exists)&gt;0){
	echo &quot;&lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; If the thumbnail image looks the same as the previous one, just hit refresh a couple of times.&lt;/p&gt;&quot;;
	echo '&lt;img src=&quot;'.$large_photo_exists.'&quot; style=&quot;float: left; margin-right: 10px;&quot; id=&quot;thumbnail&quot; alt=&quot;Main&quot; /&gt; &lt;img src=&quot;'.$thumb_photo_exists.'&quot; style=&quot;float: left; margin-right: 10px;&quot; id=&quot;thumbnail&quot; alt=&quot;Thumbnail&quot; /&gt;';
	echo &quot;&lt;p&gt;&quot;.$this-&gt;Html-&gt;link('Delete Images', array('controller'=&gt;'images', 'action'=&gt;'deleteImage')).&quot;&lt;/p&gt;&quot;;
}else{
if(strlen($large_photo_exists)&gt;0){?&gt;
&lt;h2&gt;Create Thumbnail&lt;/h2&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img src=&quot;&lt;?php echo $large_photo_exists;?&gt;&quot; style=&quot;float: left; margin-right: 10px;&quot; id=&quot;thumbnail&quot; alt=&quot;Create Thumbnail&quot; /&gt;
&lt;div style=&quot;float:left; position:relative; overflow:hidden; width:&lt;?php echo $thumb_width;?&gt;px; height:&lt;?php echo $thumb_height;?&gt;px;&quot;&gt;
&lt;img src=&quot;&lt;?php echo $large_photo_exists;?&gt;&quot; style=&quot;position: relative;&quot; alt=&quot;Thumbnail Preview&quot; /&gt;
&lt;/div&gt;
&lt;br style=&quot;clear:both;&quot;/&gt;
&lt;?php echo $this-&gt;Form-&gt;create('Image', array('action' =&gt; 'index', 'name'=&gt;'thumbnail', 'onsubmit'=&gt;'return checkform()'))?&gt;
&lt;?php echo $this-&gt;Form-&gt;hidden('x1');?&gt;
&lt;?php echo $this-&gt;Form-&gt;hidden('y1');?&gt;
&lt;?php echo $this-&gt;Form-&gt;hidden('x2');?&gt;
&lt;?php echo $this-&gt;Form-&gt;hidden('y2');?&gt;
&lt;?php echo $this-&gt;Form-&gt;hidden('w');?&gt;
&lt;?php echo $this-&gt;Form-&gt;hidden('h');?&gt;

&lt;input type=&quot;hidden&quot; name=&quot;x1&quot; value=&quot;&quot; id=&quot;x1&quot; /&gt;
&lt;input type=&quot;hidden&quot; name=&quot;y1&quot; value=&quot;&quot; id=&quot;y1&quot; /&gt;
&lt;input type=&quot;hidden&quot; name=&quot;x2&quot; value=&quot;&quot; id=&quot;x2&quot; /&gt;
&lt;input type=&quot;hidden&quot; name=&quot;y2&quot; value=&quot;&quot; id=&quot;y2&quot; /&gt;
&lt;input type=&quot;hidden&quot; name=&quot;w&quot; value=&quot;&quot; id=&quot;w&quot; /&gt;
&lt;input type=&quot;hidden&quot; name=&quot;h&quot; value=&quot;&quot; id=&quot;h&quot; /&gt;
&lt;!--&lt;input type=&quot;submit&quot; name=&quot;upload_thumbnail&quot; value=&quot;Save Thumbnail&quot; id=&quot;save_thumb&quot; /&gt;--&gt;
&lt;?php echo $this-&gt;Form-&gt;submit('Simpan Thumbnail', array('div' =&gt; false));?&gt;
&lt;?php echo $this-&gt;Form-&gt;end(); ?&gt;
&lt;/div&gt;
&lt;hr /&gt;
&lt;?php } ?&gt;
&lt;h2&gt;Upload Photo&lt;/h2&gt;
&lt;?php echo $this-&gt;Form-&gt;create('Image', array('action' =&gt; 'index', 'name'=&gt;'photo', 'type'=&gt;'file'))?&gt;
Photo &lt;?php echo $this-&gt;Form-&gt;file('image');?&gt; &lt;?php echo $this-&gt;Form-&gt;submit('Muat Naik', array('div' =&gt; false));?&gt;
&lt;?php echo $this-&gt;Form-&gt;end(); ?&gt;
&lt;?php } ?&gt;
</pre>
<p>Akhir sekali jangan lupa menguji dengan menggnakan web browser anda. Selamat Mencuba</p>
]]></content:encoded>
			<wfw:commentRss>http://fairuzsulaiman.com/2011/05/cakephp-1-3-tutorial-muat-naik-crop-imej/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Memasukkan data daripada string kepada date menggunakan kod MySQL</title>
		<link>http://fairuzsulaiman.com/2011/01/memasukkan-data-daripada-string-kepada-date-menggunakan-kod-mysql/</link>
		<comments>http://fairuzsulaiman.com/2011/01/memasukkan-data-daripada-string-kepada-date-menggunakan-kod-mysql/#comments</comments>
		<pubDate>Thu, 20 Jan 2011 14:39:44 +0000</pubDate>
		<dc:creator>Fairuz Sulaiman</dc:creator>
				<category><![CDATA[Benjana Ilmu]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Ilmu Komputer]]></category>
		<category><![CDATA[PHP MySQL]]></category>
		<category><![CDATA[Aktiviti]]></category>
		<category><![CDATA[Catatan Harian]]></category>
		<category><![CDATA[Catatan Peribadi]]></category>
		<category><![CDATA[Doa]]></category>
		<category><![CDATA[Solat Duha]]></category>
		<category><![CDATA[Tips Komputer]]></category>

		<guid isPermaLink="false">http://fairuzsulaiman.com/?p=156</guid>
		<description><![CDATA[Assalamualaikum. Seminggu saya memikirkan kaedah yang terbaik untuk menyelesaikan kaedah penyimpanan data dalam bentuk format tarikh yang sepatutnya dalam MySql.Di dalam format MySQL data yang berjenis date akan disimpan dalam format yyyy-mm-dd ( tahun -bulan-hari). Saya sebelum ini menggunakan konsep ubah dahulu daripada string kepada date menggunakan strtotime (fungsi dalam PHP) seperti di bawah tetapi [...]]]></description>
			<content:encoded><![CDATA[<p>Assalamualaikum.</p>
<p>Seminggu saya memikirkan kaedah yang terbaik untuk menyelesaikan kaedah penyimpanan data dalam bentuk format tarikh yang sepatutnya dalam MySql.Di dalam format MySQL data yang berjenis date akan disimpan dalam format yyyy-mm-dd ( tahun -bulan-hari). Saya sebelum ini menggunakan konsep ubah dahulu daripada string kepada date menggunakan strtotime (fungsi dalam PHP) seperti di bawah tetapi saya gagal. Dan akhirnya saya selesai seperti di bawah. </p>
<pre name="code" class="php">

    $tarikh = date('Y-m-d',strtotime($_POST['tarikh'])); 
</pre>
<p><a href="http://fairuzsulaiman.com/wp-content/uploads/2011/01/php-code.png"><img src="http://fairuzsulaiman.com/wp-content/uploads/2011/01/php-code.png" alt="" title="php-code" width="210" height="127" class="aligncenter size-full wp-image-158" /></a><br />
Pastikan bahawa anda mempunyai field yang berjenis Date untuk menyimpan data ini. Dalam koding dibawah , nama medan dalam jadual tbl_kemasukan adalah tarikhKemasukan</p>
<p>OK kita mulakan coding PHPnya</p>
<pre name="code" class="php" >

//data yang dipost daripada form

   $tarikh = $_POST['tarikh']; // data ini berbentuk string
   $tbl_name = "tbl_kemasukan";

// janakan SQL Query untuk memasukkan ke dalam jadual $tbl_name

   $sqlQueryInsert = mysql_query("INSERT INTO (tarikhKemasukan) VALUES (str_to_date('".$tarikh."','%m/%d/%Y'))") or die($sqlQueryInsert); // '%m/%d/%Y' merupakan value tarikh dalam form 

//code tamat
</pre>
<p>Alhamdulillah sekian sahaja. Ada cadangan /kritikan. sila komen. Anda suka. Kongsikan dengan teman2&#8230; </p>
]]></content:encoded>
			<wfw:commentRss>http://fairuzsulaiman.com/2011/01/memasukkan-data-daripada-string-kepada-date-menggunakan-kod-mysql/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Menghubungkan 2 database dalam 1 skrip.~ PHP MySQL</title>
		<link>http://fairuzsulaiman.com/2010/12/menghubungkan-2-database-dalam-1-skrip-php-mysql/</link>
		<comments>http://fairuzsulaiman.com/2010/12/menghubungkan-2-database-dalam-1-skrip-php-mysql/#comments</comments>
		<pubDate>Sun, 05 Dec 2010 14:20:00 +0000</pubDate>
		<dc:creator>Fairuz Sulaiman</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[PHP MySQL]]></category>
		<category><![CDATA[Catatan Harian]]></category>
		<category><![CDATA[Catatan Peribadi]]></category>
		<category><![CDATA[fairuzsulaiman]]></category>
		<category><![CDATA[ibnusulaiman]]></category>
		<category><![CDATA[training]]></category>

		<guid isPermaLink="false">http://fairuzsulaiman.com/?p=110</guid>
		<description><![CDATA[Assalamualaikum&#8230; selamat pagi.. Bismillahirrahmanirrahim.. Alhamdulillah hari ini saya dapat idea macam mana nk buat hubungan 2 database yang berbeza untuk satu sistem, idea ini adalah hasil pembacaan dan kajian saya dalam forum-forum pengaturcaraan setelah mendapat pertolongan dari pakcik google. Kaedahnya sangat mudah&#8230;. Katakan DBA sebagai pangkalan data 1 dan DBB sebagai pangkalan data 2. Jika [...]]]></description>
			<content:encoded><![CDATA[<p>Assalamualaikum&#8230; selamat pagi..</p>
<p>Bismillahirrahmanirrahim..</p>
<p>Alhamdulillah hari ini saya dapat idea macam mana nk buat hubungan 2 database yang berbeza untuk satu sistem, idea ini adalah hasil pembacaan dan kajian saya dalam forum-forum pengaturcaraan setelah mendapat pertolongan dari pakcik google.</p>
<p>Kaedahnya sangat mudah&#8230;.</p>
<p><a href="http://fairuzsulaiman.com/wp-content/uploads/2010/12/apache_php_mysql_logo.jpg"><img src="http://fairuzsulaiman.com/wp-content/uploads/2010/12/apache_php_mysql_logo-300x264.jpg" alt="" title="apache_php_mysql_logo" width="300" height="264" class="aligncenter size-medium wp-image-118" /></a><br />
Katakan DBA sebagai pangkalan data 1 dan DBB sebagai pangkalan data 2. Jika mahu menghubungkannya (connect). Sila ikut seperti di bawah.<br />
<code><br />
&lt;?php<br />
// sambungkan ke host atau server .<br />
/*- localhost adalah nama server, root adalah nama user, password adalah kata laluan - anda boleh mengubahnya<br />
berdasarkan keperluan anda<br />
-  or die ('mesej ') adalah mesej sekiranya komand pertama (mysql-connect @ mysql_select_db tidak berfungsi<br />
*/<!--formatted--></code></p>
<p><code>$db1 = mysql_connect(&#039;localhost&#039;,&#039;root&#039;,&#039;password&#039;) or die (&quot;Tiada sambungan pada server @ host &quot;); // database pertama<br />
$db2 = mysql_connect(&#039;localhost&#039;,&#039;root&#039;,&#039;password&#039;, true ) or die(&quot;Tiada sambungan pada server @ host&quot;); //database kedua<!--formatted--></code></p>
<p><code>//aktifkan pangkalan data</p>
<p>mysql_select_db(&quot;nama_datase1&quot;,$db1) or die(&#039;database pertama tidak wujud &#039;);<br />
mysql_select_db(&quot;nama_database2&quot;) or die(&#039;database kedua tidak wujud );</p>
<p><!--formatted--></code></p>
<p><code>?&gt;<br />
<!--formatted--></code></p>
<p>Perhatikan kod di atas dimana sekiranya anda ingin memasukkan data pada pangkalan data yang sepatutnya jangan lupa untuk menambahkan $db1 atau $db2 untuk memastikan komand tersebut berjaya.<br />
<code><br />
&lt;?php</p>
<p> //memilih data daripada pangkalan data 1<br />
 $pilihQuery1 = mysql_query(&quot;SELECT * FROM nama_jadual &quot;,$db1) or die (&#039;Ada kesilapan&#039;); </p>
<p>// memilih data daripada pangkalan data 2</p>
<p> $pilihQuery2 = mysql_query(&quot;SELECT * FROM nama_jadual &quot;,$db2) or die (&#039;Ada kesilapan&#039;);<br />
?><br />
<!--formatted--></code></p>
<p>Sekiranya ada persoalan boleh kongsi bersama saya.</p>
]]></content:encoded>
			<wfw:commentRss>http://fairuzsulaiman.com/2010/12/menghubungkan-2-database-dalam-1-skrip-php-mysql/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Alhamdulillah laman web masjid Ar Rahman UM dalam 70% peratus siap..</title>
		<link>http://fairuzsulaiman.com/2010/07/alhamdulillah-laman-web-masjid-ar-rahman-um-dalam-70-peratus-siap/</link>
		<comments>http://fairuzsulaiman.com/2010/07/alhamdulillah-laman-web-masjid-ar-rahman-um-dalam-70-peratus-siap/#comments</comments>
		<pubDate>Tue, 27 Jul 2010 06:30:23 +0000</pubDate>
		<dc:creator>Fairuz Sulaiman</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Catatan Harian]]></category>
		<category><![CDATA[PHP MySQL]]></category>
		<category><![CDATA[Aktiviti]]></category>
		<category><![CDATA[Catatan Peribadi]]></category>
		<category><![CDATA[Doa]]></category>
		<category><![CDATA[fairuz sulaiman]]></category>
		<category><![CDATA[fairuzsulaiman]]></category>
		<category><![CDATA[Komuniti]]></category>

		<guid isPermaLink="false">http://fairuzsulaiman.com/?p=46</guid>
		<description><![CDATA[Assalamualaikum&#8230;. Syukur di ucapkan kepada Allah yang memberikan nikmat yang tidak terhingga kepada saya. Antaranya nikmat kesihatan tubuh badan. Alhamdulillah berkat kerjasama dengan pihak pengurusan Masjid Ar Rahman Universiti Malaya,..saya berjaya menyiapkan laman weeb yang menjadi portfolio saya yang ke berapa pun saya tak ingat. Sebenarnya tiada apa nak dikongsikan&#8230;cuma menggunakan CMS yang anda sendiri [...]]]></description>
			<content:encoded><![CDATA[<p>Assalamualaikum&#8230;. Syukur di ucapkan kepada Allah yang memberikan nikmat yang tidak terhingga kepada saya. Antaranya nikmat kesihatan tubuh badan. Alhamdulillah berkat kerjasama dengan pihak pengurusan Masjid Ar Rahman Universiti Malaya,..saya berjaya menyiapkan laman weeb yang menjadi portfolio saya yang ke berapa pun saya tak ingat.</p>
<p><a href="http://fairuzsulaiman.com/wp-content/uploads/2010/07/portfolio.jpg"><img class="alignleft size-medium wp-image-47" title="portfolio-masdjidarrahmanum.com" src="http://fairuzsulaiman.com/wp-content/uploads/2010/07/portfolio-300x230.jpg" alt="" width="300" height="230" /></a></p>
<p>Sebenarnya tiada apa nak dikongsikan&#8230;cuma menggunakan CMS yang anda sendiri dapat kenali&#8230; akan tetapi saya menggunakan pendekatan SEO URL method untuk meng&#8217;hide&#8217;kan sebahagian URL GET dalam penghantaran value. Bukan apa ini penting untuk keselamatan laman web.</p>
<p>Ok anda boleh layari seperti alamat berikut.  <a title="Portal Masjid Ar Rahman UM" href="http://www.masjidarrahmanum.com" target="_blank">http://www.masjidarrahmanum.com</a></p>
<p>Sebarang komen saya terima seadanya&#8230;terima kasih semua.</p>
]]></content:encoded>
			<wfw:commentRss>http://fairuzsulaiman.com/2010/07/alhamdulillah-laman-web-masjid-ar-rahman-um-dalam-70-peratus-siap/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Permasalahan dalam CakePHP1.3.xx &#8211; Error: The requested address ” was not found on this server</title>
		<link>http://fairuzsulaiman.com/2010/07/permasalahan-dalam-cakephp1-3-xx-error-the-requested-address-%e2%80%9d-was-not-found-on-this-server/</link>
		<comments>http://fairuzsulaiman.com/2010/07/permasalahan-dalam-cakephp1-3-xx-error-the-requested-address-%e2%80%9d-was-not-found-on-this-server/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 16:01:58 +0000</pubDate>
		<dc:creator>Fairuz Sulaiman</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[PHP MySQL]]></category>
		<category><![CDATA[Catatan Harian]]></category>
		<category><![CDATA[Catatan Peribadi]]></category>
		<category><![CDATA[fairuzsulaiman]]></category>

		<guid isPermaLink="false">http://fairuzsulaiman.com/?p=44</guid>
		<description><![CDATA[Assalamualaikum Selamat malam&#8230;pagi tadi saya teramat tertekan bila masa saya telah membuat model, controller serta view untuk pengguna tetapi permasalahan wujud di mana paparan mengeluarkan mesej Error the requested was not found on this server. Ok. Bagaimana nak menyelesaikan masalah tersebut. (i) Sila pastikan pada bahagian fail configuration database.php betul.. seperti mana yang ada dalam [...]]]></description>
			<content:encoded><![CDATA[<p>Assalamualaikum</p>
<p>Selamat malam&#8230;pagi tadi saya teramat tertekan bila masa saya telah membuat model, controller serta view untuk pengguna tetapi permasalahan wujud di mana paparan mengeluarkan mesej Error the requested was not found on this server.</p>
<p>Ok. Bagaimana nak menyelesaikan masalah tersebut.</p>
<p>(i) Sila pastikan pada bahagian fail configuration database.php betul.. seperti mana yang ada dalam pangkalan data,. Kebiasaannya , salah password,user name, database name,</p>
<p>(ii) Sila padam file cache  di folder tmp/cache/models/</p>
<p>(iii) Sekiranya anda telah uploadkan dalam live server ,pastikan mode folder tmp dan segala isinya sebagai writtable.</p>
<p>Selamat mencuba.</p>
]]></content:encoded>
			<wfw:commentRss>http://fairuzsulaiman.com/2010/07/permasalahan-dalam-cakephp1-3-xx-error-the-requested-address-%e2%80%9d-was-not-found-on-this-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mengubah pagetitle menggunakan cakePHP 1.3</title>
		<link>http://fairuzsulaiman.com/2010/07/mengubah-pagetitle-menggunakan-cakephp-1-3/</link>
		<comments>http://fairuzsulaiman.com/2010/07/mengubah-pagetitle-menggunakan-cakephp-1-3/#comments</comments>
		<pubDate>Mon, 12 Jul 2010 11:27:48 +0000</pubDate>
		<dc:creator>Fairuz Sulaiman</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[PHP MySQL]]></category>
		<category><![CDATA[Catatan Harian]]></category>
		<category><![CDATA[ibnusulaiman]]></category>
		<category><![CDATA[pageTitle]]></category>

		<guid isPermaLink="false">http://fairuzsulaiman.com/?p=20</guid>
		<description><![CDATA[Assalamualaikum dan selamat malam. Alhamdulillah bersyukur.. dah lama saya tidak mengemaskinikan blog ini. Sekarang saya ingin berkongsi pada teman-teman sekelian yang menggunakan cakePHP versi 1.3 untuk mengubah nama pageTitle. Apa itu pagetitle. Kalau dalam versi HTML kebiasaannya pagetitle diletakkan di bahagian ruangan diantara tag header iatu seperti dibawah. &#60;html&#62; &#60;header&#62; &#60;title&#62;Google &#60;title&#62; &#60;header&#62; dan apabila [...]]]></description>
			<content:encoded><![CDATA[<p>Assalamualaikum dan selamat malam.</p>
<p>Alhamdulillah bersyukur.. dah lama saya tidak mengemaskinikan blog ini. Sekarang saya ingin berkongsi pada teman-teman sekelian yang menggunakan cakePHP versi 1.3 untuk mengubah nama pageTitle.</p>
<p>Apa itu pagetitle. Kalau dalam versi HTML kebiasaannya pagetitle diletakkan di bahagian ruangan diantara tag header iatu seperti dibawah.</p>
<p><strong><span style="color: #ff0000;">&lt;html&gt;</span></strong></p>
<p><strong><span style="color: #ff0000;">&lt;header&gt;</span></strong></p>
<p><strong><span style="color: #ff0000;"> &lt;title&gt;Google &lt;title&gt;<br />
</span></strong></p>
<p><strong><span style="color: #ff0000;">&lt;header&gt; </span></strong></p>
<p>dan apabila dipaparkan pada web browser ia akan kelihatan seperti rajah di bawah.</p>
<p><a href="http://fairuzsulaiman.com/wp-content/uploads/2010/07/pageTitle.png"><img class="aligncenter size-medium wp-image-21" title="pageTitle in CakePHP 1.3" src="http://fairuzsulaiman.com/wp-content/uploads/2010/07/pageTitle-300x148.png" alt="" width="344" height="158" /></a>Kalau bagi mereka yang menggunakan cakePHP versi 1.2. Untuk memaparkan adalah meletakan code pada setiap function di controller kemudianya akan dipaparkan melalui view function tersebut. Antara contoh code pada controller dalam function adalah seperti dibawah.</p>
<p><code>&lt;?php<!--formatted--></code></p>
<p><code>// untuk menambah rekod dalam pangkalan data</p>
<p>// versi cakePHP versi 1.2.xx</p>
<p>function index()<br />
{<br />
$this-&gt;pageTitle = ' Paparan data ';// maka seperti di atas.. ia akan memaparkan<br />
}</p>
<p><!--formatted--></code></p>
<p>Untuk versi 1.3.xx pula penggunaan pageTitle digantikan menggunakan set(&#8216;title_for_layout &#8216;,&#8217;nama title&#8217;), sekiranya anda ingin melihat di mana lokasi fail tersebut. Mula-mula buka fail pada ../namasistem/views/layout/default.ctp. Kemudian anda akan dapat lihat pada code seperti di bawah</p>
<p><code><br />
&lt;head&gt;<br />
&lt;?php echo $this-&gt;Html-&gt;charset(); ?&gt;<br />
&lt;title&gt;<br />
&lt;?php echo $title_for_layout;// untuk memaparkan pageTitle daripada controller. ?&gt;<br />
&lt;/title&gt;<br />
.....<br />
<!--formatted--></code></p>
<p>Oleh itu pada bahagian controller dan setiap function yang mempunyai paparan (views) maka anda boleh menulis seperti code di bawah pada controller dengan menggunakan format seperti berikut</p>
<p>$this-&gt;set(&#8216;title_for_layout&#8217;,'Nama title&#8217;);<br />
<code><br />
&lt;?php<!--formatted--></code></p>
<p><code>function carian()<br />
{<br />
$this-&gt;set('title_for_layout','Carian Data');<br />
// operasi carian<br />
}</p>
<p>?&gt;</p>
<p><!--formatted--></code></p>
<p>Selamat mencuba.Mulakan dengan bismillahirrahmanirrahim. Jangan segan silu untuk bertanya.</p>
]]></content:encoded>
			<wfw:commentRss>http://fairuzsulaiman.com/2010/07/mengubah-pagetitle-menggunakan-cakephp-1-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

