آموزش مقدماتیHTMLوCSS (جلسه ۲۰: ایجاد فرم‌ها – بخش ۲)
1398/03/27 16:26 , میلاد صاحب نظر

آموزش مقدماتیHTMLوCSS (جلسه ۲۰: ایجاد فرم‌ها – بخش ۲)

در جلسه قبل بحث ایجاد فرم‌ها را آغاز کردیم. فهمیدید که فرم‌ها یکی از بخش‌های اصلی و جدانشدنی در طراحی سایت هستند و همچنین یک مبحث بسیار پیچیده هستند.

در جلسه قبلی راجع به چگونگی ایجاد فرم‌ها، انواع فرم‌ها، منوها، کلیدها و کنترل‌های فرم‌ها، ورودی‌های مختلف و سازماندهی عنصرهای فرم صحبت کردیم.

در این جلسه راجع به اتریبیوت‌های فرم و ورودی صحبت خواهیم کرد و تمام مباحثی که در این دو جلسه آموختید را کاملاً در تمرین سایتStyles Conference  اعمال خواهیم کرد تا بهتر آن‌ها را متوجه شوید و به صورت عملی آن‌ها را به کار ببرید. با ما همراه باشید!

۱- ساختن اولین صفحه وب قسمت اول ۷-باز کردن Box Model قسمت اول ۱۳-تنظیمات پشت زمینه قسمت اول ۱۹-ایجاد فرم‌ها قسمت اول
۲-ساختن اولین صفحه وب قسمت دوم ۸-باز کردن Box Model قسمت دوم ۱۴-تنظیمات پشت زمینه قسمت دوم ۲۰-ایجاد فرم‌ها قسمت دوم
۳-آشنایی با HTML  قسمت اول ۹-تنظیم موقعیت محتوا قسمت اول ۱۵-ایجاد لیست‌ها قسمت اول ۲۱-سازماندهی اطلاعات با جداول قسمت اول
۴-آشنایی با HTML قسمت دوم ۱۰-تنظیم موقعیت محتوا قسمت دوم ۱۶-ایجاد لیست‌ها قسمت دوم ۲۲-سازماندهی اطلاعات با جداول قسمت دوم
۵-آشنایی با CSS قسمت اول ۱۱-کار با Typography قسمت اول ۱۷-افزودن رسانه قسمت اول ۲۳-نوشتن بهترین کد
۶-آشنایی با CSS قسمت دوم ۱۲-کار با Typography قسمت دوم ۱۸-افزودن رسانه قسمت دوم  

اتریبیوت‌های فرم و ورودی

برای آماده و همساز کردن تمام فرم‌ها، رودی‌ها و عنصرهای کنترلی مختلف، چند اتریبیوت و مقادیر خاص آن‌ها وجود دارند که می‌توانیم استفاده کنیم. این اتریبیوت‌ها و مقادیر آن‌ها چندین کاربرد خیلی مفید دارند، مانند غیر فعال کردن کنترل‌ها و اضافه کردن فرم اعتبار سنجی.

مواردی که در ادامه توضیح داده خواند شد برخی از مرسوم‌ترین اتریبیوت‌های مورد استفاده و مفید هستند.

Disabled

اتریبیوت boolean به نام disabled یک عنصر یا کنترل را خاموش می‌کند تا دیگر برای تعامل یا ورودی در دسترس نباشد. عنصرهایی که غیر فعال شده‌اند، برای پردازش فرم هیچ مقداری به سرور ارسال نمی‌کنند.

به کار بردن اتریبیوت بولین Disabled برای یک عنصر <fieldset>، تمام کنترل‌های فرم داخل fieldset را غیر فعال خواهد کرد. اگر اتریبیوت type دارای مقدار hidden باشد، آنگاه اتریبیوت بولین hidden نادیده گرفته خواهد شد.

<label>
  Username
  <input type="text" name="username" disabled>
</label>

Placeholder

اتریبیوت خاص HTML5 به نام Placeholder یک هشدار یا راهنما در داخل کنترل فرم یک عنصر <input> یا <textarea> فراهم می‌کند که وقتی روی کنترل کلیک می‌شود یا در صفحه زوم می‌شود، ناپدید خواهد شد.

از این اتریبیوت برای ارائه اطلاعات بیشتر به کاربر راجع به اینکه ورودی فرم باید چگونه پر شود (برای مثال، فرمت آدرس ایمیل) استفاده می‌شود.

<label>
  Email Address
  <input type="email" name="email-address" placeholder="name@domain.com">
</label>

تفاوت اصلی بین اتریبیوت‌های placegolder و value این است که متن مقدار اتریبیوت value در زمانی که روی کنترل زوم شود ناپدید نمی‌شود، مگر اینکه خود کاربر آن را حذف کند.

این قابلیت برای از قبل پر کردن داده‌های یک کاربر (مثلاً اطلاعات شخصی) عالی است، اما برای ارائه پیشنهاد پاسخ برای پر کردن مناسب نیست.

Required

اتریبیوت بولین required که مخصوص HTML5 است مشخص می‌کند که یک عنصر یا کنترل فرم در هنگام ارسال به سمت سرور، حتماً باید شامل یک مقدار باشد.

در نتیجه اگر یک عنصر یا یک کنترل فرم دارای مقدار نباشد، یک پیغام ارور به کاربر نشان داده خواهد شد که از وی می‌خواهد فیلد مورد نظر را حتماً پر کند. در حال حاضر، استایل‌های پیغام ارور توسط مرورگر کنترل می‌شوند و نمی‌توانیم آن‌ها را با استفاده از CSS استایل‌بندی کنیم.

از طرف دیگر، عنصرها و کنترل‌های غیر قابل قبول را می‌توان با استفاده از کلاس‌های سودو (pseudo-class) به نام‌های optional: و required: در CSS استایل‌بندی کرد. 

همچنین، اعتبارسنجی نیز فقط برای یک نوع کنترل خاص اتفاق می‌افتد. برای مثال، یک عنصر <input> با مقدار email‌ برای اتریبیوت type، نه تنها لازم دارد که یک مقدار درون کنترل آن موجود باشد، بلکه همچنین آن مقدار باید یک آدرس ایمیل قابل قبول نیز باشد.

<label>
  Email Address
  <input type="email" name="email-address" required>
</label>

اتریبیوت‌های دیگر

اتریبیوت‌های فرم و کنترل فرم بیشتری نیز وجود دارند که در لیست زیر مشاهده می‌کنید، اما فقط همین‌ها نیستند. لطفاً اگر به اتریبیوت‌های بیشتری نیاز داشتید حتماً یک جستجو در اینترنت انجام دهید.

  • Accept
  • Autocomplete
  • Autofocus
  • Formaction
  • Formenctype
  • Formmethod
  • Formnovalidate
  • Formtarget
  • Max
  • Maxlength
  • Min
  • Pattern
  • Readonly
  • SelectionDirection
  • Step

مثال فرم Login

کد زیر یک مثال از یک فرم login کامل است که شامل چند عنصر و اتریبیوت مختلف است و تمام مباحثی که تا الآن در این دو جلسه راجع به فرم‌ها گفته شده، در آن قرار دارند. این عنصرها با استفاده از CSS استایل‌بندی شده‌اند.

HTML

<form>
  <fieldset class="account-info">
    <label>
      Username
      <input type="text" name="username">
    </label>
    <label>
      Password
      <input type="password" name="password">
    </label>
  </fieldset>
  <fieldset class="account-action">
    <input class="btn" type="submit" name="submit" value="Login">
    <label>
      <input type="checkbox" name="remember"> Stay signed in
    </label>
  </fieldset>
</form>

CSS

*,
*:before,
*:after {
   box-sizing: border-box;
}
form {
  border: 1px solid #c6c7cc;
  border-radius: 5px;
  font: 14px/1.4 "Helvetica Neue", Helvetica, Arial, sans-serif;
  overflow: hidden;
  width: 240px;
}
fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}
input {
  border-radius: 5px;
  font: 14px/1.4 "Helvetica Neue", Helvetica, Arial, sans-serif;
  margin: 0;
}
.account-info {
  padding: 20px 20px 0 20px;
}
.account-info label {
  color: #395870;
  display: block;
  font-weight: bold;
  margin-bottom: 20px;
}
.account-info input {
  background: #fff;
  border: 1px solid #c6c7cc;
   box-shadow: inset 0 1px 1px rgba(0, 0, 0, .1);
  color: #636466;
  padding: 6px;
  margin-top: 6px;
  width: 100%;
}
.account-action {
  background: #f0f0f2;
  border-top: 1px solid #c6c7cc;
  padding: 20px;
}
.account-action .btn {
  background: linear-gradient(#49708f, #293f50);
  border: 0;
  color: #fff;
  cursor: pointer;
  font-weight: bold;
  float: left;
  padding: 8px 16px;
}
.account-action label {
  color: #7c7c80;
  font-size: 12px;
  float: left;
  margin: 10px 0 0 20px;
}

تمرین

حالا که چگونگی ایجاد فرم‌ها را آموختید، اجازه دهید یک صفحه ثبت‌نام برای وبسایت Styles Conference ایجاد کنیم تا بتوانیم شروع به سودآوری کنیم و برای رویدادها بلیط بفروشیم.

  1. به سراغ فایل html می‌رویم و کارمان را با رعایت الگوی طراحی مشابهی که برای صفحات Speakers و Venue به کار بردیم، آغاز می‌کنیم.

    یعنی یک عنصر ,section> با مقدار اتریبیوت کلاس row در زیر بخش lead-in ثبت‌نام اضافه می‌کنیم و یک عنصر <div> با مقدار اتریبیوت کلاس grid به صورت تودرتو دقیقاً در داخل عنصر <section> قرار می‌دهیم.

    کد ما در زیر بخش lead-in برای صفحه Register باید شبیه به این کد باشد:
    <section class="row">
      <div class="grid">
        ...
      </div>
    </section>
    ​

    محض یادآوری: مقدار اتریبیوت کلاس row یک پشت زمینه سفید اضافه می‌کند و چند padding عمودی فراهم می‌کند، در حالی که مقدار اتریبیوت کلاس grid محتوای ما را در مرکز و وسط صفحه قرار می‌دهد و چند padding افقی فراهم می‌کند.

  2. داخل عنصر <div> که دارای اتریبیوت کلاس با مقدار grid است، قصد داریم دو ستون ایجاد کنیم، یکی از آن‌ها دو سم عرض صفحه و دیگری یک سوم عرض صفحه را پوشش می‌دهند.

    ستون دو سومی، یک عنصر <section> در سمت چپ خواهد بود که به کاربران می‌گوید چرا باید برای کنفرانس ما ثبت‌نام کنند. ستون یک سومی، یک عنصر <form> در سمت راست خواهد بود و یک روش ثبت‌نام در کنفرانس برای کاربران فراهم می‌کند.

    این دو عنصر و کلاس‌های متناظر آن‌ها یعنی col-2-3 و col-1-3 را دقیقاً داخل عنصر <div> که دارای اتریبیوت کلاس با مقدار grid است اضافه می‌کنیم.

    چون هر دوی این عنصرها، عنصرهای inline-block هستند، باید دقیقاً پس از تگ بسته شدن ستون دو سوم یک کامنت باز کنیم و سپس کامنت را دقیقاً قبل از تگ باز شونده ستون یک سوم ببندیم.

    در کل، کد ما باید به این شکل باشد:
    <section class="row">
      <div class="grid">
    
        <section class="col-2-3">
          ...
        </section><!--
    
        --><form class="col-1-3">
          ...
        </form>
    
      </div>
    </section>
    ​
  3. حالا، داخل ستون دو سوم، مقداری جزئیات راجع به رویداد و اینکه چرا شرکت در آن برای الهام بخشی و ایده گرفتن طراحان و توسعه‌دهندگان front-end فکر خوبی است، اضافه می‌کنیم.

    این کار را با استفاده از چند سطح هدینگ مختلف (همراه با استایل‌های از پیش مشخص شده آن‌ها) یک پاراگراف و یک لیست نامنظم انجام می‌دهیم.

    در عنصر <section> که دارای اتریبیوت کلاس با مقدار col-2-3 است، کد باید به این شکل باشد:
    <section class="col-2-3">
    
      <h2>Purchase a Conference Pass</h2>
      <h5>$99 per Pass</h5>
    
      <p>Purchase your Styles Conference pass using the form to the right. Multiple passes may be purchased within the same order, so feel free to bring a friend or two along. Once your order is finished we&#8217;ll follow up and provide a receipt for your purchase. See you soon!</p>
    
      <h4>Why Attend?</h4>
    
      <ul>
      <li>Over twenty world-class speakers</li>
        <li>One full day of workshops and two full days of presentations</li>
        <li>Hosted at The Chicago Theatre, a historical landmark</li>
        <li>August in Chicago is simply amazing</li>
      </ul>
    
    </section>​
  4. در حال حاضر، لیست بی‌نظم ما هیچ marker آیتم لیستی ندارد. همه استایل‌های پیش‌فرض مرورگر به واسطه کد Reset در CSS غیر فعال شدند (که در جلسه اول آن را اضافه کردیم). اجازه دهید چند استایل شخصی یا سفارشی خاص برای این لیست بی‌نظم ایجاد کنیم.

    برای این منظور اجازه دهید یک اتریبیوت class با مقدار why-attend به لیست بی‌نظم اضافه کنیم.
    <ul class="why-attend">
        ...
    </ul>​

    حالا که یک کلاس برای اضافه کردن استایل در اختیار داریم، اجازه دهید یک بخش جدید برای استایل‌های صفحه Register در پایین فایل css ایجاد کنیم.

    درون این بخش، از آن کلاس برای انتخاب لیست بی‌نظم و اضافه کردن یک list-style با مقدار square و چند حاشیه پایین و سمت چپ استفاده می‌کنیم.

    بخش جدید در پایین فایل main.css باید به این شکل باشد:
    /*
      ========================================
      Register
      ========================================
    */
    
    .why-attend {
      list-style: square;
      margin: 0 0 22px 30px;
    }
    ​
  5. بخش جزئیات صفحه ثبت‌نام ما کامل شد، پس حالا وقت آن است که به سراغ فرم ثبت‌ناممان برویم. کارمان را با اضافه کردن اتریبیوت‌های action و method به عنصر <form> شروع می‌کنیم.

    چون پردازش فرممان را تنظیم نکرده‌ایم، این اتریبیوت‌ها خیلی ساده فقط به عنوان ظرف‌ عمل می‌کنند و بعداً باید دوباره به سراغشان برگردیم.

    کد عنصر <form> باید به این شکل باشد:
    <form class="col-1-3" action="#" method="post">
      ...
    </form>
    ​
  6. سپس، درون عنصر <form> یک عنصر <fieldset> اضافه می‌کنیم. درون عنصر <fieldset> مجموعه‌ای از عنصرهای <lable> اضافه می‌کنیم که یک کنترل فرم خاص را احاطه می‌کنند.

    ما قصد داریم از کاربر یک نام، آدرس ایمیل، تعداد بلیط‌های مورد نیاز برای کنفرانس و نظر دریافت کنیم. نام، آدرس ایمیل و تعداد بلیط‌های کنفرانس فیلدهای الزامی و مورد نیاز هستند و باید مطمئن شویم که کاربر برای هر کنترل فرم از عنصرها و اتریبیوت‌های مناسب استفاده می‌کند.

    با ترکیب انواع ورودی، منوهای انتخابی، textareaها و اتریبیوت‌های مختلف، کد فرم ما باید به این شکل باشد:
    <form class="col-1-3" action="#" method="post">
    
      <fieldset>
    
        <label>
          Name
          <input type="text" name="name" placeholder="Full name" required>
        </label>
    
        <label>
          Email
          <input type="email" name="email" placeholder="Email address" required>
        </label>
    
        <label>
          Number of Passes
          <select name="quantity" required>
            <option value="1" selected>1</option>
            <option value="2">2</option>
            <option value="3">3</option>
            <option value="4">4</option>
            <option value="5">5</option>
          </select>
        </label>
    
        <label>
          Comments
          <textarea name="comments"></textarea>
        </label>
    
      </fieldset>
    
      <input type="submit" name="submit" value="Purchase">
    
    </form>
    ​

    در اینجا می‌توانیم همه کنترل فرم‌های تودرتو درون عنصر <lable>‌را ببینیم. کنترل فرم نام، از یک عنصر <input> با مقدار text برای اتریبیوت type استفاده می‌کند، در حالی که کنترل فرم ایمیل از یک عنصر <input> با مقدار email برای اتریبیوت type استفاده می‌کند.

    هر دو کنترل‌های فرم نام و ایمیل شامل اتریبیوت بولین required و اتریبیوت placeholder هستند.

    کنترل فرم تعداد بلیط‌ها از عنصر <select> و عنصرهای تودرتوی <option> استفاده می‌کند. عنصر <select> خودش شامل اتریبیوت بولین required است و اولین عنصر <option> شامل اتریبیوت بولین selected است.

    کنترل فرم کامنت‌ها از عنصر <textarea> بدون هیچ تغییر خاصی استفاده می‌کند. و در آخر، در بیرون از عنصر <fieldset>، کنترل فرم ارسال قرار دارد که توسط یک عنصر <input> با مقدار submit برای اتریبیوت type ایجاد شده‌ است.

  7. با درست کردن فرم، وقتی آن است که به آن استایل اضافه کنیم. کار را با چند استایل پیش‌فرض در خود عنصر <form> و در عنصرهای <select>، <input> و <textarea> شروع می‌کنیم.

    داخل بخش ثبت‌نام در فایل css می‌خواهیم استایل‌های زیر را اضافه کنیم:
    form {
      margin-bottom: 22px;
    }
    input,
    select,
    textarea {
      font: 300 16px/22px "Lato", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
    }
    ​

    کار را با قرار دادن margin با اندازه ۲۲ پیکسل در پایین فرم شروع می‌کنیم تا با ایجاد یک فضای عمودی آن را از عنصرهای دیگر جدا کنیم.

    سپس، چند استایل فونتی استاندارد (از جمله line-height، size، weight و family) برای همه عنصرهای <select>، <input> و <textarea> اضافه می‌کنیم.

    به طور پیش‌فرض، هر مرورگر در مورد چگونگی ظاهر شدن استایل‌ها برای کنترل‌های فرم، تفسیر مخصوص به خودش را دارد. با در نظر داشتن این موضوع، استایل‌های فونتی موجود در عنصر <body> را تکرار می‌کنیم تا اطمینان حاصل کنیم که استایل‌های ما بی‌تغییر باقی بمانند.

  8. اجازه دهید چند استایل به عنصرهای داخل عنصر <fieldset> اضافه کنیم.

    چون ممکن است از الآن به بعد عنصرهای <fieldset> بیشتری اضافه کنیم، اجازه دهید یک اتریبیوت کلاس با مقدار register-group به عنصر <fieldset> موجود اضافه کنیم و از اینجا به بعد، می‌توانیم استایل‌های منحصر به فردی به عنصرهای تودرتوی داخل آن اضافه کنیم.
    <fieldset class="register-group">
      ...
    </fieldset>
    ​

    وقتی مقدار register-group برای اتریبیوت کلاس در جایش قرار گرفت، چند استایل به عنصرهای تودرتوی داخل عنصر <fieldset> اضافه می‌کنیم. این استایل‌ها در فایل css ما در زیر استایل‌های فرم موجود ظاهر می‌شوند.
    .register-group label {
      color: #648880;
      cursor: pointer;
      font-weight: 400;
    }
    .register-group input,
    .register-group select,
    .register-group textarea {
      border: 1px solid #c6c9cc;
      border-radius: 5px;
      color: #888;
      display: block;
      margin: 5px 0 27px 0;
      padding: 5px 8px;
    }
    .register-group input,
    .register-group textarea {
      width: 100%;
    }
    .register-group select {
      height: 34px;
      width: 60px;
    }
    .register-group textarea {
      height: 78px;
    }
    ​

    متوجه شدید که اکثر این ویژگی‌ها و مقادیر در اطراف box model قرار می‌گیرند که در جلسات هفت و هشت این موضوع را پوشش دادیم. ما عمدتاً سایز کنترل‌های فرم مختلف را مشخص می‌کنیم و اطمینان حاصل می‌کنیم که به صورت مناسب ظاهر شوند.

    جدای از اضافه کردن چند استایل box model، ما همچنین color و font-weight چند عنصر را نیز تنظیم می‌کنیم.

  9. تا اینجا، خیلی خوب بود: فرم ما کم‌کم خیلی زیبا و چشم‌نواز شد. تنها عنصری که هنوز استایل‌بندی نشده‌ است، کلید submit است. چون یک کلید است، پس در واقع چند استایل پیش‌فرض داریم که می‌توانیم اعمال کنیم.

    اگر به صفحه خانه فکر کنیم، یادمان می‌آید که بخش hero شامل یک کلید است که به وسیله مقدار btn برای اتریبیوت class، چند استایل دریافت می‌کند.

    اجازه دهید این اتریبیوت calss با مقدار btn را همراه با یک اتریبیوت class با مقدار btn-default به کلید submit خود اضافه کنیم.

    به خصوص ما از نام کلاس btn-default استفاده می‌کنیم چون این کلید در یک پشت زمینه سفید قرار می‌گیرد و این استایل پیش‌فرض برای کلیدهایی است که از این بعد ایجاد می‌کنیم.
    <input class="btn btn-default" type="submit" name="submit" value="Purchase">
    ​

    حالا کلید suubmit ما دارای چند استایل اشتراکی با کلید صفحه اصلی ما است. از مقدار btn-default برای اتریبیوت class استفاده می‌کنیم تا بعد چند استایل جدید به این کلید Submit اضافه کنیم.

    حالا به سراغ بخش کلیدهای فایل css برمی‌گردیم و کد زیر را اضافه می‌کنیم:
    .btn-default {
      border: 0;
      background: #648880;
      padding: 11px 30px;
      font-size: 14px;
    }
    .btn-default:hover {
      background: #77a198;
    }
    ​

    این استایل‌های جدید که سایز پشت زمینه کلید submit را تعریف می‌کنند، با استایل‌های فعلی کلاس btn ترکیب می‌شوند تا ظاهر نهایی کلید submit ما را ایجاد کنند.

صفحه Register ما به پایان رسید و داوطلبان الآن می‌توانند بلیط‌های خود را رزرو کنند.

صفحه ثبت‌نام ما که شامل یک فرم است

تصویر ۲۰.۱. صفحه ثبت‌نام ما که شامل یک فرم است

دمو و کد منبع

در اینجا می‌توانید وبسایت Styles Conference را در وضعیت فعلی‌اش مشاهده کنید و همچنین می‌توانید کد منبع وبسایت با وضعیت فعلی را نیز دانلود کنید.

لینک مشاهده وبسایت Styles Conference                  کد منبع وبسایت Styles Conference

خلاصه

فرم‌ها نقش بزرگی در نحوه تعامل با کاربران، فراهم کردن اطلاعات و دست به عمل زدن کاربران در سایت ایفا می‌کنند. ما تمام مباحث و توضیحات لازم برای آموزش نه تنها علامت‌گذاری فرم‌ها، بلکه همچنین برای آموزش چگونگی استایل‌بندی آن‌ها را پوشش دادیم.

برای یادآوری سریع، مباحثی که در این دو جلسه در مورد ایجاد فرم‌ها پوشش دادیم را بیان می‌کنیم:

  • چگونگی ایجاد یک فرم

  • روش‌های به دست آوردن اطلاعات متنی از کاربران

  • عنصرها و متدهای مختلف برای ایجاد چندین گزینه انتخاب و منوها

  • کدام عنصرها و اتریبیوت‌ها برای ارسال داده‌های یک فرم برای پردازش بهترین هستند

  • چگونگی سازماندهی فرم‌ها به بهترین شکل و ایجاد ساختار و معنای کنترل‌های فرم

  • چند اتریبیوت مفید که به جمع‌آوری داده‌های مهم کمک می‌کنند

درک ما از HTML و CSS به زیبایی در حال تکامل یافتن است و فقط یک عضو دیگر هست که باید با آن آشنا شویم: جداول. در جلسات بعدی، به چگونگی سازماندهی و ارائه داده با جداول آشنا خواهید شد.

با MUG همراه باشید!

منبع: learn.shayhowe

جلسه بعد                                                                جلسه قبل

 مطالب مرتبط

تعامل با فایل‌ها در HTML5
ایجاد یک فرم HTML و قابلیت تکمیل خودکار فرم‌ها
۵ قالب رایگان HTML برای ایجاد سریع و آسان‌ وبسایت‌ها!
۹ چیز که باید در مورد HTML5 بدانید
آموزش گام به گام #C
برنامه نویسی شیءگرا چیست؟

از آخرین دوره های آموزشی و تخفیف ها مطلع شوید

با تکمیل فرم زیر ، از اخبار و اطلاعات به روز برنامه نویسی و تکنولوژی عقب نمانید

آخرین مطالب

آموزش جامع SQL Server (جلسه ۱۲)
آموزش جامع SQL Server (جلسه ۱۲)

دستور UPDATE در SQL Server برای تغییر داده‌های موجود در یک جدول، از دستور UPDATE به شکل زیر استفاده ...

آموزش جامع SQL Server (جلسه ۱۵)
آموزش جامع SQL Server (جلسه ۱۵)

دستور DROP TABLE در SQL Server گاهی، لازم است یک جدول که دیگر استفاده‌ای ندارد را حذف کنید. برای ...

آموزش جامع SQL Server (جلسه ۳۵: Window Functionها – بخش ۲)
آموزش جامع SQL Server (جلسه ۳۵: Window Functionها – بخش ۲)

بخش اول از آخرین مبحث دوره جامع آموزش SQL Server در جلسه قبلی بررسی شد. این مبحث که ...

آخرین دیدگاه ها

دیدگاه خود را درباره این پست بنویسید

فرم ارسال نظرات