PDA

View Full Version : لینک به کلمات موجود در دیتابیس!!!



imankho
چهارشنبه 30 آبان 1386, 12:12 عصر
اگر در سایت ها علمی معتبر و یا همین دانشنامه ویکی پدیا رفته باشید حتما مشاهده کرده اید که برخی از لغاتی که در دانشنامه دارای اعتبار هستند به صورت لینک در آمده اند و با کلیک بر روی آن کلمه می توانید اطلاعات جامعی از آن کلمه را مشاهده کنید .
سوال :
اگر بخواهیم چنین کاری را در مورد دیتا بس خود انجام بدهیم چه چیزی نیاز هست؟

این رو هم بگم که می خواهم یک دانشنامه طراحی کنم و بکار برن این نکته خیلی ارزش کارم رو بالا می بره البته درمورد برنامه نویسی متوسط هستم و یک دیکشنری هم نوشته ام

لطفا اگه راهی است منو کمک کنید.

با تشکر ایمان

cybercoder
چهارشنبه 30 آبان 1386, 13:05 عصر
اگر بدنبال Ranking برای کلمات هستی هوش غیر طبیعی فکر کنم دارای خطاهای زیادی بشه. این بهتره هنگام ورود تعیین بشه.

imankho
چهارشنبه 30 آبان 1386, 16:59 عصر
میشه در مورد مطالبی که گفتین بیشتر توضیح بدین که این هوش غیر طبیعی چه سیستمی است و از کجا می تونم تهیه کنم .
با این توضیحی که شما دادین و مشکلات در زمان ورود چه راهی را پیشنهاد می کنید؟
آخه من دیتابیسی با چیزی حدود 1600 موضوع دارم که دیگه کار از کار گذشته!
یعنی هیچ راهی نیست؟

imankho
پنج شنبه 01 آذر 1386, 09:21 صبح
سروران گرامی!
لطفا منو راهنمایی کنید و اگه نشدنی است آب پاکی رو بریزید رو دستم تا یک فکری بکنم.


خواهشمندم یک نظری هم به ما بندازید.

tabib_m
پنج شنبه 01 آذر 1386, 18:51 عصر
باید از علامت گذاری استفاده کنی



I am [[Mohsen Haeri]], What is your name?

//or

I am [[Mohsen Haeri]http://www.site.com/file.php?page=Mohsen Haeri], What is your name?

مثلا عبارات فوق توی دیتابیس ثبت میشه و برای نمایش باید علامات موجود رو برداری و به جاش کد لینک بذاری...
امیدوارم کار با رشته ها (شاید هم آرایه ها) رو دیگه بلد باشه :)

موفق باشید.

imankho
یک شنبه 04 آذر 1386, 09:45 صبح
ممنون محسن جان
یعنی منظور شما اینه که من این کار رو برای تمام موجودی دیتا بیسم انجام بدم؟
مشکل من این است که اطلاعاتم ثبت شده ! اما حالا می خواهم چنین کاری رو انجام بدم شدنی است؟
اگه کدی بنویسم که قبل از چاپ شدن تمام کلماتی رو که از دیتابیس می خونه رو دوباره در دیتا بیس چک کنه از نظر منطقی مشکلی نداره و یا از نظر شما اساتید مشکل و یا نشدنی نیست ؟
این کار روی لود شدن صفحات چقدر تاثیر میزاره؟

hidensoft
یک شنبه 04 آذر 1386, 16:38 عصر
یه راه حل برای این موضوع هست . اونم استفاده از تابع ob_start هستش. من خودم تا حالا ازش برای این کار استفاده نکردم اما در منوال یه همچین مثالی زده شده .


<?php

function callback($buffer)
{
// replace all the apples with oranges
return (str_replace("apples", "oranges", $buffer));
}

ob_start("callback");

?>
<html>
<body>
<p>It's like comparing apples to oranges.</p>
</body>
</html>
<?php

ob_end_flush();

?>

The above example will output:

<html>
<body>
<p>It's like comparing oranges to oranges.</p>
</body>
</html>

tabib_m
یک شنبه 04 آذر 1386, 17:04 عصر
ه راه حل برای این موضوع هست . اونم استفاده از تابع ob_start هستش. من خودم تا حالا ازش برای این کار استفاده نکردم اما در منوال یه همچین مثالی زده شده .
تقریبا میشه گفت ربطی نداره. یعنی شاید بشه از این راه استفاده کرد، اما خیلی غیر معقوله و گردوندن لقمه دور سر هست...


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

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

و اما کار درست
اینه که یا 1- شما تک تک مطالب دیتابیس رو به صورتی دستی ویرایش کنی! (دقت کار بالا، اما زمانگیر!) یا 2- یک برنامه بنویسی که اتوماتیک عبارات دیتابیس رو ویرایش کنه و علامت گذاری کنه و از این به بعد هم دیتابیست رو با علامت گذاری پر کنی. (که دقت کار در این شیوه پایین تر هست و برخی از مشکلات بالا رو هم شامل میشه!)

imankho
دوشنبه 05 آذر 1386, 16:48 عصر
سلام
واقعا از شما دوستان متشکر هستم .
مخصوصا از آقا محسن با گفته ها شون که دیگه مسیر کارم رو مشخص کرد.
من فکر می کنم که را اول بهترین و مرغوب ترین راه باشه.
بازم ممنون

...ممنون....