نمایش نتایج 1 تا 4 از 4

نام تاپیک: آموزش و سوال: جستجو در دیتابیس به صورت ajax live search

  1. #1

    Lightbulb آموزش و سوال: جستجو در دیتابیس به صورت ajax live search

    دراینجا یک تکنیک برای جستجوی سریع در دیتابیس قرار میدم کاربرد این تکنیک بیشتر زمانی است که شما بخواهید مثلا با وارد کردن اسم یک شخص در همون لحظه کل اسامی که با نام وارد شده در تکس باکس است لیست بشه مشکل این تکنیک اینه که با فارسی مشکل دارد و مقادیر انگلیسی را لیست میکنه اگه کسی میتونه کمک کنه تا با فارسی هم مشکلش حل بشه

    کد صفحه index.html


    <!DOCTYPE html>
    <html>
    <head>
    <title>مثال کاربرد Ajax در PHP</title>
    <script type="text/javascript">
    function showHint(str) {
    var xmlhttp;
    if (str.length == 0) {
    document.getElementById("txtHint").innerHTML = "";
    return;
    }
    if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp = new XMLHttpRequest();
    }
    else {// code for IE6, IE5
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange = function () {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
    document.getElementById("txtHint").innerHTML = xmlhttp.responseText;
    }
    }
    xmlhttp.open("GET", "search.php?q=" + str, true);
    xmlhttp.send();
    }
    </script>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    </head>
    <body style="text-align: right; direction: rtl">
    <h3>
    کاراکتری را در جدول زیر وارد نمایید ( به زبان انگلیسی ) :</h3>
    <form action="">
    نام :
    <input type="text" id="txt1" onkeyup="showHint(this.value)" />
    </form>
    <p>
    پیشنهادات : <span id="txtHint"></span>
    </p>
    </body>

    کد صفحه search.php

    <?php
    require_once("../../../include/membersite_config.php");
    software_connection($username,$password,$software_ database);
    mysql_query('SET NAMES \'utf8\'');
    $sql=mysql_query('select * from `product_services` where `name_family` LIKE %'.$q.'% ORDER BY `product_id` DESC');
    // لیست نام های مثال
    while($row = mysql_fetch_array($sql))
    {
    $a[]=$row['name_family'];
    }
    // از صفحه مبدا q دریافت پارامتر
    $q = $_GET["q"];

    // جستجو برای نام مورد نظر در صورت وارد کردن مقداری از سوی کاربر
    if (strlen($q) > 0)
    {
    $hint="";
    for($i=0; $i<count($a); $i++)
    {
    if (strtolower($q)==strtolower(substr($a[$i],0,strlen($q))))
    {
    if ($hint==" ")
    {
    $hint=$a[$i];
    }
    else
    {
    $hint=$hint." , ".$a[$i];
    }
    }
    }
    }
    // اگر نتیجه ای پیدا نشد ، عبارت بدون نتیجه تعیین شود
    // یا اینکه جواب خروجی ارسال شود
    if ($hint == "")
    {
    $response="موجود نیست";
    }
    else
    {
    $response=$hint;
    }
    // ارسال نتیجه خروجی به صفحه مبدا - دستور ایجکس
    echo $response;
    ?>


  2. #2
    کاربر دائمی آواتار فرزند کوروش
    تاریخ عضویت
    مهر 1389
    محل زندگی
    برنامه نویس زندگی هم میکنه؟
    پست
    486

    نقل قول: آموزش و سوال: جستجو در دیتابیس به صورت ajax live search

    فک نمیکنم تو فارسی مشکلی داشته باشه، ضمن ایینکه برای این کارا بهتره از جیکوئری استفاده کنی

  3. #3

    Thumbs up نقل قول: جستجو در دیتابیس به صورت ajax live search

    نقل قول نوشته شده توسط فرزند کوروش مشاهده تاپیک
    فک نمیکنم تو فارسی مشکلی داشته باشه، ضمن ایینکه برای این کارا بهتره از جیکوئری استفاده کنی
    من رو سیستم چک کردم وقتی فارسی تایپ میکنم عمل نمیکنه ولی با انگلیسی عمل میکنه و هیچ مشکلی نداره

    خو اگر لطف کنید با جیکوئری آموزش بدین ممنون میشم

  4. #4
    کاربر دائمی
    تاریخ عضویت
    آبان 1388
    محل زندگی
    کرج
    پست
    321

    نقل قول: آموزش و سوال: جستجو در دیتابیس به صورت ajax live search

    این برنامه چطوری کار می کنه اصن?!
    پارامتر ارسالی رو قبل از اینکه با متد GET بگیری تو کوئری استفاده کردی ازش.
    کوئری اگر نتیجه ای نداشت نباید fetch بشه شما اول fetch کردی بعد رشته ای که وجود نداره رو اندازه اش رو بررسی کردی؟
    توی کد جاوا اسکریپت هم به نظرم بهتره با هر keyup مقدار رو ارسال نکنی.من با یه تاخیر بین نیم تا یک ثانیه مقدار رو ارسال می کنم.اینطوری میشه بذاری به حساب اینکه کاربر ورودی ش رو وارد کرده و تموم شده.اینطوری بار سرور کمنر میشه.
    با فارسی هم مشکل نداره.

تاپیک های مشابه

  1. پاسخ: 8
    آخرین پست: جمعه 21 مرداد 1390, 19:03 عصر
  2. سوال: سوال در مورد جستجو در دیتابیس access
    نوشته شده توسط amir0631 در بخش VB.NET
    پاسخ: 1
    آخرین پست: جمعه 06 فروردین 1389, 21:32 عصر
  3. آموزش قرار دادن یک منو جستجو در فورم به صورت کامل
    نوشته شده توسط MohsenNickjoo در بخش Access
    پاسخ: 1
    آخرین پست: یک شنبه 27 دی 1388, 14:32 عصر
  4. سوال: مشکل با جستجو در دیتابیس اکسس به صورت یونیکد
    نوشته شده توسط mojtaba-saleh در بخش VB.NET
    پاسخ: 2
    آخرین پست: پنج شنبه 16 آبان 1387, 13:36 عصر
  5. جستجو در دیتابیس و نمایش آن به صورت حروف الفبا ...
    نوشته شده توسط mohammad68 در بخش Classic ASP
    پاسخ: 4
    آخرین پست: یک شنبه 25 اردیبهشت 1384, 10:37 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •