parsgreen.com
article

آموزش حذف گروهی اطلاعات از MySQL با استفاده از چک باکس

mysql-multiple-checkbox

یکی از مزایای استفاده از پایگاه داده و سیستم های داینامیک در مقایسه با شیوه های سنتی و استاتیک مدیریت اطلاعات، افزایش سرعت انجام کارها و قابلیت پردازش چندین دستور مختلف در یک لحظه و صرفه جویی در وقت است، به طور مثال فرض کنید می خواهیم اسامی تعدادی از کاربران سایتمان را از لیستی حذف کنیم، انجام این کار به شیوه سنتی مستلزم صرف وقت بسیار و دردسرهای خاص خودش است که باعث می شود ضریب اشتباه نیز افزایش یابد، اما کافی است یک بار در نوشتن یک کد داینامیک دقت کنیم تا از آن در دفعات بعدی، چندین و چند بار استفاده نمائیم؛ از این رو در این مطلب می خواهیم یکی از پرکاربرد ترین شیوه ها، یعنی نحوه حذف گروهی اطلاعات از دیتابیس را به وسیله چک باکس چند گانه (multiple checkbox) آموزش دهیم.

ساخت دیتابیس، جدول و اطلاعات فرضی


برای درک بهتر این شیوه، آموزش را در قالب یک مثال ادامه می دهیم؛ ابتدا با استفاده از برنامه phpMyAdmin یک پایگاه داده فرضی با نام db_test_mysql بسازید (ترجیحا این کار را در لوکال هاست انجام دهید)، سپس در قسمت sql کد زیر را اجرا کنید تا جدولی با نام tb_test_mysql با مقادیری پیش فرض جهت نمونه در آن ایجاد شود (این کار را به صورت دستی نیز می توانید انجام دهید):
CREATE TABLE `tb_test_mysql` (
 `id` INT NOT NULL auto_increment,
 `name` varchar(65) NOT NULL default '',
 PRIMARY KEY (`id`)
) ENGINE=MyISAM;
INSERT INTO `tb_test_mysql` VALUES (1, 'Jamshid');
INSERT INTO `tb_test_mysql` VALUES (2, 'Mohammad');
INSERT INTO `tb_test_mysql` VALUES (3, 'Vahid');
INSERT INTO `tb_test_mysql` VALUES (4, 'Sasan');
INSERT INTO `tb_test_mysql` VALUES (5, 'Akbar');
INSERT INTO `tb_test_mysql` VALUES (6, 'Farshad');

کد PHP برای حذف گروهی اطلاعات


اکنون دیتابیس و جدول با ردیف هایی فرضی آماده است تا از طریق فرم HTML و کدهای PHP دستورات مورد نظرمان را بر روی آنها اعمال کنیم؛ به این منظور کد زیر را با نام checkbox.php در یک فایل ذخیره و از طریق لوکال هاست یا سرور آن را فراخوانی نمائید:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>وبگو | آموزش حذف گروهی اطلاعات از دیتابیس با چک باکس</title>
<!-- http://webgoo.ir -->
</head>
<body>
<?php
//نام هاست
$host = "localhost";
//MySQL نام کاربری
$username = "root";
//MySQL کلمه عبور
$password = "";
//نام پایگاه داده
$db_name = "db_test_mysql";
//نام جدول
$tb_name = "tb_test_mysql";

@$checkbox = $_POST['checkbox'];
//print_r($checkbox);
$count = 0;

//اتصال به سرور و پایگاه داده
$con = mysql_connect("$host", "$username", "$password")
or die("اتصال امکان پذیر نیست");

//انتخاب پایگاه داده
mysql_select_db("$db_name")
or die("انتخاب پایگاه داده میسر نیست");
?>
<table width="400" dir="rtl">
<tr>
<td>
<form name="form" method="post" action="">
<table width="400" border="1">
<tr>
<td><strong>ردیف</strong></td>
<td><strong>آی دی</strong></td>
<td><strong>نام</strong></td>
</tr>
<?php
//انتحاب ردیف های دیتابیس
$sql = "SELECT * FROM $tb_name LIMIT 10";
$result = mysql_query($sql) or die("انتحاب ردیف های دیتابیس میسر نیست");
//چاپ چک باکس ها در حلقه
while($rows = mysql_fetch_array($result)){
?>
<tr>
<td>
<input name="checkbox[]" type="checkbox" value="<?php echo $rows['id']; ?>" />
</td>
<td><?php echo $rows['id']; ?></td>
<td><?php echo $rows['name']; ?></td>
</tr>
<?php
}
?>
<tr>
<td colspan="5" align="center">
<input name="delete" type="submit" id="delete" value="حذف" />
</td>
</tr>
<?php
//اگر فرم ارسال شود کد زیر اجرا می شود
if($checkbox){
    //شمارش تعداد چک باکس های انتخاب شده
    @$count = count($checkbox);
    for($i = 0; $i < $count; $i++){
        @$del_id = $checkbox[$i];
        $sql = "DELETE FROM $tb_name WHERE id = '$del_id'";
        $result = mysql_query($sql) or die("حذف ردیف های دیتابیس میسر نیست");
    }
    //رفرش صفحه در صورت اجرای موفقیت آمیز کد
    if($result){
        echo '<meta http-equiv="refresh" content="0;URL=checkbox.php">';
    }
}
mysql_close($con);
?>
</table>
</form>
</td>
</tr>
</table>
</body>
</html>
توضیح:
- ابتدا اطلاعات اتصال به پایگاه داده را در قسمت مربوط به آن تنظیم می کنیم.
- سپس با اجرای دستور SELECT * FROM ردیف های مد نظرمان را از جدول مربوطه انتخاب کرده تا از ستون id برای قسمت value چک باکس ها و همچنین ستون name برای نمایش نام کاربر استفاده کنیم.
- برای محدود کردن تعداد نتایج از پارامتر LIMIT در پرس و جو استفاده می کنیم (با توجه به هدفتان این مورد می تواند اختیاری باشد).
- برای انتخاب و پردازش چندین چک باکس به صورت گروهی (multiple checkbox)، باید بعد از نام فیلد، علامت [] را اضافه کنیم (در مثال بالا []checkbox اطلاعات را به صورت یک آرایه در می آورد).
- همان طور که گفته شد، مقادیر value هر ردیف را برابر id آن قرار می دهیم و به این ترتیب هر کاربر یک آی دی اختصاصی دارد.
- اطلاعات چک باکس چندگانه در قالب یک آرایه ارسال می شود، لذا برای پردازش اطلاعات چک باکس گروهی باید از حلقه for استفاده کنیم، با این کار برای هر چک باکس انتخاب شده، یک بار پردازش را انجام می دهیم و مجددا سراغ چک باکس بعدی می رویم تا زمانی که متغیر i در حلقه for از متغیر count (تعداد کل چک باکس های انتخاب شده) کوچک تر است (برای آشنایی بیشتر در این زمینه به مبحث آرایه ها در PHP مراجعه کنید).
- در نهایت نیز با meta http-equiv refresh صفحه را رفرش می کنیم (همچنین می توانید کاربر را به صفحه ای دیگر بفرستید که برای این کار باید عنوان فایل و action را در فرم و کد تغییر دهید).
در مجموع درک این کد چندان سخت و پیچیده نیست، کافیست مراحل را گام به گام دنبال کنید؛ علاوه بر این می توانید از جاوا اسکریپت جهت ایجاد پیام هشدار برای حذف کاربر یا ایده های دیگر نیز استفاده نمائید که نیاز به آموزش در جای خود دارد، در اینجا هدف صرفا آشنایی با یک نمونه کد جهت حذف گروهی اطلاعات MySQL با PHP بود.
sectionدسته بندی: آموزش کاربردی » MySQL
related مطالب بیشتر:
» نحوه رسم چارت و نمودار آماری با php و mysql
» آموزش ساخت فرم تماس با php و mysql
» صفحه بندی مطالب و محتوا با PHP و MySQL
» ساخت فید آر اس اس (RSS Feed)، با استفاده از php و mysql
» هوشمند سازی پنل ورود و خروج سایت
commentنظرات (۵۱ یادداشت برای این مطلب ارسال شده است)
نویسنده: خالق
زمان: ۱۳:۳۷:۵۹ - تاریخ: ۱۳۹۱/۱۰/۰۴
سلام
می خواهم در یک پروژه اخبار های گذشته ام را حذف کنم از طریق کدهای php چگونه می توان این کار را کرد؟ اگر این کدها را برایم به ایمیلم روان کنید بزرگی می کنید ممنون
پاسخ: 
سلام
برای حذف اطلاعات از دیتابیس باید با php و mysql آشنا باشید، آنگاه از نمونه کد همین آموزش هم متناسب با دیتابیس و ستون های مورد نظر خود می توانید استفاده کنید، به طور مثال تاریخ پست ها را مورد بررسی قرار دهید و هر پستی که از تاریخ مشخصی قدیمی تر بود را حذف کنید یا هر پستی که به فرض آی دی آن کوچکتر از مقادیر مورد نظر شما است را حذف کنید، در کل باید بر نحوه کار php و mysql تسلط نسبی داشته باشید.
نویسنده: Ady
زمان: ۰۰:۱۷:۴۷ - تاریخ: ۱۳۹۱/۱۲/۰۴
فقط خواستم تشکر کنم. کار بزرگی انجام میدید و امیدوارم هیچ چیز باعث دلسردی و نا امیدی شما عزیزان نشه.
به جرات و با اطمینان اعلام میکنم که در بین همه سایتهایی که به زبان پارسی مطالب آموزشی را به اشتراک میگزارند، شما بهترین هستند.
هر جا که هستید شاد و پیروز باشید.
پاسخ: 
خیلی ممنون از این همه لطف.
نویسنده: yas
زمان: ۲۲:۴۷:۰۵ - تاریخ: ۱۳۹۱/۱۲/۰۹
سلام
من تمام مراحل رو انجام دادم اما هیچ اتفاقی نمیفته
فقط صفحه refresh می شه و delete؟می شه دوباره کدتون رو چک کنید، متغیر delete همش تعداد رکورد است 6
پاسخ: 
سلام
خیلی ممنون از یادآوری شما، چند اشتباه مختصر در کد وجود داشت، مطلب مجددا بررسی و آموزش به طور کامل اصلاح شد.
نویسنده: هدایت
زمان: ۰۲:۰۱:۲۷ - تاریخ: ۱۳۹۲/۰۱/۰۴
سلام
اگه به جای این که اطلاعات حذف بشه بخواهیم اطلاعات ذخیره بشه باید از چه دستوری استفاده بکنیم با تشکر
پاسخ: 
سلام
برای ذخیره اطلاعات باید از دستور INSERT و برای به روز رسانی از دستور UPDATE در MySQL استفاده کنید که البته syntax خاص خودشان را دارند.
نویسنده: shahin69
زمان: ۱۸:۳۸:۱۳ - تاریخ: ۱۳۹۲/۰۲/۱۵
سلام دوستان عزیز
خسته نباشید
میخوام یک سیستم نوبت دهی پزشکی درست کنم که اینجوریه
من یه جدول در دیتابیسم دارم در محیطphpmy admin که چهار تا فیلد داره یکی اسم و دیگری روزهای هفته و دیگری زمان که فیلد زمان از نوع time که اینجوریه 5:15 و 5:30 و 5:45 و 6:00 همین جور تا 8 یعنی شنبه از 5 تا 8 و یکشنبه 5 تا 8 و تا پنجشنبه که زمان ها به فاصله ربع ساعت هستن . میخوام فیلد زمان و فیلد روزای هفته رو به کاربر نشون بدم همراه با چک باکس کنارش.
که تا اینجاش رو انجام دادم از این به بعدش رو میخوام....
که زمانی که کاربر یکیش رو تیک میزنه و بعدش submit و زد یک صفحه یا یک کادر براش باز شه اسم و فامیلش رو بگیره و تو دیتابیسم ذخیره شه
چه جوری باید ذخیره بشه؟ که من بدونم چه کسی چه روز و ساعتی رو نوبت گرفته؟
ایا اون فیلد زمان در دیتابیس باید از نوع time باشه؟؟؟
value چک باکس باید زمان بزارم یعنی هر چک باکس یک value داره مثلا 5:15 و دیگری 5:30 و... ایا این درسته؟؟؟؟؟؟
خواهشا راهنماییم کنید؟؟؟؟
پاسخ: 
سلام
قبل از هر چیز بهتر است که از منوی باز شو (select option) برای داده هایی که حالت لیست دارند استفاده کنید، هرچند اینکه داده ها چگونه ارسال شوند در کل اهمیت اساسی ندارد، در مورد سوال شما کافی است نام کاربر را از یک فیلد متنی، زمان را از لیست (از value لیست)، روز هفته را هم به همین ترتیب دریافت کنید، سپس جدول شما باید یک مقادیر id نیز از نوع INT NOT NULL auto_increment داشته باشد، سپس با ارسال موارد، برای هر کاربر یک ردیف ایجاد می شود که در ستون نام، نام کاربر، ستون روزهای هفته، روز مورد نظر و در ستون زمان، زمان ارسال شده ثبت می شود، به این صورت به راحتی می توانید بدانید که چه کاربر چه روز و زمانی نوبت گرفته است، نوع time بودن مهم نیست چون مقادیر زمان ها ثابت هستند و نیازی به محاسبات خاصی نیست.
نویسنده: shahin69
زمان: ۱۴:۱۱:۲۷ - تاریخ: ۱۳۹۲/۰۲/۱۶
سلام
میخوام با استفاده از این کد اطلاعات insert و update کنم میشه بگید باید کجاشو تغییر بدم چه جوری باید عمل کنم میخوام چک باکس هم کنارش باشه؟؟
پاسخ: 
سلام
این آموزش صرفا یک نمونه برای راهنمایی بیشتر است، برای نوشتن برنامه های کاربردی سفارشی، باید به طور کلی به نحوه کار PHP و MySQL از مقدمات کار آشنا باشید، به هر صورت در این کد می توانید در حلقه for از مقادیر متغیر i استفاده کرده و مقادیر متناظر آن را از چک باکس دریافت کنید و به جای دستور DELETE دستورات دیگر را تنظیم نمائید، ممکن است نیاز به تعریف متغیرها و مقادیر دیگر نیز باشد که این بستگی به هدف و ساختار کد شما دارد.
نویسنده: کامران
زمان: ۱۸:۴۱:۵۷ - تاریخ: ۱۳۹۲/۰۲/۲۱
سلام چه جوری میشه اطلاعات به وسیله چک باکس insert کرد تو دیتابیس
پاسخ: 
سلام
می توانید مقادیری برای قسمت value چک باکس قرار دهید و با متد GET یا POST اطلاعات فرم را در سمت سرور دریافت و سپس آن اطلاعات را در دیتابیس ذخیره کنید، مثال:
<form action="index.php" method="post">
<input type="checkbox" name="check" value="1">
<input type="submit" value="ارسال">
</form>
<?php
$check = $_POST['check'];
$query = mysql_query("INSERT INTO tbl(check) VALUE('$check')") or die(mysql_error());
?>
برای کسب اطلاعات بیشتر به آموزش های مقدماتی مراجعه کنید.
نویسنده: mory44
زمان: ۱۸:۲۷:۴۴ - تاریخ: ۱۳۹۲/۰۳/۰۲
با سلام
سایت بسیار خوبی دارید
می خواستم ببینم کدتان مشکل ندارد چون قسمت if آخر اصلا اجرا نمی شود
و می خواستم بدونم علامت @ برای چه کاری است
پاسخ: 
سلام
بله کد کاملا تست شده (مجددا تست شد)، احتمالا مشکل شما انتقال بعد از حذف است، برای این کار باید توجه داشته باشید که فایل را با نام فرضی checkbox.php ذخیره کنید، در غیر این صورت باید این قسمت را در کد متناسب با نام و آدرس فایل تنظیم کنید،
در مورد علامت @، این علامت برای مواردی استفاده می شود که آگاهانه بخواهیم خطاهای یک متغیر (که معمولا از نوع Notice یا توجه بیشتر هستند) نادیده گرفته شود (نمایش داده نشود).
نویسنده: mory44
زمان: ۱۰:۲۰:۴۹ - تاریخ: ۱۳۹۲/۰۳/۰۳
ممنون از راهنمایتون مشکل حل شد
یه سوال در مورد insert کردن اطلاعات داشتم
مثلا ما سبد خرید داریم و می خواهیم مثل مثال بالا که اطلاعات رو حذف می کردیم اینبار اطلاعات انتخاب شده توی جدول جدید کپی بشه
البته در مورد insert در جواب دوستون توضیح دادین اما من نمیدونم مثلا جدولمون کدومه و ...
با تشکر فراوان
پاسخ: 
سوال خیلی کلی است، وقتی برنامه ای می نویسید باید بدانید که جدول به فرض کالا ها کدام است و... وقتی شما نمی دانید چطور ما بدانیم!
توصیه ما این است که از مقدمات مباحث را دنبال کنید، نوشتن یک برنامه کاربردی نیازمند حداقل آشنایی مقدماتی است.
نویسنده: saeid
زمان: ۲۱:۱۵:۴۰ - تاریخ: ۱۳۹۲/۰۴/۰۹
ببخشید بازم مزاحم شدم
من به گرافیک سایت خیلی اهمیت می دم و ...
فقط یه بار دیگه می خواستم این لطف را در حق بنده کنید که ...
برای حذف گروهی قاعدتاً یک دکمه ی submit باید گذاشت اما من از دکمه ی وب خوشم نمی یاد و می خوام از دکمه ی خودم استفاده کنم
منظورم دکمه ایه که با تگ a و داخلش هم یک تگ img خودتون بهتر می دونید
حالا می خوام مقادیر مثلاً textbox و بقیه رو توسط این دکمه ی گرافیکی خودم بفرستم به صفحه ی مورد نظر یا اصلاً می خوام فرم رو با تگ a به صفحه ی دیگری ارسال کنم می خواستم بدونم چه طور می شه با php این کار رو کرد؟
پاسخ: 
سلام
در مطلبی دیگر مشابه همین سوال را پیش تر مطرح کرده بودید که به آن پاسخ داده شد:
PHP یک زبان سمت سرور است و قادر به انجام چنین کاری نیست! یا باید از HTML به شیوه معمول استفاده کنید، یا از تکنیک های مبتنی بر جاوا اسکریپت، CSS و ...
مثال:
<a href="javascript:document.FormName.submit();">ارسال فرم</a>
استفاده از CSS برای مخفی کردن دکمه submit:
<input type="submit" style="position:absolute; left:-10000px; width:5px; height:5px;">
نویسنده: mahdi
زمان: ۰۱:۴۶:۵۳ - تاریخ: ۱۳۹۲/۰۵/۰۶
سلام من کدتون رو توی سایتم گذاشتم و علیرغم اینکه گفتید اصلاح شده ولی فقط صفحه رفرش میشه و حذف نمیشه. ممنون میشم اگه راهنماییم کنید. از آموزشهای بسیار خوبتون هم ممنونم
پاسخ: 
سلام
اصلاح کد به جهت چند علامت \ بود که در هنگام انتشار مطلب جا افتاده بود (لذا کد خطای syntax داشت)، در حال حاضر برنامه مشکلی ندارد، باید ببینید دلیل عمل نکردن دستورات داخل شرط if چیست، ممکن است پرس و جوی حذف شما صحیح تنظیم نشده باشد و در نتیجه چیزی از دیتابیس حذف نشود، یا مقادیر id به درستی در قسمت value فرم HTML برای input checkbox خروجی داده نشده باشد (در نتیجه شماره id صحیح به کد ارسال نمی شود و متعاقب آن چیزی هم حذف نمی شود)، برای اطمینان موارد پیش فرض همین آموزش را از ابتدا در لوکال هاست امتحان نمائید.
نکته: برای خطایابی ابتدا سورس قسمت HTML را بررسی و از پر بودن مقادیر value با شماره id اطمینان حاصل کنید، همچنین در کدهای PHP با استفاده از دستور print_r می توانید مقادیر موجود در متغیر checkbox را مشاهده کنید، مثال:
print_r($checkbox);
نویسنده: mahdi
زمان: ۰۲:۳۱:۱۷ - تاریخ: ۱۳۹۲/۰۵/۰۷
ممنون از راهنماییتون مفید بود. میشه در این موردم کمکم کنید: وقتی رکورد ها از دیتابیس حذف میشن و من یه رکورد جدید ایجاد می کنم شمارشون نا مرتبه مثلا من 5 تا رکورد داشتم. پنجمی رو حذف کردم وقتی یکی دیگه ایجاد می کنم شماره ای دی اینجوری میشه:
1 2 3 4 6
راستی تو این آموزش اگه بخوایم از کاربر بپرسیم واسه حذف مطمئنه اسکریپتش رو چجوری بنویسم که بازم کد عمل کنه. ممنون از توجهتون
پاسخ: 
در مورد سوال اول:
این بستگی به نوع id جدول مورد نظر دارد، اگر شماره id به صورت افزایش خودکار (AUTO_INCREMENT) باشد، این حالت طبیعی است و نمی توانید تغییرش دهید، اگر نیاز به تغییر دارید، باید یک ستون عادی (AUTO_INCREMENT نباشد) بسازید و با کدهای خود مقادیر آنها را پس از فعل و انفعالات به صورت دلخواه به روزرسانی نمائید.
در مورد سوال دوم:
ساده ترین راه استفاده از تابع confirm در جاوا اسکریپت است، مثال:
<a href="#" onclick="confirm('آیا از حذف این اطلاعات مطمئن هستید؟');">حذف</a>
این تابع را مطابق الگو به لینک حذف خود اضافه کنید.
نویسنده: مریم
زمان: ۱۷:۳۸:۲۷ - تاریخ: ۱۳۹۲/۰۵/۱۴
سلام. یه سوال داشتم. فرضا ما یه جدول داریم که هر بار که یه صفحه خاص از سایت باز میشه. یک ردیف (سطر) از طریق دستور insert توش ایجاد می کنیم.
حالا چطور میشه کدی نوشت که فرضا داخل جدول بیشتر از 200 سطر نداشته باشیم. و با اضافه شدن سطر جدید ( سطر 201 ) اولین سطر ( سطر 1 ) به صورت خودکار حذف بشه؟
یا اینکه مثلا داخل جدول 1000 سطر داریم حالا چطور باید کدی رو نوشت که با اجرای اون فرضا 800 تای اول حذف بشه.
ممنون.
پاسخ: 
سلام
برای حالت اول می توانید با استفاده از ASC مقدار اولین id یا هر ستون یکتایی را به دست آورید و از آن در یک دستور DELETE استفاده نمائید:
$query = mysql_query("SELECT id FROM tbl ORDER BY id ASC LIMIT 1");
while($row = mysql_fetch_array($query)){
$id = $row['id'];
}
$delete = mysql_query("DELETE FROM tbl WHERE id = '$id' LIMIT 1");
برای حالت دوم هم کافی است در DELETE با LIMIT محدودیت ایجاد کنید:
DELETE FROM tbl LIMIT 800
نویسنده: مریم
زمان: ۰۸:۵۵:۰۳ - تاریخ: ۱۳۹۲/۰۵/۱۵
ممنون که پاسخ دادین.
نویسنده: abbas
زمان: ۰۲:۴۰:۵۷ - تاریخ: ۱۳۹۲/۰۵/۱۸
دوست عزیز سلام یه سوال داشتم من تمام قسمت های ساخت یک فرم ثبت نام رو بلدم البته با دریم ویور فقط تنها قسمتی رو که بلد نیستم با اون نرم افزار درست کنم بخش دیلیت است فقط یه خواهشی دارم لطف کردید من این آموزش رو خوندم و تست هم کردم خوب کار کرد اما می خواستم از شما استاد عزیز خواهش کنم همین بخش رو با نرم افزار ادوب دیریم ویور توضیح بدید که چطور درست میشه چون استفاده از کد های شما هم یک نوع کپی است شاید راضی نباشید ....
کوچیک شما عباس
وبسایت آموزشی تخصصی کیوکوشین کاراته ایران
www.kyokushins.ir
اوس
پاسخ: 
سلام
بخش کدنویسی PHP و اینکه از چه نرم افزاری برای نوشتن کدها یا مدیریت فایل ها استفاده کنید، دو مقوله جدا هستند، به عبارت دیگر مهم نیست که از دریم ویور برای نوشتن کدها استفاده می کنید یا از نرم افزاری دیگر، در نهایت کدها باید در قالب فایل های PHP در سرور یا در لوکال هاست ذخیره شوند، لذا با این تفاسیر آموزش جداگانه ای برای دریم ویور نمی توان ارائه کرد، کد را کپی کنید و در یک فایل PHP قرار دهید و در نهایت در سرور یا در لوکال هاست اجرا کنید!
از نظر کپی برداری، استفاده شخصی از کدها حتی اگر کپی مستقیم و بدون تغییر باشد هیچ اشکالی ندارد.
اوس
paged صفحه 1 از 4




more لطفا دقت کنید که یادداشت های زیر منتشر نشده و حذف خواهند شد:
- یادداشت های خارج از موضوع این مطلب.
- سوالات کلی، غیر ضروری و مشکلاتی که هیچ تلاشی برای رفع آن نکرده باشید.
- نظرات حاوی کدها و اسکریپت های خیلی طولانی (به طور مثال کد کامل قالب وبلاگ).

6 × 8
 refresh
آگهی
seonab.com
طراحی نرم افزار اندروید
رنگین کمان عکس
Ranginkamaan.com

آرشیو عکس های باکیفیت با موضوعات متنوع...