PDA

View Full Version : کوئری جستجوی فارسی (دریافت متغیر از طریق متد GET)



Mohajerx
شنبه 17 آذر 1386, 18:57 عصر
با سلام
من الان این کوئری رو برای نمونه دارم :
از طریق متد GET میخوام از متغیری که میگیرم
کوئری بگیرم اما نمیشه چون کاراکترهاش تبدیل میشه.

مثلا الان سلام ارسال میشه که از دیتابیس
در مورد سلام جستجویی انجام بشه اما تبدیل میشه به
http://localhost/w.php?id=%D3%E1%C7%E3
و هیچ نتیجه ای در بر نداره در صورتی که مثلا در چندین بخش
در فیلدهای مورد نظر سلام قرار داده شده. حالا کافی همین
کلمه به انگلیسی باشه انجام میشه.

به چه صورت میشه این مورد رو حل کرد؟

Mohajerx
شنبه 17 آذر 1386, 20:21 عصر
همچنین کلیشن فیلدها utf8_persian_ci هست و موقع ارتباط هم کوئری SET NAMES SET utf8 اجرا میشود.

oxygenws
یک شنبه 18 آذر 1386, 20:08 عصر
حمید جان ربطی نداره. لطفا اگه جواب سوالی رو نمی دونی نده.
روش ارسال پارامتر هات مشکلی ندارند.
برنامهء PHP ات مشکل داره، دقیقا کدت و ساختار جداولت رو اینجا بذار تا بشه بررسی کرد.

oxygenws
یک شنبه 18 آذر 1386, 22:26 عصر
هیچ ربطی نداره. :)

kheybar
یک شنبه 09 دی 1386, 17:11 عصر
دوست عزیز من راه حل های بالا را تست نکردم ولی یک راه حل بسیار منطقی برایت سراق دارم.
شما برای اینکه اولا در آردس بار چیزی نوشته نشه که من خودم اصلا خوشم نمیاد و دوما مطالب به هم نریزه می تونی از این روش استفاده کنی.
1 - فرمی در پایین صفحه ایجاد کنی و یک فیلد مخفی در آن قرار بدی.
2 - یک فانکش جاوا بنویسی که کارش گرفتن یک مقدار ور قرار دادن آن در این فیلد مخفی است.
3 - تکس باکسی در صفحه بنویسی که کاربر کلمه مورد نظر خود برای جستجو را در آن بنویسد. ( البته اگر قرار است کاربر چیزی بنویسد)
4 - وقتی روی دکمه یا کلمه جستجو یا هر چیز دیگر که برای جستجو قرار دارد کلیک می شود باید به ان دستور بدی که متن نوشته شده توسط کاربر را از تکست باکس گرفته و آن را در آن فیلد مخفی بنویسد . بعد فرم را سابمیت کند.
در این روش مقادیر ارسال شده به صورت Post ارسال میشود که بسیار مفید است.
اولا کاربر دیگر آن را نمیبیند.
دوما فرمت نوشتاری آن به هم نمیخورد.
سوما وقتی شما مطلب را در آدرس بار ارسال می کنی ، کاربر می تواند با دست کاری آدرس بار عمل جستجو را مجددا اجرا کند و اگر کمی کد نویسی بداند باعث اختلال در کار سایت شود.
به هر حال این یک روش کلی است اگر به دردت خورد استفاده کن.
در صورتی که با نحوه اجرای این روش نیز مشکل داشتی من در خدمت هستم.

amirhosein
دوشنبه 17 دی 1386, 21:54 عصر
ارسال مقادیر با رشته تقاضا کارتو راه نمیندازه؟
REQUEST_ رو توی HELP پی اچ پی جستجو کن.

proSPY
پنج شنبه 22 مهر 1389, 08:11 صبح
با سلام
من الان این کوئری رو برای نمونه دارم :
از طریق متد GET میخوام از متغیری که میگیرم
کوئری بگیرم اما نمیشه چون کاراکترهاش تبدیل میشه.

مثلا الان سلام ارسال میشه که از دیتابیس
در مورد سلام جستجویی انجام بشه اما تبدیل میشه به
http://localhost/w.php?id=%D3%E1%C7%E3
و هیچ نتیجه ای در بر نداره در صورتی که مثلا در چندین بخش
در فیلدهای مورد نظر سلام قرار داده شده. حالا کافی همین
کلمه به انگلیسی باشه انجام میشه.

به چه صورت میشه این مورد رو حل کرد؟


اطلاعات بانک رو بصورت دستی وارد میکنی یا از طریق فرم html ؟

xoogle.ir
پنج شنبه 22 مهر 1389, 11:34 صبح
کاش قبل از ارسال جواب ، تاریخ پست رو هم یه نگاهی مینداختید :اشتباه:
این تاپیک مال 3 سال پیشه (!!!) ایشون قطعا تا حالا جواب گرفتن.