<?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>شاهزاده &#187; مای اس کیو ال &#8211; mysql</title>
	<atom:link href="http://prince.soldier.ir/category/%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-%d9%86%d9%88%db%8c%d8%b3%db%8c/%d9%85%d8%a7%db%8c-%d8%a7%d8%b3-%da%a9%db%8c%d9%88-%d8%a7%d9%84-mysql/feed/" rel="self" type="application/rss+xml" />
	<link>http://prince.soldier.ir</link>
	<description>همه چیز ولی هیچ چیز</description>
	<lastBuildDate>Thu, 29 Jul 2010 17:10:20 +0000</lastBuildDate>
	<language>fa</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>معرفی SilverStripe</title>
		<link>http://prince.soldier.ir/1387/07/02/%d9%85%d8%b9%d8%b1%d9%81%db%8c-silverstripe/</link>
		<comments>http://prince.soldier.ir/1387/07/02/%d9%85%d8%b9%d8%b1%d9%81%db%8c-silverstripe/#comments</comments>
		<pubDate>Tue, 23 Sep 2008 14:01:28 +0000</pubDate>
		<dc:creator>بهروز</dc:creator>
				<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[مای اس کیو ال - mysql]]></category>
		<category><![CDATA[پی اچ پی - php]]></category>

		<guid isPermaLink="false">http://prince.soldier.ir/?p=45</guid>
		<description><![CDATA[سیلوراستریپ یه CMS/FrameWork هستش که امکانات فوق العاده ای برای گسترش داره و به راحتی می تونید هر سیستمی که دوست دارید باهاش بسازید! از وبلاگ گرفته تا سایت خبری، گالری و هر چیز دیگه ای که به فکرتون می رسه! الان سرباز با SilverStripe اجرا می شه. از امکانات خوبی که داره طراحی فرم [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.silverstripe.com/" target="_blank">سیلوراستریپ</a> یه CMS/FrameWork هستش که امکانات فوق العاده ای برای گسترش داره و به راحتی می تونید هر سیستمی که دوست دارید باهاش بسازید! از وبلاگ گرفته تا سایت خبری، گالری و هر چیز دیگه ای که به فکرتون می رسه! الان <a href="http://soldier.ir/">سرباز</a> با SilverStripe اجرا می شه. از امکانات خوبی که داره طراحی فرم هست. شما می تونید هر فرمی با استفاده از SilverStripe بسازید.</p>
<p>مورد دیگه ای که لازم می دونم بگم اینه که SilverStripe متن باز هستش اما فرق دیگه ای که با اکثر OpenSource ها می کنه اینه که با مجوز BSD منتشر می شه. به همین دلیل اگه نیاز دارید پروژه ای رو که با SilverStripe انجام دادید به صورت متن بسته ارائه بدین مجوز BSD این امکان رو به شما می ده. پس می تونید از SilverStripe برای پروژه های کاری استفاده کنید.</p>
<p>من خودم که فعلا با FrameWork دیگه ای کار می کنم، اما این دلیل نمی شه از قدرت SilverStripe بگذریم. با این که به نظر من یه خورده کند هستش اما برای سایت های بزرگ هم می تونه استفاده بشه (<a href="http://www.silverstripe.com/demconvention-3-2-million-visits-in-4-days/" target="_blank">نگاه کنید</a>).</p>
<p>تمام این صحبت ها برای این بود که ماژول <a href="http://prince.soldier.ir/farsiBlog-0.1.tar.gz">وبلاگ فارسی</a> برای SilverStripe معرفی کنم. پس از نصب این بسته امکانات زیر رو خواهید داشت:</p>
<ol>
<li>ایجاد صفحه با آدرس فارسی</li>
<li>وبلاگ با تاریخ های جلالی (هجری شمسی)</li>
<li>قالب راست به چپ</li>
</ol>
<p>شاید این شروعی بشه برای تشکیل گروه SilverStripe فارسی. دوستان اگه تمایلی برای مشارکت دارن یا پیشنهادی در مورد این بسته دارن مطرح کنن.</p>
<p>این بسته با نسخه ی 2.2.2 و 2.2.1 امتحان شده و مشکلی نداشته. توضیحات بیش تر در مورد این بسته فایل ChangeLog درون بسته پیدا می کنید.</p>
]]></content:encoded>
			<wfw:commentRss>http://prince.soldier.ir/1387/07/02/%d9%85%d8%b9%d8%b1%d9%81%db%8c-silverstripe/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>سطر تصادفی در mysql</title>
		<link>http://prince.soldier.ir/1387/05/16/%d8%b3%d8%b7%d8%b1-%d8%aa%d8%b5%d8%a7%d8%af%d9%81%db%8c-%d8%af%d8%b1-mysql/</link>
		<comments>http://prince.soldier.ir/1387/05/16/%d8%b3%d8%b7%d8%b1-%d8%aa%d8%b5%d8%a7%d8%af%d9%81%db%8c-%d8%af%d8%b1-mysql/#comments</comments>
		<pubDate>Wed, 06 Aug 2008 15:50:33 +0000</pubDate>
		<dc:creator>بهروز</dc:creator>
				<category><![CDATA[مای اس کیو ال - mysql]]></category>
		<category><![CDATA[پی اچ پی - php]]></category>

		<guid isPermaLink="false">http://prince.soldier.ir/1387/05/16/%d8%b3%d8%b7%d8%b1-%d8%aa%d8%b5%d8%a7%d8%af%d9%81%db%8c-%d8%af%d8%b1-mysql/</guid>
		<description><![CDATA[دارم روی یه اسکریپت کار می کنم که در اون به یه سطر تصادفی از mysql احتیاج دارم. خوب خود mysql راه خوبی برای این کار نداره و نمی شه از تابع های mysql در این زمینه انتظار کار خوبی داشت. اما تنها راهی که وجود داره اینه: select * from TABLE order by rand() [...]]]></description>
			<content:encoded><![CDATA[<p>دارم روی یه اسکریپت کار می کنم که در اون به یه سطر تصادفی از mysql احتیاج دارم. خوب خود mysql راه خوبی برای این کار نداره و نمی شه از تابع های mysql در این زمینه انتظار کار خوبی داشت. اما تنها راهی که وجود داره اینه:</p>
<p><code>select * from TABLE order by rand() limit 1</code></p>
<p>اما بر پابه ی <a href="http://www.greggdev.com/web/articles.php?id=6" target="_blank">این مطلب</a> این query بسیار کند (حدود ۷۱۷ ثانیه برای جدولی با تعداد سطر های ۲،۳۹۴،۹۶۸) و غیر قابل استفاده هستس و رسما استفاده از این هیچ دلیل منطقی نداره. خوب می خوام یه راه بهتری بهتون پیشنهاد کنم، البته با دو query اما بسیار سریع تر. خوب اول چیزی که لازم دارم تعداد کل سطر های موجود در جدول هستش که با این query به دست می یاد:</p>
<p><code>select Count(*) as `C` from TABLE</code></p>
<p>اما حالا می تونیم یه سطر به صورت تصادفی از جدول به دست بیاریم به این صورت که یه عدد تصادفی بین ۰ و تعداد سطر های جدول &#8211; ۱ با استفاده از زبونی که استفاده می کنیم به دست می یاریم و اسم اون رو N قرار می دیم. اما سطر مورد نظر با استفاده از query زیر به دست می یاد:</p>
<p><code>select * from TABLE limit N,1</code></p>
<p>اما برای این که دیگه هیچ سوالی نمونده باشه یک بار کل کار رو با php می نویسم:</p>
<p><code>&lt;?php<br />
$con = mysqli_connect("host", "user", "pass", "db");<br />
$sqlRes_total = mysqli_query($con, "SELECT COUNT(*) as `C` FROM `TABLE`");<br />
$total = mysqli_fetch_object($sqlRes_total)-&gt;C;<br />
$random = rand(0, $total-1);<br />
$sqlRes_row = mysqli_query($con, "SELECT * FROM `TABLE` LIMIT {$random},1");<br />
$row = mysqli_fetch_object($sqlRes_row);<br />
print_r($row);<br />
mysqli_close($con);<br />
?&gt;</code></p>
<p>اما یه چیز دیگه فرض کنید شما یه جدول دارید که توی اون ۱۰۰،۰۰۰ سطر دارید. خوب به نظر من اگه بین ۵۰۰۰ سطر آخر هم یه سطر به صورت تصادفی داشته باشین بسته. پس خیلی راحت می شه query اول رو حذف کرد و به جای N از ۴۹۹۹ استفاده کرد.</p>
]]></content:encoded>
			<wfw:commentRss>http://prince.soldier.ir/1387/05/16/%d8%b3%d8%b7%d8%b1-%d8%aa%d8%b5%d8%a7%d8%af%d9%81%db%8c-%d8%af%d8%b1-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
