PDA

View Full Version : جستجوی یک سطر از جدول



lady64
شنبه 23 اردیبهشت 1391, 09:06 صبح
سلام.نتیجه ی یک کوئری بصورت یک جدول paging شده بدست اومده. حالا میخوام یک سطر از این جدول رو جستجو کنم ( و بعنوان مثال اطلاعاتش ویرایش بشه) . این جستجو میخوام به این صورت باشه که وقتی نتیجه یافت شد ، سطر مورد نظر رنگی بشه .ممنون میشم دقیق راهنمایی کنید. چون اگه نیاز به ajax داره ، تو این زمینه کار نکردم.

djsaeedkhan
شنبه 23 اردیبهشت 1391, 11:03 صبح
سلام
من دقیقا متوجه نشدم شما چیکار می خوای بکنی
ولی اگر می خوای اطلاعات یک جدول رو تغییر بدی. بیا یه ستون آی دی بذار و لیینک بده به صفحه ویرایش

<a href=edit.php?id=111>لینک 111</a>
بعد به صفحه ویرایش رفتی اونو ویرایش کن
اگر می خوای که همه رو بخونی و اون سطری که می خوای رو هایلایت کنی. باید (به نظر من) همه اطلاعات رو که خوندی ، در شرط حلقه مقادیر کوری رو با اون مقدار جستجو مقایسه کنی.مثلا در داخل متنش دنباله کلمه خودت بگردی. و اگر پیدا شد بیای و استایل اون سطر رو عوض کنی

lady64
شنبه 23 اردیبهشت 1391, 14:48 عصر
ممنون . ولی من با ویرایش و جستجو کردن مشکلی ندارم . مسئله ی من اینه که فرض کنید اطلاعاتم 200 رکورد هست ، و حالا بصورت paging در هر صفحه 10 رکورد دارم . حالا دنبال یک رکوردی هستم تا مثلا اونو ویرایش کنم ، رکورد مورد نظر پس از جستجو مثلا بیست و دومین رکورد هست و در paging سه قرار میگیره .حالا چطور میشه به اون رکورد رجوع کرد.یعنی وقتی submit زده شده به سطر مربوطه پرش (واژه ی بهتر به ذهنم نرسید :لبخندساده:) کرد و سطر مربوطه hilght بشه.مسئله ی من hilght کردن نیست ،سوال چگونگی پرش به رکورد مورد نظر هست .
میخوام بدونم شماها از چه منطقی استفاده میکنید ؟

MMSHFE
شنبه 23 اردیبهشت 1391, 15:57 عصر
خوب دوست عزیز باید ببینید برحسب تعداد رکوردها در هر صفحه، مطلب در کدوم صفحه قرار میگیره و کاربر رو به همون صفحه Redirect کنید. مثلاً اگه رکورد 22 بود و توی هر صفحه 10 رکورد دارین، باید کاربر به صفحه 3 هدایت بشه. شما هم اون رو به آدرس زیر (مثلاً) میفرستین:

header('Location: articles.php?page=3');
موفق باشید.

lady64
شنبه 23 اردیبهشت 1391, 16:46 عصر
خوب دوست عزیز باید ببینید برحسب تعداد رکوردها در هر صفحه، مطلب در کدوم صفحه قرار میگیره و کاربر رو به همون صفحه Redirect کنید. مثلاً اگه رکورد 22 بود و توی هر صفحه 10 رکورد دارین، باید کاربر به صفحه 3 هدایت بشه. شما هم اون رو به آدرس زیر (مثلاً) میفرستین:

header('Location: articles.php?page=3');
موفق باشید.
درسته . من هم به همین فکر کردم ، ولی قبلش از کجا بدونم در کدوم page قرار میگیره که به اونجا هدایت بشه ؟این محاسبه رو نمیدونم چطور قبلش انجام بدم ؟
اینکه بخوام اول جستجو کنم ، بعد بگردم در کدوم page و کدوم رکورد هست و بعد به اونجا redirect بشه ،خیلی پیچیده میشه.اصلا راهش همینه؟شما هم برای جستجوهاتون همین منطق رو بکار میبرید؟

MMSHFE
شنبه 23 اردیبهشت 1391, 19:45 عصر
خوب دوست عزیز، کافیه شما این کار رو انجام بدین:

$page = ceil($id / $items_per_page);
تا به شما بگه که توی کدوم صفحه هستین. درواقع شماره id مطلب یافت شده رو بر تعداد عناصر تقسیم میکنید و حد بالای اون رو (مثلاً اگه حاصل بشه 2.3، حد بالاش میشه 3) بعنوان صفحه جاری درنظر میگیرین و کاربر رو به اون صفحه هدایت میکنید. موفق باشید.

lady64
شنبه 23 اردیبهشت 1391, 23:37 عصر
ممنونم .ولی اگه منظور از id ، همونی هست که در جدول ذخیره شده در صورتی جواب میده که از جدول چیزی حذف نشده باشه ، من ممکنه 200 رکورد داشته باشم ، ولی رکورد 200 ام من ،آیدیش 6000 باشه .200/6000 . جواب : 30 . در صورتی که من فقط 20 صفحه دارم.:متفکر:
البته میشه یه شمارنده بنام ردیف بزارم ، اما یه مشکلی که دارم اینه که شمارنده در هر صفحه دوباره از یک شروع میشه.من از فایلی که تو همین تالار هست برای paging استفاده میکنم ، اگه راهی که میگم درسته ممنون میشم بگید این کد رو چکار کنم تا شماره ردیف در صفحات بعد ، دنباله ی قبلی باشند ؟ چند بار امتحان کردم نشد.

djsaeedkhan
شنبه 23 اردیبهشت 1391, 23:48 عصر
سلام
اگر می خوای که همه رو بخونی و اون سطری که می خوای رو هایلایت کنی. باید (به نظر من) همه اطلاعات رو که خوندی ، در شرط حلقه مقادیر کوری رو با اون مقدار جستجو مقایسه کنی.مثلا در داخل متنش دنباله کلمه خودت بگردی. و اگر پیدا شد بیای و استایل اون سطر رو عوض کنی

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

lady64
یک شنبه 24 اردیبهشت 1391, 08:55 صبح
خوب با این روش که شاید بیشتر بتونی استفاده کنی.
یا شما بیا از جی کوری استفاده کن که به محض شروع جستجو مشخصات رو فیلتر کنه و در نهایت سطر های مورد نظر در خروجی نمایش داده بشه
یا اینکه بیا با روش بالایی که گفتم مشخصات سطر هایی که مورد نظرت هست رو پیدا کن. حالا هر کاریش خواستی بکن. نمایش بده. فقط برا اینا لیتک بزار. یا همینا رو فقط نشون بده و ...

ممنونم. خب من همیشه همین کار رو میکردم . جستجو و نمایش اطلاعات فیلتر شده. اما این مد نظرم نیست .
ولی اینکه میگید به محض جستجو اطلاعات فیلتر بشن (یعنی بدون submit ؟) رو دوست دارم ولی کار نکردم.اگه وقت داشتید نمونه کد جی کوئری رو هم بزارید.

djsaeedkhan
یک شنبه 24 اردیبهشت 1391, 09:00 صبح
سلام
اینارو ببین
http://www.google.com/#hl=fa&q=php%2Bajax+search&oq=php%2Bajax+search&aq=f&aqi=&aql=&gs_l=serp.3...24468.29258.0.29906.0.0.0.0.0.0.0.0. .0.0...0.0.C5BVBJ_ngCY&bav=on.2,or.r_gc.r_pw.,cf.osb&fp=ff7731f5e8a411c7&biw=1366&bih=646

http://www.99points.info/2010/06/ajax-tutorial-how-to-create-ajax-search-using-php-jquery-and-mysql/
http://www.w3schools.com/php/php_ajax_livesearch.asp
http://en.saturngod.net/blogpost/ajax-search-when-textbox-change-jquery-php

lady64
سه شنبه 26 اردیبهشت 1391, 09:50 صبح
ممنون.روش jquery رو هم امتحان میکنم . با اینحال میخوام جواب سوال قسمت 7 رو بدونم.ممنون میشم یکی این تاپیک رو تکمیل کنه