ساخت منو داینامیک در php بسیار آسان و کاربردی است . قبلا در مورد انواع فرم های HTML در مقاله دریافت اطلاعات فرم در php صحبت کردیم . در این میان ، لیست های کشویی که شامل مقادریری هستند که با تگ <select> برای دربر گرفتن هر مقدار <option> استفاده می شوند. و همچنین هنگام کار کردن با این فرم ها ، کاربر محدود به انتخاب یکی از گزینه های موجود در این تگ ها است .
تگ Option شامل یک مشخصه (attribute) به نام value برای مشخص کردن یک مقدار منحصر به فرد برای هر گزینه است در عین حال عنوان (caption) در بین دو تگ <option></option> قرار می گیرد . این منو کشویی می تواند به صورت استاتیک (ثابت) یا داینامیک بر اساس مقادیر دیتابیس یا .. ایجاد شود . پس آموزش ساخت منو داینامیک در php دنبال کنید. !
ساخت لیست کشویی با داده های استاتیک
برای اضافه کردن این مقادیر به صورت ثابت (static) ، هر گزینه از لیست کشویی باید به صورت hard coding (یعنی به صورت دستی در کدها) با تگ <option> عنوان گذاری و مقادیرشان مشخص گردد.
1 2 3 4 5 |
<select name="static_data"> <option value="1">One</option> <option value="2">Two</option> <option value="3">Three</option> </select> |
برای داشتن یک لیست محدود از گزینه ها ، این متد از ایجاد لیست کشویی با داده های استاتیک می تواند مفید باشد ، اما برای لیست بزرگی از داده ها ، این روش بسیار سخت و غیرمنطقی خواهد بود . پس ساخت منو داینامیک در php که در زیر توضیح دادیم ، کارآمدتر است .
ساخت منو داینامیک در php
برای بارگذاری داینامیک ، منبع آیتم ها باید از جایی مثل آرایه ها ، جداول دیتابیس و یا یک فایل خوانده شود . در در مقاله آموزش ساخت منو داینامیک در php ، قصد داریم چند مثال ساخت لیست کشویی از آرایه ها و از جداول دیتابیس را ببینیم.
ساخت منو داینامیک در php از یک آرایه
برای این منظور ، کد php زیر با یک آرایه که شامل داده هایی برای قرار گیری در هر یک از آیتم های لیست یا منوی کشویی شروع می شود . بعد نیاز داریم که هر کدام از خانه های این آرایه را با یک حلقه for خوانده و مقادیر را داخل یک تگ <option> چاپ کنیم .
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php $toy_cars = array("Pull Back Cars","Remote Cars", "Electric Cars", "Toy Race Cars","Lightening Cars"); $array_length = count($toy_cars); ?> <select name="dynamic_data"> <?php for ($i=0;$i<$array_length;$i++){ ?> <option value="<?=$toy_cars[$i];?>"><?=$toy_cars[$i];?></option> <?php } ?> </select> |
در کد php بالا آرایه $toy_cars برای ذخیره لیست دسته بندی ها استفاده شده است و همچنین طول آرایه با تابع count محاسبه و برای محدود کردن حلقه for استفاده شده است.
ساخت منو داینامیک در php از MySQL
خب اجازه بدید آموزش را با یک مثال دیگر برای خواندن اطلاعات یک جدول دیتابیس و نمایش آن به صورت لیست کشویی ادامه بدیم.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php $con = mysqli_connect("localhost","root","","netparaid_db"); $result = mysqli_query($con,"SELECT * FROM tblcountry"); ?> <select name="dynamic_data"> <?php $i=0; while($row = mysqli_fetch_array($result)) { ?> <option value="<?=$row["country_name"];?>"><?=$row["country_name"];?></option> <?php $i++; } ?> </select> |
قبل از اجرای کد php بالا ، اول نیاز داریم دیتابیس مورد نیاز را ساخته و لیست کشور ها را داخل آن برای نمایش در لیست کشویی قرار بدیدم (فرضی) . بعد از آن ، نیاز داریم که به دیتابیس متصل بشیم . بعد از آن ، با استفاده از دستور SQL یک آرایه از اطلاعات هر یک از سطرهای جدول tblcountry می سازیم.
اگر با نحوه کار و اتصال به دیتابیس با mysqli آشنا نیستید ، کلیک کنید
برای هر سطر ، این فرایند (حلقه while) تکرار خواهد شد .و یک تگ option با مقادیر fetch شده ازجدول به صورت داینامیک ایجاد می گردد . بعد از اجرای کد بالا ، لیست کشورها داخل یک لیست باکس کشویی ایجاد می شود.
امیدواریم از آموزش ساخت منو داینامیک در php لذت برده باشید . ساخت منو و لیست کشویی به صورت پویا در فرم ها بسیار کاربردی است و حتما در پروژه هایی که می نویسید به این مورد برخواهید خورد .
موفق باشید
سلام بسیار اموزش مفید و کاربردی بود
در خصوص ایجاد لیست دینامیک یه سوال از خدمتتان داشتم،اگر بخواهیم بعضی از گزینه ها disabled یا غیر فعال باشند چکار باید کرد
با سپاس
سلام. خوشحالیم که مفید واقع شده.
کلمه disabled رو به تگ option اضافه کنید
مهندس طول اون مستطیل که از توش انتخاب میکنیم رابطه مستقیم با بزرگ ترین نام هست
میشه طول پیشفرض به این مستطیل بدیم ؟؟
بله. با استایل css این طول رو قرار بدید مثلا ۷۰پیکسل یا اینکه درصدی تعیین کنید
ممنون
سلام من میخوام برای سایتم از عکس ها استفاده کنم اما نمیدونم چطور باید این کار رو بکنم
مثلا داخل دیتابیس لینک یک عکس رو ذخیره کنم و اون رو در سایت به نمایش بگذارم
میخوام تو سایت این طوری مطالب رو نشون بده :
==============================================
نام مطلب
عکس
متن
متن
عکس متن
===============================================
با تشکر از شما
سلام . برای خواندن اطلاعات از دیتابیس آموزش زیر را مطالعه کنید
https://netparadis.com/php-mysqli-crud
در بخش خواندن سطرها نحوه خواندن داده از دیتابیس را نمایش داده.
برای قرار دادن تصویر هم کافیه آدرس را به مقدار src در تگ img داخل کدهای HTML بدید.
موفق باشید.
سلام خسته نباشید…میشه کد من که فیلدها به صورت رادیو نشون داده میشه رو به سلکت لیست تبدیل کنید؟ با تشکر
پروژه *:
‘;
$projectslist=$project->GetList();
foreach ($projectslist as $projectname)
{
echo ‘
‘.$projectname[‘prjtitle’].’ (‘.$projectname[‘prjcode’].’)
‘;
}
سلام . ممنون. اینجا کدهای php است و رادیو یا سلکت بودن مربوط به html میشه و شما باید کدهای html رو مقدار type های input رو از radio به checkbox تغییر بدید.
موفق باشید.
سلام
میخواهم برای سایتم فهرست کشویی بگذارم می خواهم فهرست کشویی سایتم طوری باشد که وقتی ماوس رو آن رفت باز شود. لطفا راهنمایی کنید
ممنون
سلام . میتونید از آموزش ساخت منو کشویی jQuery استفاده کنید .
موفق باشید
سلام وعرض ادب
من واسه ی کلاسی که رفتم میخام فروشگاه آنلاین بزنم آموزش قدم به قدم میخام که رایگان باشه سراغ داری شما
ممنون میشم در اسرع فرصت جوابمو بدین سپاس گزارم
سلام . متاسفانه منبع فارسی که رایگان باشه و بتونه قدم به قدم آموزش ساخت فروشگاه اینترنتی رو با جزئیات و به صورت تصویری توضیح بده وجود نداره ولی منابع غیررایگان خیلی عالی وجود دارند که در صورت تمایل میتونم معرفی کنم تا با مبلغ بسیار پایین تر تهیه و استفاده کنید.
موفق باشید
لطف میفرمایید مبلغ بسیار پایین ولی با کیفیفت و سطح خوب اگه وجود داره بهم معرفی کنین…سپاسمندم
سلام . دقیقا متوجه منظورتونه نشدم . لطفا واضح تر بیان کنید .
ممنونم
برای سایتم یه سبد خرید کالا احتیاج دارم
از سبد هایی که هم اسکریپت و هم پی اچ پی استفاده شده
اگه سورس کد آماده داری بهم بدی ممنون میشم
سلام . از پست زیر میتوانید دانلود و استفاده کنید
http://netparadis.com/php-shopping-cart-ajax
مهندس یه دنیا تشکر
برا گزینه مرا به خاطر بسپار هم یکم گیرم
ممنون میشم اگ کمکم کنی
خواهش می کنم . اموزش افزودن مرا به خاطر بسپار به فرم لاگین در php رو هم در این پست قرار دادیم
http://netparadis.com/login-script-with-remember-me