مشکل با موضوع بندی مطالب در php???

deamondisk

Member
با سلام دوستان:rose:
من یه سایت با php دارم مینویسم ولی برای نمایش مطالب با موضوعات جدا مشکل پیدا کردم
به اینصورت که:

در جدول پستها
یه فیلد به نام subject گذاشتم که آی دی موضوع مورد نظر رو در خودش ذخیره میکنه

و توی جدول موضوعات هم
subid
subtitle
subimage
رو قرار دادم
برای نمایش مطالب در صفحه اصلی سایت از کیوری

PHP:
SELECT posts.title, posts.body, posts.exbody, posts.`time`, posts.`date`, posts.sentby, posts.subject, posts.id, subjects.subimage, posts.`counter`
FROM posts, subjects
WHERE posts.subject = subjects.subid
ORDER BY id DESC

استفاده کردم که درست کار میکنه :rose:
حالا بغل سایت آرشیو موضوعی گذاشتم که روی هر کدوم کلیک بشه آی دی اون موضوع رو به صفحه catagory
میفرسته
لینکش اینجوریه
PHP:
category.php? subid=<?php echo $row_subject['subid']; ?>

برای نمایش مطالب در صفحه catagory از این این کیوری استفاده کردم

PHP:
SELECT posts.title, posts.body, posts.exbody, posts.`time`, posts.`date`, posts.sentby, posts.subject, posts.id, subjects.subimage
FROM posts, subjects
WHERE posts.subject = colname

که colname مقدار آی دی که از صفحه قبل فرستاده شده رو در خود ذخیره کرده

حالا مشکل انجاست که به جای اینکه به جای اینکه یه مطلب رو یک بار نشون بده به تعداد موضوعات کل سایت اون مطلب رو تکرار میکنه :sad: ؟؟ مشکلم چیه ؟؟
( حتی اگه بجای colname یه عدد بزارم هم همین مشکل رو دارم)

اینم سایت : www.soft.iroonionline.com
که بهتر متوجه بشین
 
آخرین ویرایش:

Allahparast

Member
سلام . شما یک جدول posts بساز با فیلدهای که می خوای + یک فیلد به نام Cate_id و جدول موضوعات رو هم بساز بعد زمان ارسال پست ایدی موضوع رو در Cate_id بریز .
بعد برای سلکت موضوع :
PHP:
Select * from `posts` where `Cate_id`='{$_GET['subid']}'
شما وقتی به همه فیلدهات احتیاج دارید چرا اینکار رو می کنید :
SELECT posts.title, posts.body, posts.exbody, posts.`time`, posts.`date`, posts.sentby, posts.subject, posts.id, subjects.subimage
FROM posts, subjects
WHERE posts.subject = colname
این اس کیو ال شرطی برای زمانی هست که شما بعضی از فیلدهای که می خواین رکوردهاش رو بکشید

موفق باشید
 

deamondisk

Member
دوست من دقیفا همون کار رو کردم و تا اونجا مشکلی نیست :rose:
مشکل اینجاست که تا زمانیکه اس کیو ال من
PHP:
SELECT *
FROM posts
WHERE subject = colname
ORDER BY id DESC

اینجوری هستش درسته ولی چون من فیلدهای
subtitle
subimage
هم از جدول موضوعاتم نیاز دارم زمانیکه مجبور شدم اینجوری باشه
PHP:
SELECT *
FROM posts, subjects
WHERE subject = colname
ORDER BY id DESC
که اینجا به تعداد موضوع یک مطلب رو تکرار میکنه دوباره مطلب بعد و تکرار میکنه و ....

گیر کردم نمیدونم چیکارش کنم:sad:
 
آخرین ویرایش:

Allahparast

Member
شما دارید لغمه رو دور سرتون می چرخونید تا اونجایی هم که من اطلاع دارم به این کوءری نمیشه دوتا جدولی که اطلاعاتش یکسان نیست رو به صورت ارتباطی fetch کرد و کشید بیرون . شما یک بار کوری بگیرید از ایدی موضوع مطلبتون بعد چون تمامی مطالب موضوعشون یکی هست دیگه نیاز نیست مای اس کیو ال رو درگیر کنید .
نمی دونم منظورم رو متوجه شدید یا خیر.
 

deamondisk

Member
سلام دوست عزیز :)
من به دلیل اینکه عکسها و تایتل موضوعات رو میخوام از یه جدول دیگه لاد کنم نیاز به این کار دارم چون اینجوری هر وقت موضوعی ویرایش بشه تمام مطالبی که اون موضوع رو دارن خود به خود موضوعاتشون تغییرات لازم رو میکنه

مشکلم اینجوری حل شد
PHP:
SELECT p.*, s.*
FROM posts p
LEFT JOIN  subjects s On p.subject = s.subid 
WHERE p.subject = colname
ORDER BY id DESC
از همتون ممنونم دوستان :wink: موفق باشین دوستای خوبم
 

جدیدترین ارسال ها

بالا