آژانس هواپیمایی
pop up

کمک - مشکل در سرچ از دیتابیس

شروع موضوع توسط body ‏1 ژانویه 2008 در انجمن PHP

  1. body

    body کاربر تازه وارد

    تاریخ عضویت:
    ‏5 سپتامبر 2007
    نوشته ها:
    13
    تشکر شده:
    0
    سلام
    آقا یه مشکلی تو سرچ کردن دارم
    یه تعداد اطلاعاتی در دیتا بیسم ثبت شده ، میخوام طبق درخواست هام لیست بشند.

    مثلا
    میخوام محصولاتی که تاریخ تولید آنها 2000 هست و در نام آنها کلمه تست وجود داره رو بیابه و لیست کنی .

    ولی مشکل من اینه که وقتی این دو فیلد رو میگردم اول اونایی که تاریخ تولیدشون 2000 هست میاره و بعد اونایی که توی اسمشون کلمه تست هست یعنی همه رو لیست میکنه ، حتی اونایی که تاریخ تولیدشون 2008 هست :(ولی تو اسمشون کلمه تست هست رو هم نشون میده .


    کسی میتونه کمکم کنه این مشکلم رفع بشه:blush:

    ممنون:happy:
     
  2. peymanafraz

    peymanafraz کاربر تازه وارد

    تاریخ عضویت:
    ‏28 دسامبر 2005
    نوشته ها:
    135
    تشکر شده:
    0
    محل سکونت:
    $strHome
    بجای or توی کوئریت از and استفاده کن.
     
  3. hossein_asp

    hossein_asp کاربر تازه وارد

    تاریخ عضویت:
    ‏31 مارس 2005
    نوشته ها:
    637
    تشکر شده:
    0
    محل سکونت:
    جایی که خدا نباشد
    ببین این کارتو راه میندازه.

    PHP:
    select *  from table 
    where Pdate
    ="2000" and name LIKE %"test"%
     
  4. body

    body کاربر تازه وارد

    تاریخ عضویت:
    ‏5 سپتامبر 2007
    نوشته ها:
    13
    تشکر شده:
    0
    سلام

    آقا شما میگین اینجوری بنویسم ؟

    PHP:

    $kind1 
    "name";


    if (
    $name <> "" AND $syear <> ""){
    $result mysql_query("SELECT * FROM tt WHERE $kind1 LIKE '%$name%' order by id DESC");



    اینجوری به مشکل بر خوردم .
    یه چک کنید نام تیبل و ... در فرمان بالا یه تداخل دارم .result بالا برا name کار میکنه سال رو جواب نمیده :(
    مرسی
     
  5. hossein_asp

    hossein_asp کاربر تازه وارد

    تاریخ عضویت:
    ‏31 مارس 2005
    نوشته ها:
    637
    تشکر شده:
    0
    محل سکونت:
    جایی که خدا نباشد
    چرا $kind1 ؟!!! نام فیلد رو متغییر دادی؟این شبیه اون بالایی که من دادمه!!!
     
  6. body

    body کاربر تازه وارد

    تاریخ عضویت:
    ‏5 سپتامبر 2007
    نوشته ها:
    13
    تشکر شده:
    0
    سلام
    آخه اینجا هم مشکله نمیدونم چیکار کنم چون هم فیلد name رو دارم و هم فیلد year نمیدونم چیکار کنم :(
     
  7. boxilink
  8. hossein_asp

    hossein_asp کاربر تازه وارد

    تاریخ عضویت:
    ‏31 مارس 2005
    نوشته ها:
    637
    تشکر شده:
    0
    محل سکونت:
    جایی که خدا نباشد
    شما دیدت برنامه نویست اشتباهه.فکر کنم با sql هم اساسی مشکل داری.

    PHP:
    select *  from table 
    where year
    ="2000" and name LIKE '%test%'  
    دستور بالا کارش اینه که سالهایی که برابر با 2000 هستند و در فیلد نامشون کلمه تست هست رو کوئری میگیره.
     
  9. body

    body کاربر تازه وارد

    تاریخ عضویت:
    ‏5 سپتامبر 2007
    نوشته ها:
    13
    تشکر شده:
    0
    سلام

    آقا hossein_asp ممنون از اینکه وقت برا ما میزاری ، ان درسته من کلی مشکل در sql دارم
    ولی تاریخ ثابت نیست چون فرمان از فیلد میگیره شاید 2000 باشه 1940 اونوقط چیکار کنم ؟:(
     
  10. hossein_asp

    hossein_asp کاربر تازه وارد

    تاریخ عضویت:
    ‏31 مارس 2005
    نوشته ها:
    637
    تشکر شده:
    0
    محل سکونت:
    جایی که خدا نباشد
    خواهش میکنم این حرفا چیه.خوب باشه اونوقت تو جستجو اون رکورد نمیاد.اینطور که من میبینم دیدت به دیتابیس کاملا اشتباه هست.
     
  11. sama_sally

    sama_sally Registered User

    تاریخ عضویت:
    ‏5 آپریل 2005
    نوشته ها:
    2,598
    تشکر شده:
    1
    محل سکونت:
    Essen, Deutschland
    PHP:
    SELECT FROM `tableWHERE `year` <= 2000 AND `nameLIKE '%test%'