article

نمایش نتایج پایگاه داده MySQL با PHP و ای جکس (Ajax)

ajax-code

همانطور که در بخش آموزش های مقدماتی ای جکس (Ajax) اشاره شد، یکی از کاربردهای استفاده از این تکنیک در صفحات وب رد و بدل کردن اطلاعات بین مرورگر و سرور بدون نیاز به رفرش صفحه است، به عبارتی تمام فعل و انفعالات در پس زمینه انجام شده و در سمت کاربر (مرورگر) تقریبا جزء نمایش نتایج اتفاق خاصی رخ نمی دهد و کاربر در حالت معمول متوجه چگونگی این فرآیند نیز نمی شود و می تواند به ادامه پیمایش صفحه بپردازد که به این حالت در اصطلاح درخواست غیرهمزمان (Asynchronous) یا هم روند می گویند، در این مطلب نیز کدی کاربردی را قرار داده ایم که به کمک آن می توانیم به صورت غیرهمزمان پس از انتخاب گزینه ای از لیست باز شونده، تابعی جاوا اسکریپتی را در رویداد onchange اجرا کرده و درخواست مبتنی بر Ajax را به فایل PHP ارسال نمائیم، سپس نتیجه را از این فایل یا با اتصال به پایگاه داده MySQL دریافت کرده و در سمت کاربر به هر صورت که مورد نیاز برنامه باشد نمایش دهیم.

کد HTML و ای جکس (Ajax) سمت کاربر


پیشتر در بخش آموزش های مقدماتی Ajax گفتیم که برای ارسال درخواست از صفحه مرورگر (سمت کاربر) به فایل PHP (سمت سرور) ابتدا نیاز به کدهای HTML، دستورات جاوا اسکریپت و متدهای Ajax است، هرچند درخواست Ajax را می توان به صورت مستقیم نیز تنظیم کرد اما کدهای HTML سمت کاربر معمولا شامل عناصری مانند تگ های زیرمجموعه فرم (select, input و...) یا لینک ها هستند که با انتخاب یک گزینه توسط کاربر، یک تابع در جاوا اسکریپت فراخوانی و با اجرای تابع درخواست بر بستر Ajax شکل گرفته و به سرور ارسال می شود، در زیر یک نمونه از این دستورات را درج کرده ایم که مربوط به تگ select و رویداد onchange است:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>وبگو | نمایش نتایج پرس و جو از دیتابیس با ای جکس</title>
<!-- Webgoo.ir -->
<script type="text/javascript">
function showList(str, id){
    var xmlHttp;
    if(str == ''){
        document.getElementById(id).innerHTML = '';
        return false;
    }
    if(window.XMLHttpRequest){
        //IE7+, Firefox, Chrome, Opera, Safari
        xmlHttp = new XMLHttpRequest();
    } else{
        //IE6, IE5
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    
    xmlHttp.onreadystatechange = function(){
        if(xmlHttp.readyState == 4){
            document.getElementById(id).innerHTML = xmlHttp.responseText;
        }
    }
    xmlHttp.open("GET", "getlist.php?q=" + str, true);
    xmlHttp.send();
}
</script>
<style type="text/css">
body{
    font-family: Tahoma, Geneva, sans-serif;
    font-size: 12px;
    direction: rtl;
}
</style>
</head>
<body>
<form action="">
<select name="list" onchange="showList(this.value, 'show-text')">
<option value="">انتخاب یک کاربر</option>
<option value="user_1">کاربر 1</option>
<option value="user_2">کاربر 2</option>
<option value="user_3">کاربر 3</option>
</select>
</form>
<br>
<div id="show-text">پس از انتخاب یک کاربر، اندکی صبر نمائید تا پاسخ از سرور دریافت شود.</div>
</body>
</html>
توضیح:
- برای شروع تابع showList را نوشته ایم تا درخواست های Ajax را از کاربر گرفته و توسط این تابع مدیریت کنیم.
- در فرم HTML و تگ select، با رویداد onchange مقادیر انتخابی کاربر به همراه آی دی بلاک div را به تابع showList ارسال می کنیم.
- متد getElementById عنصر HTML را بر اساس آی دی آن انتخاب می کند که در اینجا بلاک div با آی دی فرضی show-text به عنوان آرگیومنت به تابع و در نتیجه به این متد داده شده، در کنار این متد از متد innerHTML برای مقداردهی به بلاک هدف استفاده می کنیم.
- متغیری که در درخواست ما مقادیرش به سرور فرستاده می شود q نام دارد (=getlist.php?q)، متد استفاده شده نیز GET است که پیش از این در آموزش های مقدماتی Ajax در خصوص آن صحبت کرده ایم.

کد PHP و دستورات MySQL سمت سرور


پس از نوشتن کدهای HTML، دستورات جاوا اسکریپت و Ajax، فایلی با نام فرضی getlist.php ایجاد و کدنویسی مورد نظر جهت دریافت درخواست ارسال شده با متد GET را در آن تنظیم می نمائیم، این کد نویسی می تواند به صورت استاتیک و بدون پایگاه داده یا به صورت داینامیک و به همراه پرس جو از پایگاه داده MySQL باشد که این موضوع بستگی به هدف و نیاز برنامه ما دارد، در نمونه کدهای زیر هر دو صورت جهت راهنمایی بیشتر درج شده.
نمونه کد PHP بدون دیتابیس:
<?php
@$user = $_GET['q'];
if($user == 'user_1'){
    echo '<table width="200" border="1">
  <tr>
    <th>کاربر یک</th>
    <td>نام کاربر یک</td>
  </tr>
</table>'
;
}
elseif($user == 'user_2'){
    echo '<table width="200" border="1">
  <tr>
    <th>کاربر دو</th>
    <td>نام کاربر دو</td>
  </tr>
</table>'
;
}
elseif($user == 'user_3'){
    echo '<table width="200" border="1">
  <tr>
    <th>کاربر سه</th>
    <td>نام کاربر سه</td>
  </tr>
</table>'
;
}
?>
توضیح:
- در فایل getlist.php درخواست ارسال شده از سمت کاربر با متد GET را پردازش می کنیم.
- در اینجا صرفا به دلیل جنبه آموزشی و ساده تر شدن کدنویسی از دستورات شرطی استفاده شده، قاعدتا همین کد را می توانیم با دستور switch و case نیز بنویسیم.
نمونه کد PHP و استفاده از دستورات MySQL:
<?php
@$user = $_GET['user'];
$conn = mysqli_connect("localhost", "username", "password", "dbname");
if(!$conn){
    echo "Error!: " . mysqli_connect_errno() . ' - ' . mysqli_connect_error();
    exit;
} else{
    $user = mysqli_real_escape_string($conn, $user);
    $result = mysqli_query($conn, "SELECT id, name FROM users WHERE user = $user LIMIT 1");
    //Error
    if(!$result){
        echo 'MySQL Error: ' . mysqli_error($conn);
        die('بروز خطا در اجرای پرس و جوی MySQL');
    } //Ok
    else{
        while ($row = mysqli_fetch_assoc($result)){
            echo '<table width="200" border="1">
            <tr>
            <th>کاربر '
. $row['id'] . '</th>
            <td>نام کاربری '
. $row['name'] . '</td>
            </tr>
            </table>'
;
        }
    }
}
mysqli_close($conn);
?>
توضیح:
- در نمونه کد بالا از اکستنشن mysqli به شیوه کدنویسی معمولی (شکلی یا Procedural) استفاده کرده ایم.
- نام جدول و ستون ها فرضی و صرفا جهت نمونه است.
پیش نمایش
sectionدسته بندی: آموزش کاربردی » Ajax
related مطالب بیشتر:
» لیست داینامیک پیشنهاد کلمات، مبتنی بر ای جکس، PHP و MySQL
» ساخت قابلیت امتیازدهی با PHP و Ajax
» نمایش زنده آمار و اطلاعات با ای جکس (Ajax)
» اعتبار سنجی همزمان فرم با آژاکس (Ajax) و PHP
» نمایش داینامیک و صفحه به صفحه مطالب با ای جکس (Ajax)
commentنظرات (۳۶ یادداشت برای این مطلب ارسال شده است)
more یادداشت های جدید بر اساس تاریخ ارسال در انتهای یادداشت های موجود نمایش داده می شوند.
نویسنده: محمدسعید
۱۳:۴۰ ۱۳۹۲/۰۹/۲۴
با سلام
من خواستم از همین دو نمونه کد در سایتم استفاده کنم اما نشد
من ابتدا با کد دومی که دادین فایل getlist.php را ایجاد کردم
هم تو قالبم تست کردم و گذاشتم و هم توی public_html گذاشتم و تست کردم
و پس از آن کد اولی را در قالبم قرار دادم
وقتی در سایتم روی گزینه ها کلیک می کنم هیچ چیز نشان داده نمی شود و هیچ تغییری جز محو شدن جمله ی (پس از انتخاب یک کاربر، اندکی صبر نمائید...) نیز نمی بینم.
خیلی ممنون میشم راهنمایی کنید. باتشکر از سایت فوق العاده شما و عرض خسته نباشید
پاسخ: 
لطفا آدرس سایت یا صفحه مورد نظر را درج کنید، حل مشکل بدون بررسی سورس کدها امکانپذیر نیست!
نویسنده: حمید
۲۰:۴۶ ۱۳۹۲/۱۱/۱۷
سلام. خداقوت
یه سوال دارم اگر با استفاده از این روش اطلاعات رو از دیتابیس دریافت کنیم اگر کاربری جاوا اسکریپتش غیر فعال باشه اونوقت باید چی کار کرد. (مثلا در آخرین اخبار از این روش استفاده کنیم)
بعد یه سوال دیگه دارم این کار در اشغال شدن سرور یا تو سرعت سایت تاثیر نداره؟ (مثلا هر 3 دقیقه قسمت آخرین اخبار رفرش بشه و یا در انجمن ها)
شما این کار رو توصیه میکنید؟
پاسخ: 
قاعدتا امکاناتی که مبتنی بر جاوا اسکریپت هستند، با غیرفعال شدن آن از کار می افتند، البته این موضوع در حال حاضر مخصوص استفاده از Ajax نیست، تقریبا بیشتر امکانات سمت کاربر وبسایت ها مبتنی بر جاوا اسکریپت طراحی شده اند و لذا کاربری که این امکان را غیرفعال می کند از مزایای آن محروم می شود (می توانید با استفاده از تگ noscript یک پیام هشدار به کاربر نشان دهید).
در مورد اینکه استفاده از Ajax چه تاثیری بر عملکرد سرور دارد، بستگی به میزان پارامتر ارسالی و دریافتی و همچنین بازه زمانی درخواست ها دارد، درخواست آژاکسی نیز مانند یک درخواست معمولی است ،منتها ترافیک کمتری از سرور اشغال می کند، لذا برای موارد جزئی و در فواصل زمانی بیشتر از یک دقیقه معمولا اختلالی ایجاد نمی شود (البته باید سعی کنید یک توازن منطقی بین قدرت سرور و میزان درخواست ها ایجاد شود)، همچنین هر چه پردازش ها به دیتابیس کمتر وابسته باشند، سرعت بهتری خواهید داشت، اما در کل توصیه می کنیم در استفاده از Ajax صرفا به موارد ضروری بسنده شود، به طور مثال برای بخش اخبار اگر هم می خواهید رفرش صورت گیرد، بازه زمانی را بیش از 5 دقیقه در نظر بگیرید (باز بستگی به قدرت سرور و تعداد کاربران دارد).
نویسنده: حمید
۱۶:۰۱ ۱۳۹۲/۱۱/۱۸
به نظرم (نتیجه ای که گرفتم):
پس با این حساب. باید در قسمت آخرین اخبار یا انجمن ها
و ... . نباید از ایجکس استفاده کرد چون حسابی ترافیک و کم میکنه و همینطور سرور و اشغال.
دلیلشم اینه که مثلا شما فرض کنید روزی 100 کاربر بازدید داشته باشیم بعدم بقول شما هر 5 دقیقه یه درخواست صورت بگیرد منهای بقیه درخواستهای ارسال شده و دریافت شده در صفحه، خودش به تنهایی کلی از قسمتهای سرور رو به خودش اختصاص میده و اصلا کار مفیدی نیست. در ضمن من 3 دقیقه رو مثال زدم و زمان زیادیست چه برسه به 5 دقیقه. اگر قرار بیشتر از 30 ثانیه باشه دیگه خود کاربر صفحه و رفرش میکنه.
البته این نظر من. (تازه اگه زمان موندن کاربرها هم کمتر از نیم ساعت باشه بازم زیاده)
ممنون بابت پاسخ گوییتون.
نویسنده: امین
۱۳:۴۵ ۱۳۹۲/۱۱/۲۵
سلام خسته نباشید . تو درخواست های آژاکسی همیشه اسکرول میپره بالا . سرچ کردم اما با return false پیشنهاد داده شده بود یا این که اسکرول را برگردونیم پایین . اولی که کار نکرد ، برای همه ی توابع گذاشتم . دومی هم زیاد به نظرم جالب نیست . چی کار باید کرد ؟ :(
پاسخ: 
برای تغییر رفتار مرورگر چند راه وجود دارد:
- به جای علامت # از عبارت javascript:void استفاده کنید، به صورت نمونه زیر:
<a href="javascript:void(0)" onclick="function();">
- یا در انتهای فراخوانی تابع، عبارت return false را اضافه کنید:
<a href="#" onclick="function(); return false;">
- یا آی دی بلاک هر کاربر را به انتهای علامت # اضافه کنید:
<a href="#div-id" onclick="function();">
البته روش های بالا تفاوت هایی نیز با هم دارند، در روش اول در همه حال (چه جاوا اسکریپت فعال باشد یا خیر)، مرورگر موقعیت صفحه را تغییر نمی دهد، اما در روش دوم تنها زمانی موقعیت صفحه ثابت می ماند که جاوا اسکریپت در مرورگر کاربر فعال باشد و نهایتا در روش سوم مرورگر کاربر را به بلاکی که آی دی آن را مشخص کرده ایم هدایت می کند؛ در حالت عادی بهتر است روش اول را انتخاب کنید.
نویسنده: امین
۱۷:۳۳ ۱۳۹۲/۱۱/۲۵
خیلیی ممنون به نظر خودمم اولی عالیه . بسیار آموزش های خوبی دارید ممنون ^_^ مخصوصا این که از کتابخونه های آماده استفاده نمیکنین :پی راستی میشه بیشتر از خاصیت های dom و xml در javascript بگین . اموزش های خیلی خوب فارسی فکر نکنم داشته باشیم یا حداقل من ندیدم :پی بازم ممنون .
پاسخ: 
مباحث مورد نظر باید در خلال آموزش های مقدماتی سایت منتشر شوند که این فرایندی زمانبر است.
نویسنده: مجید
۱۸:۲۱ ۱۳۹۲/۱۱/۲۷
سلام و با تشکر از مطالبتون
میخواستم بدونم ایا راهی هست که تابع آژاکسی رو به یه تابع کوچکتر تبدیل کنیم که دیگه نیاز به نوشتن مراحل تکراریش نباشه چون من در اسکریپتم تعداد زیادی درخواست آژاکس دارم که میخواستم خلاصه اش کنم
پاسخ: 
بله، می توانید بخش مربوط به شی XMLHttpRequest را در یک تابع جداگانه بنویسید و هر جا نیاز بود، متغیر را با مقادیر برگردانده شده با تابع تنظیم کنید، مثال:
<script type="text/javascript">
//تابع برای ایجاد شی ای جکسی
function setAjaxRequest(){
if(window.XMLHttpRequest){
//IE7+, Firefox, Chrome, Opera, Safari
xmlHttp = new XMLHttpRequest();
}
else{
//IE6, IE5
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
return xmlHttp;

}
function sendAjaxRequest(){
//مقدار دهی متغیر با شی
var xmlHttp = setAjaxRequest();
xmlHttp.onreadystatechange = function(){
if (xmlHttp.readyState == 4){
document.getElementById("showtxt").innerHTML = xmlHttp.responseText;
}
}
xmlHttp.open("GET", "getlist.php?q=" + str, true);
xmlHttp.send();
}
</script>
نویسنده: میثم
۰۱:۵۹ ۱۳۹۳/۰۳/۱۶
سلام خسته نباشید.
سوال:
فرضا ما صفحه ای داریم که توش دو تا جدول div داریم
صفحه php دیگری هم داریم که کار بررسی رو انجام میده
تغییرات و چاپ نتایج در فایل php در xmlhttp.respponseText
قرار میگیرن که ما بعدا توسط
document.getElementById(div1).innerHTML = xmlHttp.responseText; 
اون را داخل div1 قرار میدم
کل نتایج داخل div1 قرار میگیره
حالا بنده میخوام اگر فایل php دو تا echo داره یکیش در div 1 دیگری در div 2 قرار بگیره در حالت عادی همه نتایج فایل php در xmlHttp.responseText قرار میگیرن که نمیشه نتایج رو جدا جدا تفکیک کرد.
خلاصه: چطور میشه فایل php ما "دو خروجی متفاوت" رو در دو جای متفاوت چاپ کنه؟
(در ضمن بنده به html5 و css3 و php و js , jquery تسلط دارم، فقط یه اشاره کوچیک کنید که چطور میشه پاسخ ها رو تفکیک کرد ممنون میشم.)
پاسخ: 
باید با نحوه کار متد split در جاوا اسکریپت آشنا باشید، به این ترتیب می توان یک خروجی واحد را با کلید تجزیه (به فرض کاراکتر |) به چندین قسمت و در قالب آرایه تجزیه کرد و از هر قسمت به صورت مجزا استفاده نمود، به عبارت ساده تر خروجی را با علامت | از هم جدا کنید، سپس در سمت کاربر پاسخ Ajax را با split به آرایه تبدیل و از کلید و مقدار آرایه به هر صورتی که مایل بودید استفاده کنید.
نویسنده: میثم
۲۳:۴۶ ۱۳۹۳/۰۳/۲۲
سلام
ممنون بابت پاسخ قبلی.
تابع اسپلیت کارم رو راه انداخت و پاسخ رو تبدیل به آرایه ای کرد که خیلی راحت میشه همزمان خروجی های متفاوت رو در مکان های متفاوت چاپ کرد.
فقط سوالی که پیش میاد ، آیا این کار استاندارد هست؟
مرسی.
پاسخ: 
منظورتان از "استاندارد" مشخص نیست؟!، استفاده از این متد به خودی خود مشکلی ندارد و یک شیوه متداول است که در تمام مروگرها پشتیبانی می شود.
نویسنده: میثم
۰۹:۵۰ ۱۳۹۳/۰۳/۲۵
منظورم از نظر کنسرسیوم جهانیه وبه
برنامه نویسی وب خیلی گسترده است یک سایت خاص رو با چندین نوع مختلف کد میشه نوشت
که البته تو این مورد شما میفرماید شیوه متداوله پس مشکلی نیست
مرسی.
پاسخ: 
متد split مربوط به استاندارد جاوا اسکریپت است که از این نظر هیچ مشکلی نیست، در رابطه با گستردگی برنامه نویسی وب شاید در نگاه اول اینگونه باشد، چون برای ایجاد یک صفحه وب، معمولا چندین زبان (سمت کاربر و سمت سرور) مختلف باید با هم در تعامل باشند، اما با کسب تجربه در این خصوص، به مرور مشخص می شود که چه ارتباط جالبی بین آنها وجود دارد و در کجا ترجیح با چه شیوه ای است (مهم استفاده از یک شیوه بهینه از میان چندین روش خوب است!)، البته در این حوزه با محدودیت هایی نیز مواجه هستیم که قدرت مانورمان را کمی محدودتر می کند (مانند بحث پشتیبانی مرورگرها، وجود فاصله بین کاربر نهایی و سرور و در نتیجه کاهش سرعت و محدودیت حجم اطلاعات و...).
نویسنده: محمد حسین
۲۲:۱۵ ۱۳۹۳/۰۴/۱۸
سلام خیلی خوب بود ممنون
فقط اگر بخوایم همون اول که صفحه باز میشه هم اجرا بشه و خالی نباشه صفحه، باید چی کار کرد؟
پاسخ: 
می توانید همزمان با بارگذاری صفحه، موارد را با پرس و جوهای MySQL و با استفاده از PHP در خروجی چاپ کنید، در این رابطه باید کار با PHP و MySQL را بلد باشید.
نویسنده: محمد حسین
۲۱:۵۴ ۱۳۹۳/۰۴/۱۹
در صفحۀ اول باید نوشته شه؟ بعد که نتایج صفحه بعد چاپ شه چه جوری پاک کنیم مطالب صفحه اصلی رو؟!
پاسخ: 
سوالتان خیلی واضح نیست! اگر منظور حذف مقدار اولیه و جایگزینی با مقداری است که توسط درخواست Ajax دریافت می شود، باید کار با متد document.getElementById و innerHTML (در جاوا اسکریپت) را بلد باشید، به عبارتی مقدار اولیه باید در یک div با id مشخص خروجی داده شود و مقدار جدید جایگزین آن شود.
نویسنده: محمد حسین
۲۲:۱۲ ۱۳۹۳/۰۴/۲۰
بله تشکر انجام شد باز هم ممنون ازشما...
نویسنده: مرتضی
۱۴:۵۹ ۱۳۹۳/۰۴/۲۶
با تشکر از توضیحاتتون من یه صفحه دارم شامل 4 تکست بکس میخوام تو اولی نام را وارد کنم بعد اطلاعات افراد مشابه را توی جدول بیارم حالا کاربر وقتی روی نام مورد نظر کلیک می کنه بقیه اطلاعات توی 3 تا تکست بکس دیگه وارد بشه این کارا وقتی فقط یک صفحه داشته باشم میشه انجام داد ولی چطور با آژاکس و از طریق 2 صفحه انجام بدم.
پاسخ: 
منظورتان از صفحه مشخص نیست؟!
اگر منظور این است که در هنگام نمایش نتایج، اگر تعداد افراد زیاد بود، به صورت صفحه به صفحه نمایش داده شود، این کار ساده نیست و توضیح مختصری ندارد، علاوه بر اینکه باید بر CSS برای طراحی رابط کاربری مناسب مسلط باشید، باید بتوانید بین Ajax و PHP یک تعامل برقرار کنید که به فرض Ajax در صفحه اول شماره 1 و تعداد 30 را به PHP بدهد، در صفحه دوم شماره 31 و تعداد 30 و الی آخر که مدیریت این فعل و انفعال نیازمند تسلط بر JavaScript و PHP است.
نویسنده: امید
۱۷:۴۶ ۱۳۹۳/۰۷/۰۷
سلام
ممنون از سایت خیلی عالیتون
چطور می توان همین کدها را به گونه ای تغییر داد که اولا لیست بر روی یک مقداری پیش فرض تنظیم شده باشد و بدون هیچ انتخابی اطلاعات قابل مشاهده باشد.
سوال بعد اینکه چطور می توان 2 تا لیست را با هم ادغام کرد؟
پاسخ: 
برای مورد اول باید هنگام چاپ خروجی اولیه، کدها را با حالت انتخاب شده در قسمت select option چاپ کنید (option مورد نظر پارامتر selected داشته باشد)، در مورد بخش دوم سوال دقیقا متوجه منظور شما از ادغان دو لیست نشدیم!
نویسنده: امید
۰۰:۵۰ ۱۳۹۳/۰۷/۰۸
ممنونم بابت پاسخ گویی سریعتان
انتخاب می شود ولی متاسفانه با رفرش چیزی نمایش داده نمی شود و تا زمانی که دستی انتخاب نکنی خروجی مورد نظر نمایش داده نمی شود.
در رابطه با موضوع دوم منظور این هست که در واقع دو تا لیست انتخاب زیر هم می آید و هر کدام از لیست ها مربوط به قسمتی می باشد.
به عنوان مثال ورزشی
لیگ های اروپایی
لیست 1 : (انتخاب لیگ مورد نظر)
1. لیگ برتر انگلیس
2.بوندسلیگای آلمان
3. لوشامپیونه فرانسه
4.لالیگای اسپانیا
5.سری آ ایتالیا
لیست 2: (بازی هایی که هفته به هفته در حال برگزاری است)
هفته 1
هفته 2
.
.
.
هفته n
ممنون
پاسخ: 
انجام این کارها نیازمند تسلط نسبی و تمرین و تکرار قبلی در زمینه زبان های وب از جمله PHP و JavaScript است، در غیر این صورت توضیحات ما کمکی نخواهد کرد!
- برای مورد اول باید خروجی اولین بارگذاری را با استفاده از PHP چاپ کنید، یعنی خروجی را طوری چاپ کنید که گزینه مورد نظر به حالت انتخاب (selected) و خروجی مربوط به آن در صفحه وجود داشته باشد.
- توضیح شما برای مورد دوم خیلی واضح نبود، تا آنجا که متوجه شدیم برای این کار می توانید با توجه به مقدار انتخاب شده، تگ select را در کدهای PHP سرور متناسب با آن تنظیم کنید، در واقع زمانی که یک گزینه را انتخاب می کنید، با توجه به مقدار انتخاب شده در پاسخ درخواست Ajax یک فیلد select با پارامترهای مربوط به آن (option ها) خروجی دهید تا در مرورگر کاربر نمایش داده شود (باید پاسخ را در مرورگر با جاوا اسکریپ چاپ کنید).
more لطفا پیش از ارسال یادداشت نکات زیر را مد نظر داشته باشید:
- موارد غیرمرتبط با مباحث آموزش ها را در فرم منوی "تماس با ما" مطرح و پاسخ را از طریق ایمیل دریافت کنید.
- به سوالات کلی، مبهم و مشکلاتی که تلاشی برای رفع آن نکرده باشید پاسخ مختصر داده خواهد شد.
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین قرار دهید تا امکان تست و بررسی وجود داشته باشد.
- از درج عناوین تبلیغاتی در فیلدها خودداری کنید، در صورتی که یادداشت تبلیغاتی تشخیص داده شود حذف خواهد شد.
- تمام یادداشت ها بررسی و زمانی جهت پاسخگویی در نظر گرفته می شود، لطفا از طرح سوالات متعدد خودداری کنید.





5 × 3
 refresh

آخرین دیدگاه ها
more برای دسترسی سریع به یادداشت مربوطه می توانید از لینک مطلب در کادر زیر استفاده کنید.
form عبدالمالت ریالی
در:
سلام علیک میشه از چند فونت در یک صفحه html استفاده کرد.؟
۱۳۹۹/۰۸/۰۱

form مبینا
در:
سلام من برنامه ای میخواستم که داخل ارایه 5 رنگ قرار گرفته باشه. و با استفاده از حلقه for این یک متنو به اون پنج...
۱۳۹۹/۰۸/۰۱

form mohadeseh
در:
ممنون از راهنماییتون مشکلم حل شد
۱۳۹۹/۰۷/۲۸

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

form فایز پور جهانبخشی
در:
سلام اگر بخواهیم برنامه ای که داخل متلب نوشتیم تا یک ثانیه اجرا شود و بعد از ثانیه اول در حالت خطا که...
۱۳۹۹/۰۷/۲۸

form mohadeseh
در:
الان کد من که توی تگ <head> گزاشتم میخواستم بدونم ایا امکانش هست که توی تگ link که ایکون رو باهاش اوردم بتونم...
۱۳۹۹/۰۷/۲۷

form mohadeseh
در:
سلام ببخشید لطفا راهنمایی کنید که چجوری title برای favicon در html بزارم؟ جوری که وقتی موس روی icon قرار بگیره متن...
۱۳۹۹/۰۷/۲۷

form ryomaechizen
در:
سلام. اگه حافظه وب پر بشه و مجبورا عکسا کپی باشن چطور باید مشکل بارگزاریشون حل بشه؟
۱۳۹۹/۰۷/۲۶

form رونا
در:
پرونده فرستاده شده نمی‌تواند به wp-content/uploads/2020/10 برود. سلام این ارور برای چی رخ می ده
۱۳۹۹/۰۷/۲۵

form reza
در:
سلام خوبید انشاالله؟ خواستم بدونم این نوار ابزار رو چطور باید اونایی رو دوست دارم بزارم سمت راست وبلاگم. هر چی کد و ......
۱۳۹۹/۰۷/۲۴

form سینا
در:
چگونه میتوانیم با استفاده از HTML فرمول شیمیایی مواد را بنویسیم؟ با عدد اتمی، جرمی و بار اتمی
۱۳۹۹/۰۷/۲۱

form فاطمه
در:
سلام ممنونم... خیلی ساده و روون توضیح دادین.. اونقدر که تشویق شدم محتوای یه فایل تکس رو با ایجکس درون یه div بیارم ولی...
۱۳۹۹/۰۷/۲۱

form امیرحسین
در:
خب متوجه شدم. که باید خط اول عدد فانکشن رو تغییر بدم. بسته به تعداد آرایه یا هر عدد دیگه تغییر بدم جوابمو...
۱۳۹۹/۰۷/۲۱

form امیرحسین
در:
عالی بود. خیلی ممنونم. ولی هر چند کلمه داخل آرایه داشته باشم به همون میزان خروجی گرفته میشه. من اگه 10 کلمه در آرایه داشته...
۱۳۹۹/۰۷/۲۱

form سعادتی
در:
سلام کاش روش برطرف کردن این بهم ریختگی رو هم توضیح میدادید. ممنون
۱۳۹۹/۰۷/۲۰
form امیرحسین
در:
موفق شدم اینو پیدا کنم. ولی میخوام کلمات تکراری داخلشون نباشه. مثال AAA فقط یک بار در اون خط وجود داشته باشه.
۱۳۹۹/۰۷/۲۰
form امیرحسین
در:
سلام. نه محدودیت زمانی وجود نداره.
۱۳۹۹/۰۷/۲۰
form امیرحسین
در:
سلام خسته نباشید. میخوام از این تابع برای بدست آوردن لیست های متفاوت استفاده کنم. مثلا یه آرایه داشته باشم. امیدوارم کمکم...
۱۳۹۹/۰۷/۲۰
form ابوالفضل
در:
سلام وقتتون بخیر من میخوام یه افزونه برای مرورگر کروم طراحی کنم و میخوام یه متنی رو هر سری از سایت دریافت کنه و...
۱۳۹۹/۰۷/۲۰
form mahdi
در:
سلام چطور می تونم از ip خارجی استفاده کنم؟ برای دریافت لانچر میخام. مرسی
۱۳۹۹/۰۷/۱۹
form احسان عباسی
در:
با سلام و تشکر از سایت خوبتون من یه کد تعریف کردم که در بورس ایران سهم مدنظرمو بیاره .. میخواستم ببینم امکانش هست دستوری...
۱۳۹۹/۰۷/۱۷
form شبنم
در:
سلام وقتتون بخیر، ببخشید از کلمه event یا e دقیقا چه زمانی توی فانکشن استفاده میکنیم؟
۱۳۹۹/۰۷/۱۷
form احمد
در:
با عرض سلام مجدد ساختار کلی دستورم به این صورت هست. بعد از حلقه وایل اون دیو کلاس 1 و 2 و 3 میخواهم...
۱۳۹۹/۰۷/۱۶
form احمد
در:
با عرض سلام ببخشید چطوری میتونم یه قسمت از تگ ها رو داخل حلقه وایل رد کنم دوباره تگ های بعدی داخل حلقه قرار بگیرن...
۱۳۹۹/۰۷/۱۶
form ابوالفضل
در:
سلام واقعا من خیلی گشتم تا بتونم این آموزش رو پیدا کنم چون واقعا نمی دونستم چی بنویسم تا یک رتبه بندی برای نتایج جستجو...
۱۳۹۹/۰۷/۱۵
form mahtab
در:
سلام وقتتون بخیر ببخشید میشه بفرمایید چجوری کلیپ رو بزاریم وبلاگ ؟؟ بی زحمت کامل بفرمایین ممنون و متشکر
۱۳۹۹/۰۷/۱۴
form Saeid Azari
در:
سلام ببخشید اگه امکانش هست سوال منو جواب بدید یکم گیج شدم...من یک کد html دارم که باید یک سایت درست کنم و ان را...
۱۳۹۹/۰۷/۱۳
form ابوالفضل
در:
سلام یک سوال دارم چجوری یک متنی که درون تگ td هست و بعد تگ br هست (تگ br درون تگ td است) رو...
۱۳۹۹/۰۷/۱۳
form parnian
در:
با سلام با توجه به این که این مطلب در سال 91 نوشته شده ایا تغیری هم کرده؟ مثلا استفاده و مهم بودن تگ های...
۱۳۹۹/۰۷/۱۳
form fahimeh
در:
سلام من دارم پروژه واسه دانشگاه مینویسم طراحی سایتو کردم برای کار با پایگاه داده دستور insert و delete کار میکنه ولی...
۱۳۹۹/۰۷/۱۲
form امین
در:
با عرض سلام ببخشید یه فرم دارم اخر فرمم یه دکمه دارم میخواستم بدونم چطوری باید بعد از کلیک کردن دکمه به صفحه دیگه انتقال...
۱۳۹۹/۰۷/۱۱
form محسن
در:
سلام من از فرم ساز گرویتی استفاده میکنم آیا امکان استفاده همچین چیزی رو میتونم داخلش داشته باشم آیا کدی داره که در قسمت...
۱۳۹۹/۰۷/۱۱
form مالکی
در:
چرا وبلاگم بالا نمی یاد
۱۳۹۹/۰۷/۰۹
form احمد
در:
با عرض سلام مجدد و خسته نباشید ببخشید نمونه کد رو اگر امکانش هست نگاه کنید که چطوری این متغییری رو که بدست اوردم در...
۱۳۹۹/۰۷/۰۹
form الناز
در:
سلام وقتتون بخیر. چطور میشه برنامه ای رو در php نوشت که کدملی رو تبدیل به شماره دانشجویی کنه اگه برام بنویسید ممنون میشم.
۱۳۹۹/۰۷/۰۹
form محمد
در:
سلام من میخواستم بدونم چه طوری میشه بدون اینکه از کاربر بپرسی که میخواهد از حساب خروج پیدا کند خود سایت بفهمد که کاربر از...
۱۳۹۹/۰۷/۰۹
form احمد
در:
با سلام ببخشید چطوری باید در جکوری از یک متغییر در صفحات دیگه استفاده کنم مثال دو عدد را باهم جمع کردم و ریختم داخل...
۱۳۹۹/۰۷/۰۹
form مهسا
در:
سلام و خسته نباشید مشکلی برای وبلاگ من پیش اومده موقع ورود بهم پیام میده وبلاگ داره بروز رسانی میشه و بعدا وارد وبلاگ شوید...
۱۳۹۹/۰۷/۰۸
form Moshtagh
در:
سلام و خسته نباشید بنده چند روزه که وقتی اطلاعات ورود به وبلاگم رو وارد تیترها و کلیک میکنم با چنین پاسخی مواجه میشم...
۱۳۹۹/۰۷/۰۸
form mahtab
در:
سلام خسته نباشین ببخشید چرا بلاگفا باز نمیکنه ؟؟؟ میرم مدیریت وبلاگ نه تو بروز شده ها وبی هستم نه هم که...
۱۳۹۹/۰۷/۰۷
form جواد
در:
سلام و عرض ادب. سایت من هک شده و یک کد ریدایرکت تو دیتابیس هاستم بارگزاری شده که آخر همه پست ها تو...
۱۳۹۹/۰۷/۰۷
  در انتظار بررسی: ۰
 پاسخگویی به سوالات ممکن است تا 24 ساعت زمان ببرد.