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

نام تاپیک: پیاده سازی جستجو در سایت

  1. #1
    کاربر دائمی
    تاریخ عضویت
    آبان 1388
    محل زندگی
    مشهد
    سن
    36
    پست
    108

    پیاده سازی جستجو در سایت

    سلام. من میخوام تو سایتم یک سیستم جستجو بشکل search.png قرار بدم . حالا میخواستم راهنماییم کنید که دقیقا چکاری انجام بدم بهینه تره . یعنی بیام کلی شرط بذارم بگم اگه قیمت وارد شده فلان کار رو بکن اگه وارد نشده فلان کار اگه گروه اصلی همه بود فلان کار رو بکن وگرنه فلان کار . این روش بنظرم زیاد جالب نیست . کسی از دوستان راه بهتری داره ؟

    چون گروه اصلی و گروه فرعی و نام همیشه مقداری دارند و میشه در query این ها رو and کرد امه دو فیلد قیمت از و تا میشه بدون مقدار باشن . اگه اون ها رو هم در کوئری بالایی and کنم ممکنه یک نفر قیمت وارد نکنه بعد جواب نمیده . !؟

  2. #2
    کاربر دائمی
    تاریخ عضویت
    آبان 1388
    محل زندگی
    مشهد
    سن
    36
    پست
    108

    نقل قول: پیاده سازی جستجو در سایت

    کسی نمیتونه راهنمایی کنه ؟ اگه متوجه منظورم نمیشید بگین دوباره توضیح بدم . یک خورده عجله دارم دوستان .

  3. #3
    کاربر دائمی آواتار ravand
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    راوند کاشان
    پست
    3,378

    نقل قول: پیاده سازی جستجو در سایت

    من اين كد رو قبلا براي جستجو در بانك اطلاعاتيم استفاده كردم ولي يادم نيست چيكار كردم ببين شايد بدردت خورد:
    	<?php
    $id=$tfname=$tffamily=$tfmelli="";
    if ( isset($_REQUEST["tfname"]) ) {
    $id=$_REQUEST["id"];
    $tfname=$_REQUEST["tfname"];
    $tffamily=$_REQUEST["tffamily"];
    $tfmelli=$_REQUEST["tfmelli"];
    }
    ?>

    <form dir=rtl action=<?php echo($_SERVER["PHP_SELF"]) ?> method=post>
    <table height="130" width="250" BGCOLOR="#45CCE9" border="1">
    <tr>
    <td colspan="2">
    <table height="30" width="100%" border="0">
    <tr align="center"><td>جستجو در ثبت نام كنندگان</td></tr>
    </table>
    </td>
    </tr>
    <tr><td>ID : </td><td><input type=text name=id value=<?php echo($id) ?> ></td></tr><br>
    <tr><td>نام: </td><td><input type=text name=tfname value=<?php echo($tfname) ?> ></td></tr><br>
    <tr><td>نام خانوادگی: </td><td><input type=text name=tffamily value=<?php echo($tffamily) ?> ></td></tr><br>
    <tr><td>کد ملی: </td><td><input type=text name=tfmelli value=<?php echo($tfmelli) ?> ></td></tr><br>

    <tr><td></td><td><input type=submit value="جستجو در مشخصات"></td></tr>
    </table>

    </form>

    <?php
    if (isset($_REQUEST["tfname"] ) ) {
    $db = mysql_connect( 'localhost' , 'root' , '' );
    mysql_select_db( 'fani' , $db);
    $sqlstring ="select * from form";
    if ($id != "" or $tfname != "" or $tffamily != "")
    $sqlstring .=" where ";
    if ($id != "")
    $sqlstring .=" id='$id' or";
    if ($tfname != "")
    $sqlstring .=" tfname like '%$tfname%' or";
    if ($tffamily != "")
    $sqlstring .=" tffamily like '%$tffamily%' or";

    if ($sqlstring[strlen($sqlstring)-1]=='r' ) {
    $sqlstring[strlen($sqlstring)-1]=" ";
    $sqlstring[strlen($sqlstring)-2]=" ";

    }
    mysql_query("SET CHARACTER SET utf8");
    $result = mysql_query($sqlstring ,$db);
    if ( !$result) {
    die( 'Could not query:' . mysql_error( ) );
    }
    if ( !$row = mysql_fetch_row($result) )
    die( '.هيچ ثبت نام كننده اي وجود ندارد');
    do {
    echo "<table border='2'>";
    echo "<tr>";

    echo("<td ALIGN=CENTER VALIGN=MIDDLE BGCOLOR=#C997F3>". $row[0] ."</td>"."<td ALIGN=CENTER VALIGN=MIDDLE BGCOLOR=#95A1EC>".":ID" ."</td>"."<br>\n" );
    echo "</tr>";
    echo "<tr>";
    echo("<td ALIGN=CENTER VALIGN=MIDDLE BGCOLOR=#C997F3>"." <a href='" . $row[1] . "'>" . عکس . "</a></td><br>\n" );
    echo "<td ALIGN=CENTER VALIGN=MIDDLE BGCOLOR=#95A1EC>";
    echo ":تصوير ";
    echo "</td>";
    echo "</tr>";
    echo "<tr>";
    echo("<td ALIGN=CENTER VALIGN=MIDDLE BGCOLOR=#C997F3>" . $row[2] . "</td>"."<td ALIGN=CENTER VALIGN=MIDDLE BGCOLOR=#95A1EC>"." :نام "."</td>"."<br>\n" );
    echo "</tr>";
    echo "<tr>";
    echo("<td ALIGN=CENTER VALIGN=MIDDLE BGCOLOR=#C997F3>" .$row[3] . "</td>"."<td ALIGN=CENTER VALIGN=MIDDLE BGCOLOR=#95A1EC>"." :نام خانوادگی "."</td>"."<br>\n" );
    echo "</tr>";
    echo "<tr>";
    echo("<td ALIGN=CENTER VALIGN=MIDDLE BGCOLOR=#C997F3>".$row[4]. "</td>"."<td ALIGN=CENTER VALIGN=MIDDLE BGCOLOR=#95A1EC>" .": جنسیت " ."</td>"."<br>\n" );
    echo "</tr>";
    echo "<tr>";
    echo("<td ALIGN=CENTER VALIGN=MIDDLE BGCOLOR=#C997F3>"."<a href=\"delete/delete.php?ID=".$row['0']."\">حذف</a></td><td ALIGN=CENTER VALIGN=MIDDLE BGCOLOR=#95A1EC> &nbsp;
    <a target=_blank href=\"edit.php?ID=".$row['0']."\">ادامه</a></td><br>");
    echo "</tr>";
    echo "</table>";
    }
    while ( $row=mysql_fetch_row($result) );
    }
    ?>

  4. #4

    نقل قول: پیاده سازی جستجو در سایت

    سلام
    خیلی ساده میتونی تمام مقادیر را در query قرار بدی و نتیجه رو برگردونی. اگر میخوای مقدار خالی وارد نشه، میتونی با جاوااسکریپت فیلد قیمتها رو چک کنی.
    دستور sql مشابه زیر میشه:

    Select * From mahsoulat where asli=$asli and fari=$fari and name like '%$name%' and price between p1 and p2


    موفق باشی

  5. #5
    کاربر دائمی
    تاریخ عضویت
    آبان 1388
    محل زندگی
    مشهد
    سن
    36
    پست
    108

    نقل قول: پیاده سازی جستجو در سایت

    نقل قول نوشته شده توسط M.Rahi مشاهده تاپیک
    سلام
    خیلی ساده میتونی تمام مقادیر را در query قرار بدی و نتیجه رو برگردونی. اگر میخوای مقدار خالی وارد نشه، میتونی با جاوااسکریپت فیلد قیمتها رو چک کنی.
    دستور sql مشابه زیر میشه:

    Select * From mahsoulat where asli=$asli and fari=$fari and name like '%$name%' and price between p1 and p2

    موفق باشی
    ممنون . ولی من میخوام فیلد قیمتها خالی هم بتونه باشه . یعنی هم بتونه مقدار بگیره و هم نگیره . این رو باید چجوری پیاده سازی کنم ؟!

  6. #6
    کاربر دائمی آواتار irGeek
    تاریخ عضویت
    مرداد 1388
    محل زندگی
    eclipse
    پست
    123

    نقل قول: پیاده سازی جستجو در سایت

    یک روش اینکه در ان واحد دوتا query داشته باشین بعد با توجه به مقادیری که کاربر وارد میکنه انتخاب کنید که از کدوم استفاده کنید.

  7. #7
    کاربر دائمی
    تاریخ عضویت
    آبان 1388
    محل زندگی
    مشهد
    سن
    36
    پست
    108

    نقل قول: پیاده سازی جستجو در سایت

    با این حساب من یک همچین الگوریتمی به ذهنم میرسه . ببینید درسته یا خیر (متشکرم)؟


    $asli = $_post["asli"];
    $faree = $_post["faree"];
    $name = $_post["name"];
    $az = $_post["az"];
    $ta = $_POST["ta];
    if(!empty($name))
    select * from mahsool where name=$name and asli = $asli and faree=$faree
    else if (!empty(az) and (!empty(ta) and (!empty(name))) )
    select * from mahsool where name=name and price between az and ta and asli =$asli and faree = $faree

    حالا اگه دسته اصلی یا فرعی روی همه باشه چی؟ چطور باید بگم محصولات همه گروهها رو بگرد . باید از سوییچ استفاده کنم یا باز چند تا if دیگه . متشکرم

  8. #8
    کاربر دائمی
    تاریخ عضویت
    آبان 1388
    محل زندگی
    مشهد
    سن
    36
    پست
    108

    نقل قول: پیاده سازی جستجو در سایت

    ممنون میشم اگه یک راهنمایی کنید ...

  9. #9

    نقل قول: پیاده سازی جستجو در سایت

    واسه سرچ هایی که تعداد آپشن ها زیاده، باید یک فیلد را در اول دستور sql با مقدار قرار بدی (یعنی باید حتما مقدار داشته باشه)
    بعد برای فیلدهای دیگه کافیه چک کنی که اگه مقدارش خالی نبود، مثلا متغیر x مساوی با ( And field=value) بشه.
    حالا کافیه توی دستور sql ، بعد از where ، شرط اول که باید مقدار داشته باشه رو چک کنی و برای شرایط بعدی تنها نام متغیرها را بنویسی.
    اینجوری اولین شرط برقرار میشه و برای شرطهای بعدی اگر مقدار داشته باشه دستور And field=value قرار میگیره و اگر مقدار نداشته باشه، مقدار خالی در دستور sql قرار میگیره و انگار هیچ شرطی قید نکردید!
    موفق باشی

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

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