article

استفاده از WHERE در پرس و جوی MySQL

mysql-where

در حالت اولیه و بدون وجود پارامترهای محدود کننده معمولا دستور SELECT FROM تمام ردیف ها را به عنوان نتیجه پرس و جو از جدول برمی گرداند که ممکن است مورد انتظارمان نباشد و مدت زمان زیادی نیز صرف اجرای فرآیند پرس و جو خواهد شد که در دنیای برنامه نویسی حالت بهینه نیست، به عنوان مثال اگر لیست اسامی ده هزار نفر را در دیتابیس خود به صورت نام، نام خانوادگی و سن داشته باشیم و بخواهیم به فرض تنها افرادی که اسم آنها بهرام است در خروجی انتخاب شوند باید از دستور دیگری تحت عنوان WHERE و پارامترهای آن جهت تکمیل دستور SELECT استفاده کنیم، دستور WHERE در واقع نشانی دقیق ستون و ردیف هایی که ما از MySQL پرس و جو می کنیم را مشخص می کند و از این جهت در کدنویسی PHP در ارتباط با پایگاه داده MySQL اهمیت و کاربرد زیادی دارد.

آموزش در حال بازبینی و ویرایش است...

استفاده از WHERE در دستور SELECT FROM


برای اینکه صرفا ردیف یا ردیف های خاصی به عنوان نتیجه جستجو انتخاب شوند باید از پارامترهای اضافه در پرس جوی SELECT استفاده کنیم، یکی از پرکاربردترین این پارامترها دستور WHERE است که خود قیدهای دیگری دارد (به طور مثال استفاده از عملگر مقایسه شامل < = > یا استفاده از عبارت LIKE).
در مثال های زیر با استفاده از WHERE و افزودن قیدهایی به آن اطلاعات دقیق تری از پایگاه داده انتخاب می کنیم.
انتخاب ردیف ها از جدول با عملگر = (مساوی):
$query = mysqli_query($conn, "SELECT * FROM table WHERE col = 'word'");
این نمونه پرس و جو تمام ردیف ها را از جدول فرضی table در جایی که مقدار ستون فرضی col برابر با عبارت word باشد، انتخاب می کند.
انتخاب ردیف ها از جدول با عملگر < > (بزرگتر، کوچکتر):
$query = mysqli_query($conn, "SELECT * FROM table WHERE col > 50");
این نمونه پرس و جو تمام ردیف ها را از جدول فرضی table در جایی که مقدار ستون فرضی col بزرگتر از 50 باشد، انتخاب می کند.
انتخاب ردیف ها از جدول با دستور LIKE (شباهت):
$query = mysqli_query($conn, "SELECT * FROM table WHERE col LIKE 'word%'");
این نمونه پرس و جو تمام ردیف ها را از جدول فرضی table در جایی که مقدار ستون فرضی col با عبارت word شروع شده باشد، انتخاب می کند.

استفاده از عملگرهای < = > در دستور WHERE


همان طور که اشاره شد عبارت WHERE در دستور SELECT FROM تعیین کننده منظور دقیق ما در انتخاب ردیف های اطلاعاتی از پایگاه داده است، درست مثل اینکه در کتابخانه به کتابدار بگوییم ازمیان قفسه های موجود، بخش تاریخ، کتاب تاریخ جهان، انتشارات فلان را بیاورد، مشابه دنیای واقعی در نوشتن پرس و جوهای MySQL نیز تمام جزئیات درخواست ما باید با عباراتی بیان شوند که این کار با پارامترهای WHERE صورت می گیرد، یکی از این پارامترها عملگرهای بزرگتر، کوچکتر و مساوی (< = >) هستند، با کمک این عملگرها می توانیم از دیتابیس اعضای سایت ردیف هایی را انتخاب کنیم که به فرض سن کاربر از 25 سال بیشتر باشد، در نمونه پرس و جوی زیر از جدول فرضی users با مقایسه ستون age نام کاربرانی که سن آنها از 25 سال بیشتر است را انتخاب می کنیم:
$query = mysqli_query($conn, "SELECT name FROM users WHERE age > 25");
در واقع عبارت بالا به این معنی است: از جدول فرضی users ستون name، تنها ردیف هایی را انتخاب کن که مقادیر سن در ستون age بزرگتر از 25 باشد.
مشابه همین کار در مثال زیر این بار با علامت نا مساوی (=!) انجام شده است:
$query = mysqli_query($conn, "SELECT name FROM users WHERE age != 25");
در واقع عبارت بالا به این معنی است: از جدول فرضی users ستون name، تنها ردیف هایی را انتخاب کن که مقادیر سن در ستون age برابر با 25 نباشد.
نکته: به خاطر داشته باشیم عملگرهای بزرگتر و کوچکتر تنها در مقایسه ستون های از نوع عددی کاربرد دارند و بهتر است نوع داده ها به صورت INT (عددی) باشد، اما از علامت مساوی و نامساوی هم برای ستون های با مقدار عددی و هم برای ستون های با مقادیر رشته ای (متنی) می توانیم استفاده کنیم.

استفاده از LIKE در دستور WHERE


استفاده از عملگرهای بزرگتر، کوچکتر و مساوی در دستور WHERE به تنهایی تمام خواسته های ما را در ارتباط با پایگاه داده پوشش نمی دهد، فرض کنیم اسامی کاربران سایت جهت نمونه به صورت زیر در جدول دیتابیس ذخیره شده است.
Arash
Behdad
Behzad
Arman
Sasan
Sajad
Armin
اگر بخواهیم کاربرانی را که دو حرف اول نام آنها با حروف A و R شروع شده است را انتخاب کنیم با عملگرهایی که پیشتر گفتیم ممکن نیست، این عملگرها عدد یا مقدار رشته ای را بدون انعطاف پذیری مقایسه می کنند به طور مثال با عملگر مساوی تنها می توانیم بنویسیم:
$query = mysqli_query($conn, "SELECT * FROM table WHERE name = 'Arman'");
این دستور فقط ردیف یا ردیف هایی که مقادیر ستون نام در آنها Arman باشد را انتخاب می کند اما با استفاده از قابلیتی دیگر در دستور WHERE مشکل قابل حل است، این قابلیت استفاده از دستور LIKE و علامت % (percent wildcard) است که در مثال زیر با کاربرد آنها بیشتر آشنا می شویم.
$query = mysqli_query($conn, "SELECT * FROM table WHERE name LIKE 'Ar%'");
زمانی که پس از دو حرف Ar علامت % را قرار می دهیم در واقع به MySQL می گوییم که فقط دو حرف اول برایمان اهمیت دارد و بقیه عبارت هر چیزی می تواند باشد، دستور بالا ردیف های مربوط به اسامی زیر را به عنوان نتیجه پرس و جو انتخاب می کند:
Arash
Arman
Armin
حال تصور کنیم کاربری با نام فرضی PHPArmin نیز در لیست کاربران سایت حضور دارد، دستور بالا این کاربر را انتخاب نمی کند چرا که عبارت PHPArmin با حروف Ar شروع نشده است، اما تغییر پرس و جو به صورت نمونه زیر شامل این نوع اسامی نیز خواهد شد:
$query = mysqli_query($conn, "SELECT * FROM table WHERE name LIKE '%Ar%'");
در واقع با افزودن یک % در ابتدا و انتهای عبارت پرس و جو، MySQL چنین برداشت می کند که تنها برایمان وجود عبارت Ar در بین نام کاربری مهم است و ابتدا یا انتهای رشته نادیده گرفته می شود، به این صورت می توان گفت:
علامت % (percent wildcard) اگر در ابتدا قرار گیرد حروف ماقبل و اگر در انتها قرار گیرد حروف مابعد عبارت مورد پرس و جو نادیده گرفته می شود.
ذکر این نکته ضروری است که در کار با دستور LIKE و علامت % باید به بحث سرعت اجرای پرس و جو و انتخاب حداقلی ردیف ها دقت کنیم و دامنه انتخاب ردیف ها را بیش از حد مورد انتظار توسعه ندهیم، برای اعداد نیز بهتر است از عملگرهای < = > به جای LIKE استفاده کنیم.
sectionدسته بندی: آموزش مقدماتی » MySQL
related مطالب بیشتر:
» ساخت دیتابیس، جدول و ستون با دستور CREATE در MySQL
» انتخاب ردیف ها با دستور SELECT در MySQL
» به روز رسانی ردیف ها در MySQL با UPDATE
» نحوه ذخیره کردن اطلاعات با دستور INSERT در MySQL
» حذف مقادیر از MySQL با دستور DELETE
commentنظرات (۲۷ یادداشت برای این مطلب ارسال شده است)
more یادداشت های جدید بر اساس تاریخ ارسال در انتهای یادداشت های موجود نمایش داده می شوند.
نویسنده: reza
زمان: ۱۹:۳۶:۰۱ - تاریخ: ۱۳۹۱/۰۹/۲۲
سلام.
ببخشید من از دستور select option و از method POST استفاده کردم.
می خواستم بپرسم که چطوری می تونم با انتخاب هر کدوم از گزینه هایی که وجود داره همون لحظه مقدار دستور option را بدست بیارم.
الان با انتخاب یکی از مقادیر option و فشار دادن یک دکمه این کار رو می کنم.
پاسخ: 
سلام
برای این گونه موارد و ارسال هم زمان اطلاعات باید از آژاکس (Ajax) و جاوا اسکریپت استفاده کنید، یک مثال:
ajax-select-option.php
در این مثال نیز از متد POST استفاده کرده ایم.
نویسنده: ابوالفضل
زمان: ۱۱:۴۱:۳۹ - تاریخ: ۱۳۹۲/۰۴/۰۵
سلام ممنون از سایت عالیتون
من در سایتم شماره تلفن همراه کاربران را دریافت می کنم می خوام در صورتی که شماره تلفن همراه کاربر ایرانسل است یک پیام نشان دهم مثلا شما از اپراتور ایرانسل استفاده می نمایید و اگر همراه اول هست یک پیام دیگر نمایش دهم مثلا شما از اپراتور همراه اول استفاده می نمایید و اگر هیچ کدام نبود پیام اپراتور تلفن همراه شما توسط ما پشتیبانی نمی شود را نمایش دهد
ممنون می شم در این زمینه منو راهنمایی بفرمایید
پاسخ: 
سلام
هرچند پاسخ به سوال شما نیازمند داشتن اطلاعات بیشتری از کدها، نوع و فرم شماره ها و اطلاعات ذخیره شده در دیتابیس است، اما با فرض شروع اعداد به صورت 0935، 0912 و... می توان از نمونه کد زیر استفاده کرد (این تنها یکی از روش ها است):
<?php
function CheckOperator($num){
//حذف +98
$num = str_replace('+98', NULL, $num);

//دریافت سه رقم اول
$num_3 = substr($num, 0, 3);
//بررسی
switch($num_3){
case '935':
case '936':
case '937':
return 'ایرانسل';
break;
case '911':
case '912':
case '913':
return 'همراه اول';
break;
}

//دریافت چهار رقم اول
$num_4 = substr($num, 0, 4);
//بررسی
switch($num_4){
case '0935':
case '0936':
case '0937':
return 'ایرانسل';
break;
case '0911':
case '0912':
case '0913':
return 'همراه اول';
break;
}

return 'اپراتور پشتیانی نمی شود!';
}
echo CheckOperator('+98935*******');
//echo CheckOperator('0935*******');
?>
نویسنده: shahin
زمان: ۲۰:۵۰:۴۸ - تاریخ: ۱۳۹۲/۰۴/۳۰
سلام
من یه جدول به نام test دارم میخوام فیلدهای ان را نمایش بدم به شرط انکه که فیلد کلید اصلی ان که در جدول دیگه کلید خارجی مقدارش نباشد
یعنی در جدول test فیلد idtest مقدارش در جدول it و در فیلد idtest نباشد با همچین شرطی برام نمایش داده بشن
این هم کد sql ان شرطش رو چی بزارم ممنون میشم کمکم کنید؟؟؟؟؟
$sql="select test.idtest,test.day,test.time,test.date From test
Inner join it
On test.idtest=it.idtest
where
پاسخ: 
سلام
نیازی به تنظیم قسمت WHERE نیست، در قسمت ON به جای علامت = از =! استفاده کنید:
SELECT test.idtest, test.day, test.time, test.date
FROM test
INNER JOIN it ON test.idtest != it.idtest
راه حل استفاده از LEFT JOIN:
SELECT test.idtest, test.day, test.time, test.date
FROM test
LEFT JOIN it ON test.idtest = it.idtest
WHERE it.idtest IS NULL
و همچنین راه حل معمولی:
SELECT *
FROM test
WHERE NOT
EXISTS (
SELECT idtest
FROM it
WHERE test.idtest = it.idtest
)
نویسنده: shahin
زمان: ۰۰:۱۱:۵۰ - تاریخ: ۱۳۹۲/۰۴/۳۱
ممنون جواب این سوالم و گرفتم الان اگر بخوام تمام فیلد های دو جدولم نمایش بدم چطور جدول test جدول it ؟؟؟
"select test.idtest,test.day,test.time,test.date,it.idb,it.name,it.tel,it.bime,it.idtest from test
inner join it
پاسخ: 
قاعدتا دستوراتی که در پاسخ قبل نوشتیم کاربرد خواهند داشت، کافی است در قسمت SELECT به همین صورتی که در سوال مطرح کردید، ستون های هر دو جدول را انتخاب کنید (تست نشده)، اگر راه حل درست نبود، از نمونه زیر استفاده کنید:
SELECT tbl_1.name, tbl_2.name
FROM `tbl_1`
LEFT JOIN `tbl_2` on tbl_1.id = tbl_2.id
UNION
SELECT tbl_1.name, tbl_2.name
FROM `tbl_1`
RIGHT JOIN `tbl_2` on tbl_1.id = tbl_2.id;
این کد را با توجه به پاسخ قبل می توانید ویرایش کنید.
نویسنده: shahin
زمان: ۲۲:۲۵:۳۳ - تاریخ: ۱۳۹۲/۰۴/۳۱
ببخشید من در جدول اولم فیلد idtest را به عنوان کلید اصلی تعریف کردم
و در جدول دوم این فیلد idtest را به عنوان کلید خارجی است و در جدول دوم کلید idb را کلید اصلی تعریف کردم
در محیط phpmyadmin در جدول دوم باید هر دو فیلد را به عنوان کلید در نظر بگیرم؟؟
پاسخ: 
خیر، تفاوتی ندارد که ستون دارای ویژگی primary key باشد یا خیر (کاربرد این ویژگی برای جلوگیری از ایجاد مقادیر تکراری در یک جدول است)، مهم هدف از پرس و جو و ساختار جدول است، به طور مثال زمانی لازم است که از ستون primary key استفاده شود، زمانی هم ممکن است از مقادیر ستون دیگر برای بررسی استفاده کنیم.
نویسنده: مصطفی
زمان: ۰۱:۴۸:۲۴ - تاریخ: ۱۳۹۲/۰۷/۲۴
ممنون از مطبتون
چطور میشه نتیجه ی یه ستون رو از حاصل جمع دو ستون دیگه بدست اورد یعنی حاصل اون دو ستون در یک ستون دیگه قرار بگیره
پاسخ: 
انجام این کار به راحتی امکانپذیر است، نمونه کد:
UPDATE `table_name` SET col_3 = col_1 + col_2
نویسنده: خلیل
زمان: ۱۴:۰۵:۱۳ - تاریخ: ۱۳۹۲/۰۷/۳۰
ممنون از راهنمایی هایی که می کنین و مطالبتون استاد .
نویسنده: مجید
زمان: ۱۰:۰۳:۴۶ - تاریخ: ۱۳۹۲/۰۸/۳۰
سلام من می خوام در پایگاه داده چنین شرطی تعریف کنم ولی نمی دونم چطور باید بنویسم مثلا اگه مقدار x در جدول a مساوی با 1 بود مقدار y در جدول b برابر 2 شود و یه سوال دیگه اینکه چطور می تونیم به شرط های تعریف شده دسترسی داشته باشیم یا تغییرشون بدیم. ممنون
پاسخ: 
سلام
در مورد قسمت اول سوال، می توانید از نمونه پرس و جوی زیر استفاده کنید:
UPDATE tbl_1 INNER JOIN tbl_2 ON tbl_1.id = tbl_2.id SET tbl_1.col_1 = '2' WHERE tbl_2.col_1 = '1'
اما در مورد بخش دوم؛ منظورتان از دسترسی مشخص نیست، برای تغییر هم باید با نحوه نوشتن پرس و جوهای ترکیبی با JOIN و مشتقات آن در MySQL آشنا باشید.
نویسنده: مجید
زمان: ۰۳:۰۱:۵۲ - تاریخ: ۱۳۹۲/۰۹/۰۵
اقا ممنون خیلی به کارم اومد فقط یه مشکل کوچیک داشتم اگه این شرط مربوط به یک جدول باشه چطور باید نوشت مثلا اگر مقدار x در جدول a برابر 1 باشه مقدار y در همان جدول برابره با 2 قرار بگیره. باز هم ممنون
پاسخ: 
می توانید از پارامتر WHERE استفاده کنید، نمونه:
UPDATE tbl SET col_1 = '2' WHERE col_2 = '1'
نویسنده: مجید
زمان: ۱۳:۱۴:۱۱ - تاریخ: ۱۳۹۲/۰۹/۰۷
ببخشید منظورم برا زمانی هست که ما یه شرط تعریف کردیم و یه جدول داریم با id های مختلف حالا می خوایم اون شرط روی تمام این id ها در صورت برقرار بودن اجرا بشه برای مثال اگه مقدار x برای id مشخص برابر 1 بود مقدار y برای همان id برابر 2 قرار بگیره و این عمل برای تمام id های موجود در جدول صورت بگیره
پاسخ: 
برای این حالت بهتر است یک پرس و جو با دستور SELECT در ابتدا اجرا، سپس در حلقه while دستور UPDATE را مطابق با نیازتان تعریف نمائید.
نویسنده: مجید
زمان: ۱۶:۱۳:۰۶ - تاریخ: ۱۳۹۳/۰۱/۲۰
سلام من از این روش برای طی کردن تمام سطرهای جدول استفاده می کنم اگه ایرادی داره یا روش ساده تری وجود داره لطفا بگید من مطمئن نیستم
begin
declare i,min,max int;
set min=0;
set max=1;
select count(user) from table into i;
while i>=max do
//mycode
set min=min+1;
set max=max+1;
end while;
end
پاسخ: 
سلام
دوست گرامی آموزش در رابطه با MySQL است، اما کدهای شما ظاهرا مربوط به دیتابیس Oracle Java است!
لطفا به وبسایت های مرتبط مراجعه کنید.
نویسنده: حسین
زمان: ۲۳:۱۱:۱۱ - تاریخ: ۱۳۹۳/۰۲/۱۱
سلام. ممنون از سایت خوبتون.سوالی داشتم.
من اطلاعاتی رو در بانک اطلاعاتی به این صورت ذخیره می کنم:
INSERT INTO rating VALUES('','".$uid."','".$page."','".$vote."','".$stars."','".$ip."',NULL)")
حالا میخوام با انتخاب آدرس صفحه، تمام اطلاعاتی رو که از این صفحه در متغیر vote (امتیاز کاربر) ذخیره شده رو جمع کنم.
این برنامه، بصورت امیتازدهی ستاره ای هست و مثلا یک نفر 5 رو میده یا یه نفر 3. میخوام همه اینا رو جمع کنم.
واقعا لطفا دارید. کمکم می کنید؟؟؟
پاسخ: 
سلام
دقیقا متوجه سوالتان نشدیم! اما به نظر با نوشتن یک دستور SELECT و انتخاب ستون vote می توانید در یک حلقه while با علامت =+ متغیر را با مقدار هر ستون در هر دور افزایش دهید تا در نهایت مقدار کل بدست بیاید.
نویسنده: سامان
زمان: ۱۶:۲۲:۱۳ - تاریخ: ۱۳۹۳/۰۶/۱۷
سلام
ایا اولویت شرط ها در بخش where تاثیری بر سرعت داره؟ برای مثال من در بخش where از 3 شرط استفاده کردم شرط اول 100 سطر رو انتخاب میکنه و شرط دوم از بین این 100 تا 40 تا رو انتخاب میکنه و شرط سوم از بین این 40 تا 10 تا رو انتخاب میکنه در صورتی که اگه شرط ها رو برعکس میذاشتم ممکن بود اول 600 سطر رو انتخاب کنه و بعد 300 سطر و بعد 10 سطر مورد نظر. ایا روش اول سریعتر از روش دومه؟
پاسخ: 
سلام
سرعت اجرای پرس و جو در شرایطی می تواند ارتباط به پس و پیش بودن شرط ها داشته باشد، به طور مثال زمانی که از OR بین آنها استفاده شده باشد و در نهایت تعداد کل ردیف های انتخاب شده (دقت کنید: ردیف ها زمانی انتخاب می شوند که شرط برقرار باشد) در پایان اجرای پرس و جو مهم است.
نکته: سرعت پردازش دستورات به موارد دیگری (از جمله تعداد و حجم کاراکتر، نوع ستون داده ها و...) نیز بستگی دارد.
نویسنده: رضا اخلاقی
زمان: ۱۸:۲۹:۳۲ - تاریخ: ۱۳۹۳/۰۹/۰۴
با سلام و عرض ادب
سوالی در رابطه با این موضوع داشتم.
چگونه می توان از WHERE استفاده نمود زمانی که اطلاعات دیتابیس با حروف فارسی ذخیره شده است برای حروف انگلیسی مشکلی ندارم.
با تشکر
پاسخ: 
سلام
دستور WHERE به خودی خود فرقی بین زبان انگلیسی و فارسی ندارد! باید سایر مواردی که جهت کار با اطلاعات زبان فارسی نیاز است رعایت کنید، در مجموع برای اینکه مشکلی از لحاظ ذخیره و نمایش حروف فارسی در دیتابیس نداشته باشید باید تمام مراحل زیر را به صورت صحیح انجام دهید:
در درجه اول باید Server connection collation دیتابیس را
utf8_persian_ci
انتخاب کنید، سپس مراحل زیر را انجام دهید:
- از متاتگ زیر در تمام صفحات استفاده کنید:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- علاوه بر دیتابیس، جداول و ستون ها را نیز با یونیکد
utf8_persian_ci
بسازید.
- پس از اتصال با دیتابیس، پرس و جوی زیر را هم اجرا کنید:
mysql_query ("SET NAMES 'utf8' ");
- اگر مشکل همچنان حل نشد، فایل های خود را با ویرایشگر ++Notepad باز کرده و سپس از قسمت Encoding گزینه Encoding UTF-8 without BOM را انتخاب و فایل خود را مجددا ذخیره نمائید.
نویسنده: هادی
زمان: ۱۷:۴۴:۳۱ - تاریخ: ۱۳۹۵/۰۱/۱۸
سلام به ادمین عزیز و کاربران سایت
دوتا سوال برام پیش اومده :
1- یک جدول داریم که بطور مثال فیلدهای userId , productId , userStatus , productStatus رو داره. میشه در این کوئری
select count(userId),count(productId) from tblTest where 
چطور دوتا شرط بنویسیم که برای count(userId) چک کنه userStatus!=0 و برای count(productId) مقدار productStatus!=0 رو چک کنه؟
2- یک جدول فروش داریم که ممکنه هر نوع محصول به چند نفر فروخته شده باشه و می خواهیم به ترتیب 10 محصول پرفروش را انتخاب کنیم کوئری اون به چه صورتی هست؟ لطفا یک روش بهینه ارائه کنید.
ممنون از سایت خوبتون
پاسخ: 
برای سوال اول و نوشتن دو شرط در یک کوئری می توانید به شیوه نمونه زیر عمل کنید:
SELECT COUNT(userId) AS count FROM tbl WHERE userStatus != 0 
UNION ALL
SELECT COUNT(productId) AS count FROM tbl WHERE productStatus != 0
در مورد بخش دوم سوال، ساختار دیتابیس شما مشخص نیست، با این حال با فرض اینکه id هر محصول در لیست فروش وجود داشته باشد، می توانید با دستور SELECT و GROUP BY و هچنین ASC و DESC این کار را انجام دهید، مثال:
SELECT id, COUNT(id) AS id_occurrence FROM tbl GROUP BY id ORDER BY id_occurrence DESC LIMIT 10
paged صفحه 1 از 2
more لطفا پیش از ارسال یادداشت نکات زیر را مد نظر داشته باشید:
- مواردی که به کلی خارج از موضوع این مطلب هستند را در فرم منوی "تماس با ما" مطرح و پاسخ را از طریق ایمیل دریافت کنید.
- به سوالات کلی، مبهم، غیرضروری و مشکلاتی که تلاشی برای رفع آن نکرده باشید پاسخ خاصی داده نخواهد شد.
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین قرار دهید تا امکان تست و بررسی وجود داشته باشد.
- تمام یادداشت ها بررسی و برای هر کاربر زمان مشخصی جهت پاسخگویی در نظر گرفته می شود، لذا از طرح سوالات متعدد در بازه زمانی کوتاه خودداری کنید.




2 × 1
 refresh
نکته:
با توجه به تاریخ نگارش آموزش های سایت و پیشرفت تکنولوژی های مرتبط با وب در سالیان اخیر، محتوای برخی از مطالب قدیمی ممکن است نیاز به ویرایش و به روزرسانی داشته باشند که این کار هم زمان با تهیه نسخه جدید «وبگو» به مرور در حال انجام است، لطفا در استفاده از مطالب سایت به این نکته دقت داشته و حتی المقدور از چند منبع مختلف استفاده نمائید.
آخرین دیدگاه ها
form مهسا
در:
سلام وقت بخیر من یک فرم طراحی کردم input ها به صورت دو ستونه گذاشتم. میخواستم با زدن تب از input اولی در...
۱۳:۰۱:۴۶ ۱۳۹۸/۰۶/۰۲

form behzad
در:
مرسی خوب بود
۱۲:۱۵:۱۴ ۱۳۹۸/۰۶/۰۲

form zeynab
در:
سلام یه سوال دارم برای اینکه بتونم رنگ رو ذخیره کنم تو جدولم در قسمت پایگاه داده چیکار باید کنم ؟؟ من...
۱۷:۰۶:۳۵ ۱۳۹۸/۰۵/۲۸

form علی
در:
سلام من میخوام تو صفحه html همچین طرحی رو بندازم میشه راهنماییم کنید (به صورت جداگانه یعنی هر کدوم توی یه صفحه) ***** ...
۱۶:۴۶:۳۶ ۱۳۹۸/۰۵/۲۷

form Zeynab
در:
سلام . وقت بخیر . من از کدهای htaccess برای سایت استفاده کردم . روی لوکال هاست مشکلی ندارم اجرا میشن . ...
۲۲:۴۲:۵۴ ۱۳۹۸/۰۵/۲۳

form bahman
در:
عالی
۲۲:۱۵:۵۰ ۱۳۹۸/۰۵/۲۳

form Abbas rahmati
در:
سلام همه چی توی قسمت اینکه اس اس ال چطور کار میکنه درست بود فقط اخرشو درست نگفتید
۱۴:۱۶:۴۰ ۱۳۹۸/۰۵/۲۳

form مهدی فراهانی
در:
در آکولاد if، می خواهم پس از صحت پرداخت کاربر، کاربر به یک صفحه html برای دانلود فایل لینک شود. چه دستوری در حلقه if...
۱۲:۰۸:۳۲ ۱۳۹۸/۰۵/۲۳

form احسایدر
در:
شما از چه روشی برای لینک دادن به قسمت‌های نوشته استفاده کردید که با کلیک کردن چیزی به آدرس نوشته اضافه نمیشه؟
۱۸:۵۷:۰۵ ۱۳۹۸/۰۵/۲۲

form Mahyar
در:
سلام خسته نباشید اگه بخواهیم که یک pop up با کلیک به خارج از کادر pop up یا کلیک به روی دکمه esc...
۱۱:۴۸:۵۶ ۱۳۹۸/۰۵/۱۹

form بینهایت
در:
سلام. میخواستم بپرسم اگر به اینترنت جایی وصل باشیم کسی که ادرس IP رو میدونه ایا امکان داره از طریق همین اتصال به سیستم ما...
۱۰:۲۶:۱۵ ۱۳۹۸/۰۵/۱۵

form کیهان
در:
سلام دوستان من یک صفحه درست کردم که از طریق یک فرم اطلاعات رو میفرسته به این صفحه برای ذخیره در دیتابیس ولی...
۱۱:۰۰:۲۳ ۱۳۹۸/۰۵/۱۴

form مجتبی
در:
هر وقت این سایت رو می بینم سریع ازش رد میشم حالم از این سایت بهم میخوره هیچ طراحی جذابی نداره مطالبش هم بدرد نخوره
۰۹:۵۳:۴۹ ۱۳۹۸/۰۵/۱۴

form بهزاد
در:
سلام من وبلاگ درست کردم عمل هم کرده ولی الان اخطار میده که وبلاگ شما در وضعیت عدم نمایش قرار دارد. برای فعال سازیش چکار...
۱۷:۲۰:۳۷ ۱۳۹۸/۰۵/۱۳

form امیر
در:
مرسی مقاله بسیار عالی بود . فوق العاده این.
۱۰:۵۰:۳۵ ۱۳۹۸/۰۵/۰۹
49 . 1 %
در حال برنامه نویسی و آماده سازی نسخه جدید «وبگو» هستیم، در این نسخه قابلیت ها و ظاهر سایت متفاوت و کاملتر خواهد بود، این فرآیند زمانبر است و روند پیشرفت پروژه در این قسمت به صورت درصدی نمایش و به تناوب به روزرسانی می شود. Webgoo.ir