PDA

View Full Version : کمک برای طراحی کامنت



hossein_rohollah
شنبه 09 بهمن 1389, 09:18 صبح
کمک برای طراحی کامنت


من می خوام تو سایتم یک بخش مثل وبلاگها باشد که در آن کامنت بگذارند و اونو تو صفحه اول سایت نشون بدهد
مرا راهنمایی کنید که این کامنت ها را چطوری باید گذاشت و باید چطوری آنها را ذخیره نگه داشت آیا باید یک فایل جدا نگه داریم یا ....

MMSHFE
شنبه 09 بهمن 1389, 09:53 صبح
با سلام، يك جدول براي كامنتها درست كنيد و حداقل فيلدهاي زير رو توي اون بگذاريد (اگه لازم بود، فيلدهاي ديگه رو طبق نيازتون اضافه كنيد) :
id از نوع int و كليد اصلي جدول
body از نوع متني دلخواه (با طول موردنظر)
mid از نوع int
حالا كافيه براي هر مطلب، موقعي كه لينك ارسال كامنت رو ميسازيد، آيدي مطلب رو هم ازطريق آدرس بفرستيد:


<A href="comment.php?id=<?PHP echo($id); ?>">ارسال كامنت</A>

و بعد موقع ذخيره كردن كامنت، توي فيلد mid مقدار ['GET['id_$ رو ذخيره كنيد.
موقع نمايش هم براي هر مطلب فقط كامنتهاي مرتبط با اون رو نمايش بدين:


$result=mysql_query("select * from `comments` where (`mid`='$id')");

اگه توضيح بيشتري خواستيد، در خدمتم.
موفق و مؤيد باشيد.

farhadfery
شنبه 09 بهمن 1389, 11:38 صبح
سلام. همینطور که دوستمان گفت عمل کن. من یک نمونه جدول را برای شما می گذارم.



$sql = ‘CREATE TABLE IF NOT EXISTS cms_articles (
article_id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
user_id INTEGER UNSIGNED NOT NULL,
is_published BOOLEAN NOT NULL DEFAULT FALSE,
submit_date DATETIME NOT NULL,
publish_date DATETIME,
title VARCHAR(255) NOT NULL,
article_text MEDIUMTEXT,
PRIMARY KEY (article_id),
FOREIGN KEY (user_id) REFERENCES cms_users(user_id),
INDEX (user_id, submit_date),
FULLTEXT INDEX (title, article_text)
)
ENGINE=MyISAM’;
mysql_query($sql, $db) or die(mysql_error($db));

جدول کامنت هم:


$sql = ‘CREATE TABLE IF NOT EXISTS cms_comments (
comment_id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
article_id INTEGER UNSIGNED NOT NULL,
comment_date DATETIME NOT NULL,
comment_text MEDIUMTEXT,
PRIMARY KEY (comment_id),
FOREIGN KEY (article_id) REFERENCES cms_articles(article_id),
FOREIGN KEY (user_id) REFERENCES cms_users(user_id)
)
ENGINE=MyISAM’;
mysql_query($sql, $db) or die(mysql_error($db));
البته به جدول کامنت می تونید فیلدهای دلخواهی اضافه کنید. مثلاً فیلد که کامنت پابلیش بشه. email و ip

Beginning PHP6, Apache, MySQL® Web Development
wrox